Você está na página 1de 20

Metodologias de desenvolvimento de software

Adaptive Software Development ASD

Caio Cesar, Fabio Pacheco e Tiago Pires Lucas

Jim Highsmith III


Engenheiro de software.

Autor de livros na rea de metodologia de

desenvolvimento de software. Aps varias experincias com mtodos prescritivos concluem que so falhos. Com base na teoria do sistemas adaptativos complexos e experincia com Radical Software Development cria a metodologia ASD

Jim Highsmith e ASD


"A auto-organizao, emergncia e colaborao

so os temas centrais de Desenvolvimento de Software Adaptativo. Colaborao coloca uma nfase na comunidade, na confiana e na responsabilidade conjunta, em parceria com o cliente, em vez de uma relao conflituosa. Eu tenho esperana de que o desenvolvimento adaptativo de software trs uma abordagem que torna obsoleta a noo de que a previsibilidade, linearidade, a melhoria do processo rduo, e comando-controle a unica maneira de desenvolver um software"- Jim Highsmith(Desenvolvimento de Software

Clientes de Jim Highsmith


Alias Systems (Canada) Pacific Edge Software ASB Bank (New Zealand) Phoenix International CBT Systems (Ireland) CNET GlaxoSmithKline (U.K.,

U.S.) Fiserv Infovide (Poland) Landmark MDS SCIEX (Canada) Microsoft Nextel Nike

Health Sciences (Canada) Schlumberger (Norway, U.S.) Silverline Technologies (India) Thoughtworks Trimble Navigation (New Zealand) Vis.align Corporation

O que ASD ?
Uma alternativa para o modelo tradicional,

metodologia centrada no processo de software mtodos de gesto com foco na pessoas, resultados, mtodos de mnima e mxima colaborao entre os participantes. orientada para o alta velocidade e alta de mudana nos projetos de e-business. Um metodologia de desenvolvimento que leva em considerao instabilidade e incerteza de requisitos e permite que durante o desenvolvimento acontea aprendizado. A metodologia no prov prticas detalhadas como o XP faz, mas traz o fundamento do porqu o desenvolvimento adaptativo importante

ASD Caractersticas
Iterativo e incremental

Funciona bem em sistemas grandes e

complexos. Arcabouo para evitar o caos (). Cliente sempre presente.


Desenvolvimento de aplicaes em conjunto

(Joint Application development JAD).

Caos?
Situao perturbadora, desmotivante;

Utilizando processo definido ou no;


Altos riscos nos projetos; Custos muito altos; Projetos sem boa qualidade interna e externa.

ASD JAD
Desenvolvido pela IBM em 1970. uma tcnica de coleta de informaes que permite

a equipe de desenvolvimento e stakeholders, trabalharem juntos para identificarem os requisitos para o sistema de software a ser desenvolvido (semelhante ao workshop de requisitos). estruturado no qual, de 10 a 20 usurios se renem sob a direo de um mediador treinado em tcnicas JAD. Informaes levantadas durantes as sees JAD so registradas por um assistente, que utiliza de ferramentas Computer-Aided Software Engineering (CASE), alm de acessrios como: quadro branco, diagramas desenhos a mo livre (storyboard), etc.

ASD - Propriedades
Orientado a misses (Misson-driven) Atividades so justificadas atravs de uma misso, que pode mudar ao longo do projeto Baseado em componentes (Component-

based)
Construir o sistema em pequenos pedaos

Iterativo (Iterative) Desenvolvimento em cascata (Waterfall) s funciona em ambientes bem definidos e compreendidos. O ASD possui foco em refazer do que fazer corretamente j na primeira vez

ASD - Propriedades
Prazos pr-fixados (Time-boxed) Fora os participantes do projeto a definir severamente decises do projeto logo cedo.
Tolerncia a mudanas (Change-tolerant)
As mudanas so freqentes sempre melhor estar pronto a adapt-las do que

control-las Constante avaliao de quais componentes podem mudar


Orientado a riscos (Risk driver)
Itens de alto risco so desenvolvidos primeiro

Ciclo de vida - ASD


O benefcio principal, poderoso, indivisvel, e

predominante do ciclo de vida do Desenvolvimento Adaptativo que ele nos fora a confrontar nossos modelos mentais, que esto na raiz de nossas prprias iluses. Ele nos fora a estimar nossa habilidade de forma mais realista. Highsmith Modelo interativo com fases curtas que se sobrepe Permite aquisio de conhecimento pela equipe. Possui trs fase: Especulao, Colaborao e aprendizado.

Ciclo de vida - ASD

Ciclo de vida - Especulao


Pessoas so incapazes de planos completos e

perfeitos, melhor forma de classificar previses com alto grau de incerteza especular. Especular. Afirma a incerteza e prev adaptaes , realizar mudanas se forma mais fcil. Envolvidos sabem sobre a limitao do planejamento e portanto esto propcios a aceitlos. Atividades:
Fixa prazos e objetivos Define um plano baseado em componentes

Ciclo de vida - Colaborao


Para no tornar o processo dependente de um

bom gerenciamento a diviso de responsabilidades do comando e dividida entre os envolvidos colaborao de grupos. Bom relacionamento e respeito entre os envolvidos crucial. Atividades:
Construo concorrente de vrios componentes Desenvolve a caractersticas do software

Ciclo de vida Aprendizado


Os envolvidos constantemente revem seus

conceitos sobre o produto em desenvolvimento. Em um ambiente adaptativo, o aprendizado desafia todos os envolvidos no projeto desenvolvedores e seus clientes - a examinar suas premissas e a utilizar os resultados de cada ciclo de desenvolvimento para adaptar o seguinte.- Highsmith Atividades:
Repetitivas revises de qualidade e foco na

demostrano das funcionalidades desenvolvidas (Learning loop) Presena do cliente e especialistas do domnio

Ciclo de vida Aprendizado

ASD Cargos e responsabilidades


Este mtodo no descreve cargos em detalhes Executivo responsvel (Executive Sponsor) Participantes de uma sesso (workshop) do

desenvolvimento de aplicaes em conjunto (JAD)


Facilitador (Facilitator) Liderar e planejar as sesses Escriba (Scribe) Efetuar anotaes Cliente (Customer) Sempre presente Gerente de Projetos (Project Manager) Desenvolvedores (Developers)

ASD - Vantagens
Aprender com os erros e re-iniciar o ciclo de

desenvolvimento. Usar as informaes disponveis sobre as mudanas de comportamento para melhorar o software. Decreta a colaborao, a interao de pessoas. Antecipar as mudanas e trat-las automaticamente.

ASD - Desvantagens
Erros ou alteraes que no so detectados em

reunies anteriores com o tempo afeta a qualidade do produto e seu custo total. Uma vez que uma metodologia gil no se deve fazer tarefas demasiadas como nas metodologias tradicionais. A equipe deve ser experiente para lidar com as liber dade e responsbilidades pregadas na ASD

Concluso
O desenvolvimento de software adaptativo

mais uma alternativa para as metodologias prescritivas, se apresenta mais como um metodologia cujo o foco a colaborao e a aprendizagem dos envolvidos para construo do software do que regras (receitas) para desenvolvimento. Com o foco na colaborao e aprendizado a ASD uma boa metodologia para complementar abordagens prticas como: XP, FDD e Crystal.

Você também pode gostar