Stairway to Heaven: modelo de evolução das organizações de desenvolvimento de software
Resumo do artigo:
Karvonen, Teemu & Lwakatare, Lucy Ellen & Sauvola, Tanja & Bosch, Jan & Olsson, Helena & Kuvaja, Pasi & Oivo, Markku. (2015). Hitting the Target: Practices for Moving Toward Innovation Experiment Systems. Lecture Notes in Business Information Processing. 210. 117–131. 10.1007/978–3–319–19593–3_10.
Abstract: O artigo apresenta um novo estudo sobre o modelo Stairway to Heaven (StH). Nesse estudo os autores apresentam as pontos chaves e barreiras para evoluir uma empresa de desenvolvimento do modelo tradicional para um modelo orientado a dados.
Contribuição do artigo:
- Os autores fornecem os pontos chaves e barreiras para implementar os modelos ágeis em empresas de desenvolvimento.
Resumo:
A indústria de software está em constante transição. No entanto, muitas organizações vêm trabalhado de forma que estão estrangulando a ordem correta de implementar as mudanças de uma modelo tradicional para um modelo ágil. De certa maneira, é fácil saber para aonde deve-se, mas é difícil de determinar a maneira ótima para chegar ao destino.
Em resposta a essa mudança, foi desenvolvido um modelo sistemático de evolução denominado “Stairway to Heaven”, apresentado na figura abaixo. Esse modelo descreve o processo evolutivo de sucesso de uma companhia com modelo de desenvolvimento de software tradicional de software para um modelo customer data-driven development. A figura abaixo apresenta as característica das empresas em diversos aspectos: Business, Architecture, process e Organization
Traditional Development: é a abordagem de desenvolvimento de software que é caracterizado por ciclos de desenvolvimento lentos, fases sequenciais e uma fase de planejamento rigoroso em que os requisitos estão congelados e não podem ser modificados. Tipicamente, esse processo trabalha com um modelo estilo walterfall com interações entre Product Management, Product Development e consumidores. Normalmente, a entrega do projeto ao cliente ocorre no final do ciclo de vida do projeto.
Agile R&D Organisation: Ocorre quando as organizações tentam implementar os modelos ágeis para resolver os problemas do modelo tradicional de desenvolvimento. Nas organizações ágeis, no entanto, o gerenciamento de produtos e a verificação do sistema ainda funcionam de acordo com a abordagem tradicional de desenvolvimento.
Continuous Integration: A terceira etapa do nosso modelo é onde uma empresa consegue estabelecer práticas que permitem a integração frequente do trabalho, compilações diárias e confirmação rápida de alterações, por exemplo, compilações automatizadas e teste automatizado. Nesse ponto, tanto a organização de desenvolvimento do produto quanto a organização de teste e verificação trabalham de acordo com práticas ágeis, com ciclos curtos de feedback e integração contínua do trabalho: prática de desenvolvimento de software em que membros de uma equipe integram seu trabalho com frequência.
Continuous Deployment: A implantação contínua implica que você repita continuamente as alterações no código, em vez de criar grandes construções e ter versões planejadas de grandes blocos de funcionalidade. Isso permite feedback contínuo do cliente, a capacidade de aprender com os dados de uso do cliente e eliminar o trabalho que não produz valor para o cliente. Nesse ponto, P&D, gerenciamento de produtos e clientes estão todos envolvidos em um ciclo de desenvolvimento rápido e ágil, no qual o tempo de resposta é curto.
R&D as an Innovation System: a quinta, e última, etapa do modelo de evolução “Stairway to Heaven” é onde a organização de desenvolvimento responde com base no feedback instantâneo do cliente e onde a implantação real da funcionalidade do software é vista como uma forma de validar a funcionalidade. A intenção é expor os clientes à implementação parcial da funcionalidade e usar seus comentários para determinar o valor dessa funcionalidade específica.
As figuras abaixo apresentam os benefícios, barreiras e as práticas chaves que organizações utilizaram para evoluir de um nível para outro no StH.