“como escalar práticas Ágeis em equipes de desenvolvimento médias e grandes”

38
® IBM Software Group © 2013 IBM Corporation Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes Andrea Rodacki [email protected] Siga-me no Twitter e LinkedIn (arodacki)

Upload: andrea-rodacki

Post on 11-May-2015

877 views

Category:

Technology


3 download

DESCRIPTION

Este é o material da palestra “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes” realizada no dia 11 de junho de 2013, na FESP em Curitiba. O objetivo foi fornecer uma visão da abordagem disciplinada para práticas ágeis: Disciplined Agile Delivery dentro de um contexto de técnicas de desenvolvimento ágil como Scrum e Lean, introduzindo o conceito de Agility@Scale© que prevê a adoção das práticas ágeis de uma forma escalável de acordo com as necessidades da organização.

TRANSCRIPT

Page 1: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

®

IBM Software Group

© 2013 IBM Corporation

Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes

Andrea Rodacki

[email protected]

Siga-me no Twitter e LinkedIn (arodacki)

Page 2: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

A Fábula dos Lenhadores

2

https://www.ibm.com/developerworks/community/blogs/rationalbrasil/entry/a_f_c3_a1bula_dos_lenhadores10?lang=em

Page 3: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Base do Desenvolvimento de Software

3

PessoasProcessos

Ferramentas

Page 4: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

What is agile?

Agile is a highly collaborative, evolutionary, quality focused

approach to software development.

Page 5: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet 5

Agile values

WorkingSoftwareWorkingSoftware

Individuals InteractionsIndividuals Interactions

CustomerCollaboration

CustomerCollaboration

Source: www.agilemanifesto.org

ComprehensiveDocumentationComprehensiveDocumentation

Processes and ToolsProcesses and Tools

Following a Plan

Following a Plan

ContractNegotiation

ContractNegotiation

overWe value

While there is value in the items on the right, we value the items on the left more.

Responding to Change

Responding to Change

Page 6: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Waterfall X Agile

6

Page 7: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Why Agile Rocks (1/2)

� Speed to market�Agile lets you get your concept to your users as quickly as possible. During every

sprint an agile project delivers something of value. At any point, you may determine you want to launch what has been delivered and start building a user base or testing your hypothesis.

� Flexible�Agile is based on accommodating change. Software projects consistently change. As a

product comes to life or the market expands, you should be able to react and update the product accordingly. Agile also realizes that great ideas are bound to come mid-project and being locked into a scope doesn’t let you take advantage of these realizations.

� Risk Management� Incremental releases means that the product can be used early in the process by

stakeholders and users. This lets you identify issues and feature deficits early in the process. Being adaptable to change means it isn’t a problem to change the scope midway through the project, something that would be impossible in a waterfall style project.

7

Page 8: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Why Agile Rocks (2/2)� Cost Control

�Unlike a fixed budget project, agile is flexible with regard to scope. More often than not, our clients realize features they originally requested are no longer necessary. This allows them to launch sooner and pay less. Agile isn’t about paying a lot with uncertainty, it’s about paying for only what you need. Need to stick within a budget? No problem! We can rearrange the product backlog so that critical new features are implemented at the expense of less important features, not your budget.

� Quality�Agile integrates testing throughout the process. Consistently delivering tested software

means higher overall quality and less time spent on QAing the full application.

� Right Product� Incremental releases let you test your product early and often. Even if you don’t release it

to the public, it’s much easier to locate flaws and things that can be improved when you have an actual product to play with vs a series of designs.

� Transparency�Agile lets you see, feel and use a project consistently throughout the project. You don’t

see things in compartmentalized silos; you see how things work together.

8

Page 9: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Os Diversos “Sabores” Ágeis

9

Page 10: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Agile Umbrella

10

LEAN

Agile Modeling (AM) OpenUP

Agile Data (AD)

Page 11: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet 11

Page 12: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Is it enough?

� It works for small, collocated teams, but does it work for bigger, geographically distributed teams?

