Título
Agile or non-agile, that is the question: designing a decision support system for an agile approach in software development projects
Autor
Mattos, Luis Fernando Bordeaux
Resumo
pt
Escolher uma abordagem adequada para gerenciar um projeto de
desenvolvimento de software é essencial para maximizar as chances de se
obter sucesso. Um dos grandes dilemas da atualidade diz respeito à opção
por uma metodologia de desenvolvimento Agile ou tradicional. Existem
diversas características dos projetos de software e dos ambientes
organizacionais onde eles são executados que devemos considerar ao
escolher uma opção apropriada. Embora as metodologias de desenvolvimento
Agile venham se expandindo e consolidando mundialmente desde o início dos
anos 2000 como soluções eficazes para se construir software, elas não se
aplicam a todos os cenários de desenvolvimento. Quando usar Agile e qual
das suas metodologias é a mais adequada são as grandes questões que
pretendemos responder nesta investigação.
Através de uma abrangente revisão de literatura e de um estudo
exploratório com profissionais com experiência nas metodologias Agile,
exploramos e identificamos os principais fatores que favorecem o uso de uma
abordagem Agile. Também estudamos as características de projetos de
desenvolvimento de software e de ambientes organizacionais que levam as
equipas de desenvolvimento a optar por uma das suas metodologias mais
comuns: Scrum, Extreme Programming (XP), Kanban ou Lean Software
Development (LSD). Com base nos resultados obtidos, concebemos um
modelo conceitual para apoiar a tomada de decisão e desenvolvemos um
protótipo de um sistema que implementa tal modelo conceitual. Nosso
principal objetivo é esclarecer o que é importante considerar na escolha de
uma metodologia Agile e ajudar o tomador de decisão a selecionar uma opção
adequada. Os resultados desta investigação enriquecem a literatura voltada
para os métodos de seleção de processos de desenvolvimento de software, e
contribuem para a difusão do Agile entre as equipas de desenvolvimento e as
organizações com nenhum ou baixo grau de maturidade em Agile, mas que
estejam interessadas em conhecer mais ou adotar esta abordagem de
desenvolvimento.
en
To know how to choose an approach to manage a software development
project is essential to maximize the chances to achieve success. One of the
great dilemmas we face nowadays concerns the option for an Agile or a
traditional development methodology. There are several characteristics of
software projects and the business environments in which they are performed
that we must consider while choosing a suitable option. Although Agile
development methodologies have been increasingly expanding and
consolidating worldwide as effective ways of building software since the early
2000s, they are not a one-size-fits-all approach. When to use Agile and which
methodology is most suitable are the great questions we aim to answer in
this research.
Through a comprehensive revision of the literature and an exploratory
study with Agile practitioners, we explored and identified the main factors
that favour the use of an Agile approach. We also unveiled the characteristics
of software development projects and organisational environments that lead
development teams to opt for one of the common Agile frameworks: Scrum,
Extreme Programming (XP), Kanban, or Lean Software Development (LSD).
Based on the results obtained, we conceived a conceptual model to support
decision making and developed a prototype of an information system that
implements this conceptual model. Our major goal in this study is to clarify
what is important to consider in the choice of an Agile methodology and help
the decision-maker selecting an appropriate development approach. The
results of this research contribute to the literature related to processes of
selection of software development methodologies, as well as to the diffusion
of Agile within development teams and organisations with none or low degree
of maturity in Agile, but interested in knowing more or adopting this
development approach.