• Nenhum resultado encontrado

APMM N´ıvel 2 Entrega Disciplinada ´ Agil

O segundo n´ıvel de maturidade proposto por Ambler [30] estende o primeiro n´ıvel e passa a enderec¸ar todo ciclo de vida do sistema de software. De forma a cumprir os objetivos deste n´ıvel, deve-se ter em considerac¸˜ao o processo de testes, o de medic¸˜ao, o de melhoria cont´ınua do processo de desenvolvimento de software e ainda os mecanismos efetivos na gest˜ao.

A estrutura de decis˜ao da Entrega Disciplinada ´Agil (DAD) tem v´arios aspetos in- teressantes. Esta abordagem coloca as pessoas como um fator importante no processo de entrega de software, sugerindo pap´eis espec´ıficos para cada fase de desenvolvimento. Constitui uma abordagem h´ıbrida ´agil orientada `a aprendizagem para a soluc¸˜ao de entrega de software.

No que diz respeito ao Risco, este n´ıvel de maturidade pressup˜oe um risk-value deli- very lifecycle, isto ´e, promove a realizac¸˜ao das tarefas mais arriscadas logo ao in´ıcio do projeto a fim de elimin´a-los logo no in´ıcio, aumentando desta forma a probabilidade de sucesso no projeto.

Cap´ıtulo 3. Modelo de Maturidade do Processo ´Agil 27

A Entrega Disciplinada ´Agil apresenta v´arias carater´ısticas ´unicas: ´e orientada a ob- jetivos, ´e enterprise-aware (olha para a empresa como um todo) e ´e escal´avel.

Esta constitui uma abordagem h´ıbrida que engloba estrat´egias de diferentes metodo- logias ´ageis, como mostra a Figura 3.4.

Figura 3.4: Entrega ´Agil de Software [43].

O objetivo do DAD ´e o de mostrar como us´a-las em conjunto para melhor produtivi- dade da organizac¸˜ao [43]. Entre as metodologias acima referidas na Figura 3.4, Ambler [30] d´a ˆenfase `as seguintes metodologias:

• Processos H´ıbridos: agregado da framework de processos do SCRUM e as ideias do XP;

• Rational Unified Process (RUP): ´e um processo abrangente para entrega software. Pr´aticas do RUP incluem o conceito de equipa, Desenvolvimento dirigido por testes (TDD), esboc¸o de processo de neg´ocio e integrac¸˜ao continua;

• Open Unified Process (OpenUP): combina e estende pr´aticas de SCRUM, XP, Modelagem ´Agil e RUP direccionadas `a equipas ´ageis de desenvolvimento de pro- duto alocadas no mesmo espac¸o f´ısico . Pr´aticas de OpenUP incluem conceito de equipa, reuni˜oes di´arias, prioritizac¸˜ao de itens de trabalho, ciclo de vida orientado para o risco, TDD, participac¸˜ao ativa das partes interessadas e integrac¸˜ao cont´ınua;

• Harmony Embedded Software: processo ´agil de software para sistemas embebi- dos;

• Dynamic System Development Method (DSDM) : processo de entrega baseado em Rapid Application Development (RAD) que ´e muitas vezes usado no desenvol- vimento de interface de utilizador da aplicac¸˜ao intensiva. Inclui pr´aticas de prototi-

pagem, testes durante todo ciclo de vida e alterac¸˜oes revers´ıveis.

Tal como referido inicialmente, o DAD enderec¸a todo ciclo de vida do software. Po- demos dividir este ciclo em trˆes fases: concec¸˜ao, construc¸˜ao e transic¸˜ao sendo que o objetivo ´e produzir continuamente uma vers˜ao potencialmente mais funcional. Pode-se observar o processo na Figura 3.5.

Figura 3.5: Processo de Entrega Disciplinada ´Agil. Adaptado de Ambler [43].

A cada uma das trˆes fases est˜ao associados objetivos espec´ıficos ´a cada uma delas: objetivos durante a concec¸˜ao, a construc¸˜ao e transic¸˜ao. E para al´em destes temos objeti- vos cont´ınuos independente da fase em curso.

O prop´osito da fase de concec¸˜ao, ´e o de garantir que est˜ao reunidas todas as condic¸˜oes para se iniciar um processo de desenvolvimento de software. Assim sendo, os objetivos desta fase passam por: formac¸˜ao da equipa inicial, desenvolvimento de uma vis˜ao comum, alinhamento com a estrat´egia da organizac¸˜ao, explorac¸˜ao detalhada do ˆambito inicial, identificac¸˜ao da estrat´egia t´ecnica inicial, desenvolvimento de plano inicial de entregas, garantia de recursos monet´arios, desenvolvimento de ambiente de trabalho e identificac¸˜ao de riscos.

Ap´os esta fase, passamos para a fase de construc¸˜ao em que o prop´osito ´e produzir uma soluc¸˜ao potencial de modo iterativo e incremental. Os objetivos espec´ıficos desta fase s˜ao: produc¸˜ao de uma soluc¸˜ao potencialmente utiliz´avel, comerci´avel e desej´avel; enderec¸ar `as constantes mudanc¸as de necessidades das partes interessadas; constante aproximac¸˜ao de uma soluc¸˜ao que possa ser entregue ao cliente; constante melhoria de qualidade e a confirmac¸˜ao que a estrat´egia arquitetural inicial funciona.

Cap´ıtulo 3. Modelo de Maturidade do Processo ´Agil 29

A ´ultima fase, a fase da transic¸˜ao, tem como principal finalidade colocar a soluc¸˜ao em produc¸˜ao para estar dispon´ıvel no mercado. Os dois objetivos para esta fase s˜ao: ga- rantir que a soluc¸˜ao est´a pronta para ser implantada e ser aceite no cliente e a respetiva implantac¸˜ao do software no cliente.

N˜ao menos importante, temos objetivos cont´ınuos durante todo o processo: cresci- mento pessoal e professional de cada elemento da equipa, cumprimento dos objetivos de equipa, enderec¸amento aos riscos, promoc¸˜ao da utilizac¸˜ao de recursos e infraestruturas organizacionais, coordenac¸˜ao de atividades, melhoria cont´ınua do ambiente de trabalho e da forma de trabalhar em equipa.

Apesar de possuir objetivos bem delineados e expl´ıcitos, o DAD n˜ao ´e prescritivo. Tomando como exemplo a gest˜ao de requisitos, o SCRUM prescreve o uso de Product Backlog para gest˜ao dos mesmos. Enquanto que o DAD avalia esta quest˜ao colocando na mesa os seus aspetos importantes sem comprometer-se com uma determinada t´ecnica. Durante a construc¸˜ao existe o objetivo de enderec¸ar as constantes mudanc¸as de necessi- dades das partes interessadas e para isso existem v´areas ´areas a analisar: a estrat´egia de gest˜ao do item de trabalho e a estrat´egia para prioritizac¸˜ao dos mesmos, a monitorizac¸˜ao da aceitac¸˜ao das partes interessadas, o modo de iterac¸˜ao das partes interessadas com a equipa e a elicitac¸˜ao de m´etodos.

Documentos relacionados