� Does it work for outsourcing scenarios?

� Does it work in highly regulated or complex business domains (e.g., financial, medical, air traffic control, ..)?

� Does it work for enterprise aware organizations?

� Does it cover the entire delivery lifecycle?

12

Page 13: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet 13

Agile Scaling Model (ASM)

Core Agile Development� Focus is on construction� Goal is to develop a high-quality system in an evolutionary,

collaborative, and self-organizing manner� Value-driven lifecycle with regular production of working

software� Small, co-located team developing straightforward software

Disciplined Agile Delivery� Extends agile development to address full system lifecycle� Risk and value-driven lifecycle� Self organization within an appropriate governance

framework� Small, co-located team delivering a straightforward solution

Agility at Scale

� Disciplined agile delivery and one or more scaling factors applies

Page 14: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Agile Scaling Model (ASM) – simplified view

14

Core Agile Development

Disciplined Agile Delivery

Agility at Scale

Core Agile Development

� Value driven lifecycle

� Self organizing teams

� Focus on construction

Disciplined Agile Delivery

� Risk + value driven lifecycle

� Self organizing within appropriate governance framework

� Full delivery lifecycle

Agility at ScaleDAD when one or more scaling factors apply:

� Large team size

� Geographic distribution

� Regulatory compliance

� Domain complexity

� Organization distribution

� Technical complexity

� Organizational complexity

� Enterprise discipline

Page 15: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

What is disciplined agile delivery?

15

“The Disciplined Agile Delivery (DAD) process framework is a people-first, learning-orientedhybrid agile approach to IT solution delivery. It

has a risk-value life cycle, is goal-driven, and is enterprise aware.”

DAD is NOT prescriptive nor a “one sizefits all” approach

Page 16: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Agile e Lean

16

• Agile – Entregue VALOR– Uma abordagem que foca em entregar elementos de valor para o

cliente– Evite tudo que não traz valor– Descrença em planos detalhados logo no início do projeto

• Lean – Evite DESPERDÍCIO– Inicialmente, uma iniciativa gerencial para agilizar

a produção– Elimine todos os desperdícios– Inventário reduzido

http://www.rallydev.com/community/agile-blog/agile-and-lean-software-development---oxymoron

Page 17: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Disciplined Agile Delivery (DAD): A Hybrid Framework

Unified Process

(UP)

Extreme

Programming (XP)

ScrumAgile

Modeling

Disciplined Agile

Delivery (DAD)

DAD is a hybrid process framework adopt best practices

and philosophies from several methodologies

Page 18: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

DAD & AM, UP, AD� Agile Modeling (AM)

�DAD models its documentation practices after requirements envisioning, architecture envisioning, iteration modeling, continuous documentation, and just-in-time (JIT) model storming.

� Unified Process (UP)�DAD adopts several governance strategies from UP: having lightweight

milestones and explicit phases and focusing on the importance of proving out the architecture in the early iterations and reducing all types of risk early in the life cycle.

� Agile Data (AD) �DAD adopts several agile database practices from AD: database refactoring,

database test-in, and agile data modeling. It is also an important source of agile enterprise strategies, such as how agile teams can work effectively with enterprise architects and enterprise data administrators.

18

Page 19: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

DAD e Extreme Programming

19

DAD XP

Abordagem gerencial Técnicas de engenharia

Foco no ciclo de vida e nos objetivos

Foco nas práticas

Inclui princípios do XP(CI, refactoring, TDD, collective ownership)

Primeira abordagem ágil a ganhar espaço

Abrange todo o ciclo de vida Foco na construção

Page 20: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

DAD e Kanban

20

DAD Kanban

Agrega práticas de diversos processos ágeis

Poucos princípios/objetivos/práticas

Fala especificamente de governança

Depende de governança adequada a Kanban

Framework de processo específico para desenvolvimento de software

Abordagem evolutiva de melhoria de processos

Práticas definidas Kaizen

