pare de fazer ágil e seja ágil - enucomp 2013
DESCRIPTION
O mundo hoje é repleto de sistemas: a tecnologia está bem difundida em muitos setores, produtos e serviços. Hoje desenvolvimento de software é quase uma commodity: sempre há um João na esquina que promete entregar software. Métodos ágeis surgiram para ajudar times e organizações a entregarem software mais rápido e com maior qualidade em um mercado extremamente competitivo e turbulento. No entanto, não basta usarmos práticas e tecnologias do mundo ágil para termos sucesso. É preciso *ser* ágil, abraçar valores e princípios. Neste bate-papo vou compartilhar um pouco da minha experiência sobre agilidade e dar dicas que podem ajudar os futuros profissionais de tecnologia a se posicionarem frente aos desafios atuais e serem, de fato, ágeis.TRANSCRIPT
© 2013
Desenvolvimento de software: pare de fazer ágil e seja ágil Enucomp Claudia Melo
November 2013
© 2013 2
Diretora de Tecnologia, ThoughtWorks Brasil
Ph.D. em Ciência da Computação, IME-USP
15 anos em desenvolvimento de software
(profissionalmente)
10 anos em ensino
© 2013 3
© 2013 4
© 2013 5
© 2013 6
© 2013 7
© 2013
Métodos ágeis
© 2013
Agile is… • Adaptive
• Evolutionary
• Collaborative
• Just-in-time
• Start with a plan
© 2013
What Flavor of Agile? • Scrum
• Crystal Clear
• Extreme Programming (XP)
• Adaptive Software Development
• Feature Driven Development
• Dynamic Systems Development Method (DSDM)
• Lean Software Development
© 2013
Scrum • Primarily a project management method
• Project planning
• Release planning
• User Stories
• Daily stand-up
• Story points
• Velocity
© 2013
Extreme Programming (XP)
• Primarily a developer-centric approach
• Test Driven Development (TDD)
• Unit tests
• Pairing
• Continuous Integration (CI)
• Refactoring
© 2013
Crystal Clear • Focuses on people, not methods or
artifacts
• Teams of 6 to 8
• Co-location
• Reflective improvement
• Team safety
© 2013
Lean Software Development
• Optimize the whole
• Eliminate waste
• Build quality in
• Learn constantly
• Deliver fast
• Engage everybody
• Keep getting better
© 2013
The flow
Story backlog
Prioritized subset prepared for
Iteration Kick-off
Iteration Kick-Off (IKO) Showcase
Daily���stand-up
Working���software
© 2013
Agile Project Team
Team Composition
Product Owner Architect Tech Lead
Developer
Tester
IM
Business Analyst
UX Designer
Project Owner / Sponsor
Database Administrator
Infrastructure Delivery Mgr.
Operations, Integration & Support
Program Manager
Core Team
Security Architect
Other Business Representatives
Extended Team
Coach
Project Stakeholder Board PM
Architects, Process Specialists and SMEs
© 2013
Daily Stand-Up
© 2013
Team Room: Open Conversations
© 2013
Information Radiators
0
50
100
150
200
250
1 2 3 4 5 6 7 8 9 10
Scope
Done
© 2013
Showcases
© 2013 http://www.thekua.com/rant/wp-content/uploads/2006/03/StarTechnique.gif
“…a well-run retrospective can help members of a community
understand the need for improvement, and motivate them
to change how they go about their work.”
Norm Kerth
“Whether you are using Agile methods or more tradi4onal
incremental or itera4ve development, your team has an opportunity to
reflect at the end of every increment and iden4fy changes and
improvements that will increase the quality of the product and the work
life of team members.” Esther Derby and Diana Larsen
Retrospectives
© 2013
Stories Unique #: Title:
Description: As a I want to So that
Estimate:
Assumptions:
© 2013
Basic Engineering Practices
• Unit Testing and Test Driven Development
• Pair Programming
• Smells
• Refactoring
• Generalization and Specialization
• Continuous Integration
© 2013
Effective Engineering Practices
idea code checkin QA release build test UAT
emergent design
continuous integration
deployment practices
build practices
config mgmt
testing practices
zero downtime releases
infrastructure as code
Continuous Delivery
© 2013
How we focus on quality I automate the
application of quality metrics against the
codebase
I insist on being involved early in the project to ensure infrastructure
requirements are captured
I make myself available frequently to see work in
progress development
I don’t write a line of production code without
an automated test around it
I validate my design with working code, not pretty
pictures
I work with team members to catch defects
early, or prevent them happening at all
I ensure acceptance criteria are created for all
stories
I make sure resources are being used to address the most pressing issues for
the team
Core Team
Iteration Manager Tech
lead
Infra. Lead
Bus. SME
Software Engineer
Architect
Tester
Business Analyst
© 2013 28 http://agilitrix.com/wp-content/uploads/2013/05/Benefit-of-Practices-vs-Culture.png
© 2013 29
Começando sua jornada para SER
ágil [ ]
© 2013 30
© 2013 31
© 2013 32
© 2013 33
© 2013 34
© 2013 35
© 2013 36
© 2013 37
© 2013 38
© 2013 39
© 2013 40
© 2013 41
O que realmente você precisa saber sobre nós...
Uma breve introdução à nossa empresa
© 2013 42
#Missão
© 2013 43
Thoughtworks em números 2500
Funcionários
29 escritórios no mundo
5 Clientes locais no Brasil
12 Países
4 escritórios na América Latina
U$260m Receita
© 2013
Como nossos clientes definem os desafios que os ajudamos a resolver: " Estratégicos
" Revolucionários
" Inovadores
" Geradores de crescimento e receita
" Tecnologias complexas
Missões ambiciosas exigem IDEIAS DISRUPTIVAS
44
© 2013 45
Nossos clientes pensam
GRANDE
© 2013 46
Sempre REFLETINDO
Estamos focados em ajudar nosso setor a melhorar e acreditamos em compartilhar o que aprendemos. Fazemos isso escrevendo livros, blogando, organizando eventos,
falando em conferências e advogando em favor do desenvolvimento Open Source. } {
© 2013 47
#POA
© 2013 48
#Outras estatísticas
#SP
© 2013
#Recife
49