Beruflich Dokumente
Kultur Dokumente
(ATAM).
[Behrouz 2007] mostra que apesar de terem enfoques distintos existe
compatibilidade entre o desenvolvimento de software confivel (Software Reliability
Engineering - SRE) e gil principalmente no que cerca os aspectos de medir e avaliar a
confiabilidade do software desenvolvido. A discusso gira em torno da suposta
incompatibilidade de que o SRE executa os testes no software criado com o objetivo de
validar os parmetros de confiabilidade previamente definidos e modelados, enquanto o
mtodo gil se apoia em uma abordagem dirigida a testes (Test Driven Development -
TDD) a qual os casos de testes so escritos antes do cdigo e executados
constantemente durante o processo de desenvolvimento.
4. Caracterizao da contribuio
Desenvolver a combinao do mtodo que auxilia a construo de sistemas de software
com requisitos de confiabilidade ligados tolerncia a falhas, chamado de MDCE+, ao
processo gil de desenvolvimento de sistemas de software, nesse caso o Scrum. Isso
ser feito atravs da utilizao das tarefas de identificao de excees e a especificao
de seus tratadores nas fases do Scrum. O mtodo resultante ser chamado de Scrum+CE
(Scrum com Comportamento Excepcional) e possibilitar o desenvolvimento de
software confivel utilizando um mtodo gil.
Ser feito um estudo de caso qualitativo, a fim de validar a aplicabilidade prtica
da soluo construda. No estudo de caso, tomaremos como base as mtricas de
processo um projeto que utilizou a metodologia Scrum sem preocupao explcita com
o comportamento excepcional. Ser feita uma anlise dos benefcios esperados e
alcanados com a adoo da soluo proposta usando-se questionrios aplicados aos
desenvolvedores do projeto salientando os impactos da utilizao do Scrum+CE em
detrimento ao Scrum.
5. Estado atual do trabalho
O Scrum+CE foi definido com as alteraes que sero necessrias nas fases de Pr-jogo
e Jogo no que diz respeito a levantar Histrias Excepcionais e refinar a Arquitetura com
elementos excepcionais explcitos. Alm disso, tcnicas geis que melhoram a
confiabilidade como TDD (Test-Driven Development) e Integrao Contnua so
fortemente recomendadas.
Figura 3: Interferncia do Mtodo MDCE+ nas fases do Scrum
A Figura 3 mostra as fases do Scrum com as atividades do MDCE+ que devem
ser desenvolvidas nas respectivas fases. Nota-se que as maiores modificaes ser na
fase de Pr-Jogo, na qual o comportamento excepcional ser documentado na forma de
Histrias Excepcionais e de Testes de Aceitao nas Histrias de Usurio que validem
especificamente os fluxos excepcionais. Alm disso, a Arquitetura em alto-nvel passar
a expor os componentes excepcionais conforme o modelo de componente tolerante a
falhas ideal, ou simplesmente componente ideal, categorizado em dois tipos: normal,
que produz respostas corretas, e excepcional (ou anormal), que executado quando um
erro detectado.
Dentro da fase Jogo, teremos como entradas as Histrias de Usurios e Histrias
Excepcionais igualmente priorizadas no Backlog do Produto. Elas devero entrar no
Backlog do Sprint de acordo com suas prioridades e dependncias.
Figura 4: Detalhamento da Fase Jogo do Scrum
1
A Figura 4 mostra em detalhes o framework do Scrum que ocorre dentro da fase
Jogo, diferenciando os papis, artefatos e cerimnias ou reunies. A combinao com o
MDCE+ afetar os artefatos Backlog do Produto, com a adio das Histrias
Excepcionais, e o Backlog do Sprint, com as tarefas especficas de implementao das
Excees. Uma vez dentro dos Backlogs, as histrias e tarefas excepcionais sero
tratadas e implementadas normalmente, como um requisito funcional comum.
Dois projetos de sistema de informao que utilizam a arquitetura predefinida de
quatro camadas do UML Components, que j foi adaptado pelo MDCE+ por [Brito
2005], j foram selecionados e esto em fase de coleta do documento de arquitetura e
das Histrias de Usurios (User Stories) [Cohn 2004] para anlise e posterior avaliao
dos resultados com as modificaes e adies sugeridas pelo Scrum+CE.
6. Avaliao dos resultados
Nos projetos selecionados para o estudo de caso qualitativo ocorrer a reviso dos
requisitos (Histrias de Usurios) e documento de arquitetura, adaptando-os as prticas
e tcnicas do Scrum+CE.
1 Imagem trazudiza e adaptada do original em ingls do site http://www.agileforall.com/intro-to-agile/
O documento de arquitetura e os diagramas tero o acrscimo dos Componentes
Excepcionais. A Histrias de Usurio, como j foram implementadas, j foram
estimadas em Pontos de Histria (Story Points) [Cohn 2005] e contm os seus Testes de
Aceitao que sero a base para a extrao do comportamento excepcional e criao das
Histrias Excepcionais.
Ser feita uma anlise dos benefcios esperados e alcanados usando-se
questionrios aplicados aos desenvolvedores dos projetos e utilizando as mtricas
propostas por [Gomes 2000] e os Pontos de Histria.
Aps a adaptao e validao espera-se um aumento no nmero de Histrias de
Usurios, e por consequencia de Pontos de Histria, acarretando no aumento no tempo
de desenvolvimento e custo. Em contrapartida espera-se a diminuio dos defeitos na
fase de Ps-Jogo, uma vez que estaremos antecipando e explicitando o comportamento
excepcional, resultando em um produto final com maior qualidade.
7. Referncias
Beck, K. (1999). Extreme programming explained: embrace change, Addison-Wesley
Longman Publishing Co., Inc., Boston, MA.
Behrouz H. F. (2007). Software Reliability Engineering for Agile Software
Development, 20th IEEE Canadian Conference on Electrical and Computer
Engineering CCECE 2007, pp. 694-697.
Brito, P. H. S. (2005). Um Mtodo para Modelagem de Excees em Desenvolvimento
Baseado em Componentes. Dissertao (Mestrado em Cincia da Computao) -
Universidade Estadual de Campinas, Instituto de Computao. Orientador: Ceclia
Mary Fischer Rubira.
Cheesman, J. e Daniels, J. (2001) "UML Components: A Simple Process for Specifying
Component-Based Software" Addison-Wesley.
Cohn, M. (2004) User Stories Applied: For Agile Software Development, Addison-
Wesley.
Cohn, M. (2005) Agile Estimating and Planning, Prentice Hall.
D'Souza, D. e Will, A.C. (1998). Objects, Components and Frameworks with UML.
The Catalysis Approach Addison-Wesley.
Ferreira, G. R. M. (2001). Tratamento de Excees no Desenvolvimento de Software
Confivel Baseado em Componentes. Dissertao (Mestrado em Cincia da
Computao) - Universidade Estadual de Campinas, Fundao de Amparo Pesquisa
do Estado de So Paulo. Orientador: Ceclia Mary Fischer Rubira.
Gomes, A., et al. (2000), Medio e Melhoria de Processos de Software. Anais do
Workshop de Qualidade de Software, Simpsio Brasileiro de Engenharia de
Software, Joao Pessoa.
Manifesto gil (2001). Manifesto para o desenvolvimento gil de software.
Disponvel em: <http://manifestoagil.com.br/>. Acessado em: 17 jan 2011.
McIlroy, M. D. (1976). Mass-produced software components. In J. N. Buxton Peter
Naur, Brian Randell, editor, Software Engineering: Concepts and Techniques, pages
8894. Petrocelli/Charter.
Nord, R. L. e Tomayko, J. E. (2006). "Software Architecture-Centric Methods and
Agile Development", IEEE Software, vol. 23, no. 2, pp. 47-53, Mar./Apr.
Nord, R. L., Tomayko, J. E. e Wojcik, R. (2004). Integrating Software-Architecture-
Centric Methods into Extreme Programming (XP), tech. report CMU/SEI-2004-
TN-036, Software Eng. Inst., Carnegie Mellon Univ.
Radinger, W. e Goeschka, K. M. (2003). Agile software development for component
based software engineering, Companion of the 18th annual ACM SIGPLAN
conference on Object-oriented programming, systems, languages, and applications,
October 26-30, 2003, Anaheim, CA, USA
Schwaber, K. (1995). "SCRUM Development Process", OOPSLA'95 Workshop on
Business Object Design and Implementation. Austin, USA. Disponvel em:
<http://www.jeffsutherland.org/oopsla/schwapub.pdf>. Acessado em: 22 mar 2010.
Sommerville, I. (1995). Software Engineering. Addison-Wesley, 5th edition.
Szyperski, C. (1998). Component Software: Beyond Object-Oriented Programming.
Addison-Wesley.
Takeuchi, H. e Nonaka, I. (1986). The New New Product Development Game.
Harvard Business Review. Disponvel em: <http://hbr.org/product/new-new-product-
development-game/an/86116-PDF-ENG>. Acessado em: 09 abr 2011.