DAD adopts two critical concepts from Kanban: limiting work in progress and visualizing work.

Page 21: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

DAD e SCRUM

21

DAD Scrum

Ciclo de vida completo Focado em construção

Enterprise aware No vácuo

Arquitetura como mitigadora de riscos

Arquitetura emergente

Implantação evolutiva Implantação monolítica (mais ou menos...)

? Evangelistas revolucionários

Page 22: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

The Scrum construction lifecycle

Operate inProduction?

EnterpriseDisciplines?

ProjectSelection?

Page 23: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

The Disciplined Agile Delivery (DAD) life cycle

Operate inProduction

EnterpriseDisciplines

ProjectSelection

Page 24: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Agile Scaling Factors

� Checklist of issues that you should consider and will affect

significantly your project

� Not every project team faces all of these scaling factors, nor do

they face each scaling factor to the same extent

� These issues add complexity to your situation and you must find

strategies to overcome these challenges

Page 25: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Agile scaling factors

Domain Complexity

Straight-forward

Intricate,emerging

Compliance requirement

Low risk Critical,audited

Team size

Under 10developers

1000’s ofdevelopers

Co-located

Geographical distribution

Global

Enterprise discipline

Projectfocus

Enterprisefocus

Technical complexity

HomogenousHeterogeneous,

legacy

Organization distribution(outsourcing, partnerships)

Collaborative Contractual

Disciplined Agile

Delivery

Flexible Rigid

Organizational complexity

Page 26: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

How IBM saved $300 million by going agile

“Who Says Elephants Can’t Dance” is the title of former IBM CEO Lou Gerstner’s

book on IBM’s dramatic transformation in the 1990s.

Sure, everyone used to think of IBM as the “elephant” (large and powerful, but also

sluggish and slow) of the computing industry.

But as software gained a larger share of IBM’s focus, the business became much

more agile, capable of growing along with the expanding ecosystems of the Internet

and worldwide commerce.

I think the SWG move to agile methods makes a nice addendum to that ongoing

success story!

Gina Poole

VP of Marketing, IBM Rational

26ASSISTA O VIDEO EM http://bit.ly/IBM-agile-legendado

Page 27: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Esclarecendo alguns mitos sobre Ágil

27

� Equipes ágeis escrevem documentação

� Equipes ágeis fazem modelagem

� Equipes ágeis (e não só gerentes) planejam tanto quanto equipes tradicionais (just-in-time) ou mais

� Projetos ágeis são mais previsíveis do que projetos tradicionais

� Ágil escala

� Ágil não é moda, nem revolução do proletariado

� Ágil pode trabalhar com projetos de preço fixo

� Ágil está sendo usado “criativamente”

Page 28: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Conclusion

� There is more to agile than software development

� Disciplined Agile Delivery (DAD) is a hybrid process framework adopt context-driven practices and philosophies from several methodologies

�Full lifecycle

� Includes supporting practices

�Focused on solutions, not just software

�Self organizing with appropriate governance

� First step to scaling agile is to have a viable delivery process

Page 29: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

DAD - Disciplined Agile Delivery

� Released June 2012

� Discount code: IBM0135 for 35% off!

29

Page 30: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

� www.iset.srv.br/iset/curso_agil.html

� 80 horas (sábados: 9h às 12h e 13h às 18h)

� Início 3/ago - Fim 19/out

� Módulos:�O Desenvolvimento Ágil – 24 horas/aulas

�Desenvolvendo Software com IBM Rational Team Concert – 8 horas/aulas

� Iniciando um Projeto Ágil com IBM Rational Team Concert – 24 horas/aulas

�Simular um Projeto Ágil no IBM Rational Team Concert – 24 horas/aulas

� Material oficial IBM

� Prova de Certificação IBM/Prometric

"Test 53: Rational Team Concert V3"

incluída no valor do curso

CURSODESENVOLVIMENTO ÁGIL E COLABORATIVO COM CERTIFICAÇÃO IBM RATIONAL TEAM CONCERT

