Agilidade - foco no
conhecimento
por Yóris Linhares

yoris.linhares@gmail.com

br.linkedin.com/in/yorisls
Era uma vez em um reino distante
onde acontecia o desenvolvimento
de um software...
Todas as necessidades do
cliente eram conhecidas no
início do desenvolvimento

A equipe de desenvolvimento
sabia exatamente como
construir a solução

As tecnologias eram de
domínio da equipe
Os membros da equipe
conheciam, no mínimo, um pouco
sobre cada código de cada
funcionalidade desenvolvida

Todas as integrações
eram conhecidas e
estavam resolvidas
Os membros da equipe de
desenvolvimento tinham o
mesmo nível de experiência
Cada desenvolvedor
trabalhava para deixar o
código mais simples e fácil
de entender

A entrega era conforme o
tempo e o custo
previamente conhecidos
Complexidade

Experimentar, Entender, Responder

Agir, Entender, Responder

Entender, Analisar, Responder

Entender, Categorizar, Responder
Conhecimento
prescritivo
Padrões de Projeto, Gestão de produto,
Técnicas de estimativa, JBoss , Eclipse,
JEE, HTML5, Inglês Avançado, Oracle.

Conhecimento
emergente
Padrões de Projeto +, Gestão de
produto , Técnicas de estimativa, Jboss
+ , Eclipse +, JEE +, Oracle +, PHP,
CSS, Recuperação de Crédito,
Sistemas Distribuídos, GTA 5.
Conhecimento emergente

Constrói algumas
funcionalidades

Iteração curta

feedback

Constrói algumas
funcionalidades

feedback

O software cresce
incrementalmente

Constrói algumas
funcionalidades
Melhorar a comunicação e
compartilhar o que sabem

Facilitar o
compartilhamento do
conhecimento

Compartilhar o
conhecimento sobre o
código com a equipe

Encorajar interações
com o cliente para
conhecer o negócio

Compartilhar
conhecimento sobre
o código

Validar o incremento
contra os requisitos
para conhecer as
diferenças

Compartilhar
conhecimento sobre
soluções

Facilitar o
compartilhamento do
conhecimento
Promover a compreensão
e conhecimento sobre o
sistema
Conhecer por meio do
feedback constante

Conhecer o próprio
processo de decisão e
disseminar o
conhecimento sobre o
que será feito
Perda de informação nos estágios de
desenvolvimento

Fonte – Chau e Maurer (2003)
Papéis multidiciplinares das pessoas –
especialistas generalistas
Documentação suficiente e
compartilhamento do conhecimento com
comunicação face a face
Foco no conhecimento
• Selecione uma forma de representar o sistema
ou solução que permita obter mais
conhecimento -> software funcionando tende
a gerar melhor conhecimento mais
rapidamente
• Tenha ciclos curtos e frequentes de
aprendizagem -> desenvolvimento iterativo e
incremental com entregas contínuas.
Foco no conhecimento
• Uma organização sabe que é preciso melhorar
constantemente o processo de
desenvolvimento que está em curso porque
em um ambiente complexo sempre haverá
problemas. Toda anormalidade deve disparar
uma procura pela causa raiz, experimentos
para encontrar a melhor forma para remediar
o problema e evitar que resurja -> busca do
conhecimento.
Foco no conhecimento
• Empresas que apresentam uma longa
excelência no desenvolvimento de software
compartilham um traço em comum: elas
geram novos conhecimentos por meio de
experimentação disciplinada e compartilham
o conhecimento (codificado ou que existe na
cabeça das pessoas – tácito) concisamente
para fazê-lo acessível para toda a organização.
Lean Startup

Kanban

XP
Ciclo de aprendizagem e conhecimento
Experimentar

Entender /
Conhecer

Responder
Referências bibliográficas
Chau, Thomas. Maurer, Frank. Knowledge Sharing in Agile Software Teams. Published in: Enabling
Technologies: Infrastructure for Collaborative Enterprises. IEEE International Workshops, 2003.
Dorairaj, Siva ; Noble, J. ; Malik, P. School of Eng. & Comput. Sci., Victoria Univ. of Wellington,
Wellington, New Zealand. Managing Knowledge in Agile Software Development with Distributed
Teams. Published in: Agile Conference (AGILE), 2012.
Kurtz, Cynthia F. Snowden, David J. The New Dynamics of Strategy sense-making in a complexcomplicated world. IBM Systems Journal Fall 2003.
Markus, Ole. Knowledge-sharing and software development. September 1st, 2010.
https://barelysufficient.org/2010/07/managing-knowledge-in-an-organisation/. Acesso em:
15/05/2013.
Poppendieck, Mary. Poppendieck, Tom. Lean Software Development: An Agile Toolkit, AddisonWesley, 2003.
Poppendieck, Mary. Poppendieck, Tom. Implementing Lean Software Development From Concept to
Cash. Addison Wesley Professional, 2006
Silva, Marcelo Soares Da. Dergint, Dario Amaral. Carvalho, Hélio Gomes de. Strauhs, Faimara Do
Rocio. Elementos da Gestão do Conhecimento Verificados em Práticas de Extreme Programming:
Potencialidades em Equipes de Desenvolvimento de Software. Publicado em: XI Seminario latinoiberoamericano de Gestion tecnologica - Salvador, Brasil. ALTEC 2005.

