Desenvolvemento en fervenza

Coñécese como desenvolvemento en fervenza un enfoque metodolóxico da xestión de proxectos de software onde cada unha das fases se executa de maneira secuencial, sen saltos atrás nin modificacións. É un dos enfoques tradicionais.

Concepto editar

O modelo de desenvolvemento en fervenza, modelo en fervenza ou ás veces coñecido polo seu termo en inglés de waterfall, é unha metodoloxía de xestión de proxectos de software, onde:

  • cada unha das fases segue unha orde secuencial
  • non se comeza unha fase ata que estea rematada a anterior
  • non se volve atrás no proceso cara a fases anteriores.[1]

Denomínase de fervenza porque a representación gráfica máis habitual é unha especie de escada descendente, onde cada unha das fases comeza a partir do produto elaborado na fase anterior.

 
Modelo en fervenza, onde o progreso do proxecto se representa con frechas que van de esquerda á dereita e de riba abaixo.

Foi unha das primeiras conceptualizacións metodolóxicas da xestión de proxectos enfocada ao software: aínda que houbo presentacións anteriores, a versión orixinal propúxoa o programador estadounidense Winston Royce en 1970, nun artigo onde describía precisamente modelos de desenvolvemento que non funcionaban axeitadamente. Royce non denominou este modelo de fervenza, pois este nome é posterior. O modelo revisárono posteriormente revisada Barry Boehm en 1980 e Ian Sommerville en 1985[2].

Vantaxes e inconvenientes editar

O modelo en fervenza é intuitivo e popular. Con respecto a outros modelos áxiles ou iterativos, unha das principais vantaxes é que os equipos poden funcionar de xeito relativamente autónomo, e en teoría o tempo dedicado a reunións, revisións e xestión (non-produtivo), debería ser menor. Ademais, permite unha orzamentación fixa, é dicir, pode facerse un cálculo previo dos recursos que vai levar o proxecto e transformar este cálculo nunha estimación económica.

Porén, non é un método receptivo aos cambios. Nun proxecto ideal os requisitos para desenvolver un proxecto serían claros, non habería erros nin no deseño nin na programación, e o produto resultante cumpriría as expectativas do cliente ao 100%. Porén, na práctica o carácter dinámico do contorno e a duración da execución dos proxectos fai que isto non sexa así: para tentar resolver estes problemas naceron revisións do desenvolvemento en fervenza, como o modelo en uve ou o modelo de dentes de serra, entre os modelos secuenciais, ou mesmo os modelos iterativos ou áxiles[3].

Fases típicas editar

As fases do desenvolvemento en fervenza dependen do tipo de proxecto e da composición do equipo: proxectos máis complexos ou con equipos maiores adoitan ter máis fases, detallando máis os pasos ou implicando distintos departamentos ou roles, mentres que os proxectos máis simples e os equipos máis pequenos reducen e agrupan as fases. A xeito de orientación podemos presentar o seguinte modelo de fases. Loxicamente, distintos equipos denominarán estas fases con termos diferentes.

  1. Especificación, a fase onde se describe como debe funcionar o software, é dicir, onde se interpretan as necesidades do cliente.
  2. Análise, a fase en que se define o funcionamento da arquitectura, das bases de datos etcétera.
  3. Deseño, cando se describe o funcionamento proposto para o software, incluídas as súas interfaces.
  4. Codificación, cando se fai a programación informática escribindo o código.
  5. Testaxe.
  6. Implementación e integración. A fase de implementación, é dicir, de encaixe deste software no sistema máis grande, ou de publicación se for o caso) pode darse antes ou despois da testaxe, dependendo das características do proxecto.
  7. Mantemento.

Notas editar

  1. "2.2.1: Linear Models - Module 2: Process Models. Coursera". Coursera (en inglés). Consultado o 2018-03-01. 
  2. Cataldi, Z., Lage, F., Pessacq, R. e García Martínez, R. Ingeniería de software educativo. Arquivado 29 de decembro de 2013 en Wayback Machine.
  3. "2.2.1: Linear Models - Module 2: Process Models | Coursera". Coursera (en inglés). Consultado o 2018-03-01.