Post on 21-Jun-2015
description
Agilidade - foco no conhecimento
por Yóris Linhares
yoris.linhares@gmail.com
br.linkedin.com/in/yorisls
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
Todas as integrações eram conhecidas e estavam resolvidas
Os membros da equipe de desenvolvimento tinham o
mesmo nível de experiência
A entrega era conforme o tempo e o custo
previamente conhecidos
Cada desenvolvedor trabalhava para deixar o
código mais simples e fácil de entender
Os membros da equipe conheciam, no mínimo, um pouco
sobre cada código de cada funcionalidade desenvolvida
Era uma vez em um reino distante
onde acontecia o desenvolvimento
de um software...
Complexidade
Entender, Categorizar, Responder
Entender, Analisar, Responder Experimentar, Entender, Responder
Agir, Entender, 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.
Constrói algumas funcionalidades
Constrói algumas funcionalidades
Constrói algumas funcionalidades
Conhecimento emergente
O software cresce incrementalmente
feedback feedback
Iteração curta
Melhorar a comunicação e
compartilhar o que sabem
Compartilhar o
conhecimento sobre o
código com a equipe
Facilitar o
compartilhamento do
conhecimento
Encorajar interações
com o cliente para
conhecer o negócio
Validar o incremento
contra os requisitos
para conhecer as
diferenças
Compartilhar
conhecimento sobre
o código
Facilitar o
compartilhamento do
conhecimento
Compartilhar
conhecimento sobre
soluções
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.
Kanban
XP
Lean Startup
Ciclo de aprendizagem e conhecimento
Experimentar
Responder
Entender / Conhecer
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 complex-complicated 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, Addison-Wesley, 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 latino-iberoamericano de Gestion tecnologica - Salvador, Brasil. ALTEC 2005.