Agilidade foco no conhecimento

  • 1.
    Agilidade - focono conhecimento por Yóris Linhares yoris.linhares@gmail.com br.linkedin.com/in/yorisls
  • 2.
    Era uma vezem um reino distante onde acontecia o desenvolvimento de um software... Todas as necessidades do cliente eram conhecidas no início do desenvolvimento A equipe de desenvolvimento sabia exatamente como construir a solução As tecnologias eram de domínio da equipe Os membros da equipe conheciam, no mínimo, um pouco sobre cada código de cada funcionalidade desenvolvida Todas as integrações eram conhecidas e estavam resolvidas Os membros da equipe de desenvolvimento tinham o mesmo nível de experiência Cada desenvolvedor trabalhava para deixar o código mais simples e fácil de entender A entrega era conforme o tempo e o custo previamente conhecidos
  • 3.
    Complexidade Experimentar, Entender, Responder Agir,Entender, Responder Entender, Analisar, Responder Entender, Categorizar, Responder
  • 4.
    Conhecimento prescritivo Padrões de Projeto,Gestão de produto, Técnicas de estimativa, JBoss , Eclipse, JEE, HTML5, Inglês Avançado, Oracle. Conhecimento emergente Padrões de Projeto +, Gestão de produto , Técnicas de estimativa, Jboss + , Eclipse +, JEE +, Oracle +, PHP, CSS, Recuperação de Crédito, Sistemas Distribuídos, GTA 5.
  • 5.
    Conhecimento emergente Constrói algumas funcionalidades Iteraçãocurta feedback Constrói algumas funcionalidades feedback O software cresce incrementalmente Constrói algumas funcionalidades
  • 6.
    Melhorar a comunicaçãoe compartilhar o que sabem Facilitar o compartilhamento do conhecimento Compartilhar o conhecimento sobre o código com a equipe Encorajar interações com o cliente para conhecer o negócio Compartilhar conhecimento sobre o código Validar o incremento contra os requisitos para conhecer as diferenças Compartilhar conhecimento sobre soluções Facilitar o compartilhamento do conhecimento Promover a compreensão e conhecimento sobre o sistema Conhecer por meio do feedback constante Conhecer o próprio processo de decisão e disseminar o conhecimento sobre o que será feito
  • 7.
    Perda de informaçãonos estágios de desenvolvimento Fonte – Chau e Maurer (2003)
  • 8.
    Papéis multidiciplinares daspessoas – especialistas generalistas
  • 9.
    Documentação suficiente e compartilhamentodo conhecimento com comunicação face a face
  • 10.
    Foco no conhecimento •Selecione uma forma de representar o sistema ou solução que permita obter mais conhecimento -> software funcionando tende a gerar melhor conhecimento mais rapidamente • Tenha ciclos curtos e frequentes de aprendizagem -> desenvolvimento iterativo e incremental com entregas contínuas.
  • 11.
    Foco no conhecimento •Uma organização sabe que é preciso melhorar constantemente o processo de desenvolvimento que está em curso porque em um ambiente complexo sempre haverá problemas. Toda anormalidade deve disparar uma procura pela causa raiz, experimentos para encontrar a melhor forma para remediar o problema e evitar que resurja -> busca do conhecimento.
  • 12.
    Foco no conhecimento •Empresas que apresentam uma longa excelência no desenvolvimento de software compartilham um traço em comum: elas geram novos conhecimentos por meio de experimentação disciplinada e compartilham o conhecimento (codificado ou que existe na cabeça das pessoas – tácito) concisamente para fazê-lo acessível para toda a organização.
  • 13.
  • 14.
    Ciclo de aprendizageme conhecimento Experimentar Entender / Conhecer Responder
  • 15.
    Referências bibliográficas Chau, Thomas.Maurer, Frank. Knowledge Sharing in Agile Software Teams. Published in: Enabling Technologies: Infrastructure for Collaborative Enterprises. IEEE International Workshops, 2003. Dorairaj, Siva ; Noble, J. ; Malik, P. School of Eng. & Comput. Sci., Victoria Univ. of Wellington, Wellington, New Zealand. Managing Knowledge in Agile Software Development with Distributed Teams. Published in: Agile Conference (AGILE), 2012. Kurtz, Cynthia F. Snowden, David J. The New Dynamics of Strategy sense-making in a complexcomplicated world. IBM Systems Journal Fall 2003. Markus, Ole. Knowledge-sharing and software development. September 1st, 2010. https://barelysufficient.org/2010/07/managing-knowledge-in-an-organisation/. Acesso em: 15/05/2013. Poppendieck, Mary. Poppendieck, Tom. Lean Software Development: An Agile Toolkit, AddisonWesley, 2003. Poppendieck, Mary. Poppendieck, Tom. Implementing Lean Software Development From Concept to Cash. Addison Wesley Professional, 2006 Silva, Marcelo Soares Da. Dergint, Dario Amaral. Carvalho, Hélio Gomes de. Strauhs, Faimara Do Rocio. Elementos da Gestão do Conhecimento Verificados em Práticas de Extreme Programming: Potencialidades em Equipes de Desenvolvimento de Software. Publicado em: XI Seminario latinoiberoamericano de Gestion tecnologica - Salvador, Brasil. ALTEC 2005.