30

Page 31: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet 31

Siga-me no Twitter e LinkedIn (arodacki)

Page 32: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Referências (1/2)� Canal IBM Rational Brasil no YouTube bit.ly/RationalBrasil-YouTube

� Canal Plafaforma Jazz no YouTube bit.ly/PlataformaJazz-YouTube

� Blog da Rational Brasil - O Mundo depende de software ibm.co/blogRationalBrasil

� Grupo Rational Brasil no LinkedIn http://www.linkedin.com/groups/Rational-Brasil-3679473?trk=myg_ugrp_ovr

� Livro Agile for Dummies http://www-01.ibm.com/software/rational/agile/

� DAD – Discipline Agile Delivery�Pagina principal http://disciplinedagiledelivery.wordpress.com/introduction-to-dad/

�Blog https://www.ibm.com/developerworks/mydeveloperworks/blogs/ambler/entry/disciplined_agile_delivery_dad_lifecycle14?lang=en

�Paper http://public.dhe.ibm.com/common/ssi/ecm/en/raw14261usen/RAW14261USEN.PDF

�Process Templates for use with Rational Team Concert http://www-01.ibm.com/support/docview.wss?uid=swg24028581

�Certificações http://disciplinedagileconsortium.org/directory

32

Page 33: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Referências (2/2)� Rational Team Concert

�Conheça a Solução Rational Team Concert: http://www.youtube.com/watch?v=dg9e4mk6nGs

�Rational Team Concert e Plataforma Jazz https://jazz.net/products/rational-team-concert/

�Vídeo de Instalação do RTC http://www.youtube.com/watch?v=VNJUi6PYSIQ

�Webcast Replay (em português): Desenvolvimento Ágil e Rational Team Concert https://www.ibm.com/developerworks/mydeveloperworks/blogs/rationalbrasil/entry/webcast_replay_desenvolvimento__c3_a1gil_e_rational_team_concert3?lang=en ou http://www.youtube.com/watch?v=tJZvDPqocpw

�SCRUM no RTC http://www.ibm.com/developerworks/rational/library/scrum-methods-rational-team-concert-v4-1/ e http://www.ibm.com/developerworks/rational/library/scrum-methods-rational-team-concert-v4-2/

�Recursos Técnicos http://www.ibm.com/developerworks/rational/products/rtc/

� Sandboxes: Try now in a web-based trial environment https://jazz.net/products/sandbox/

33

Page 34: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

© Copyright IBM Corporation 2010. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way.IBM, the IBM logo, the on-demand business logo, Rational, the Rational logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

www.ibm.com/rational/agile/www.jazz.net

Siga-me no Twitter e LinkedIn (arodacki)

Page 35: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

BACKUP

35

Page 36: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet 36

Agile principles1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable

software.

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

7. Working software is the primary measure of progress.

8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity – the art of maximizing the amount of work not done – is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Source: www.agilemanifesto.org/principles.html

Page 37: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Agile X Traditional Waterfall

37

Page 38: “Como Escalar Práticas Ágeis em Equipes de Desenvolvimento Médias e Grandes”

IBM Software Group | Rational software

Innovation for a smarter planet

Criteria to determine if a team is agile

38

1. Working software• Agile teams produce working software on a regular basis, typically in the

context of short, stable, time-boxed iterations.

2. Active stakeholder participation• Agile teams work closely with their stakeholders, ideally on a daily basis.

3. Regression testing• Agile teams do, at a minimum, continuous developer regression testing.

Disciplined agile teams take a Test-Driven Development (TDD) approach.

4. Organization • Agile teams are self-organizing, and disciplined agile teams work within an

appropriate governance framework at a sustainable pace. Agile teams are also cross-functional “whole teams,” with enough people with the appropriate skills to address the goals of the team.

5. Improvement• Agile teams regularly reflect on, and disciplined teams also measure, how they

work together and then act to improve on their findings in a timely manner.