Saltar ao contido

Desenvolvemento en fervenza

Na Galipedia, a Wikipedia en galego.
Revisión feita o 23 de xaneiro de 2021 ás 23:41 por Chairebot (conversa | contribucións) (Correcciones ortográficas con Replacer (herramienta en línea de revisión de errores))
(dif) ← Revisión máis antiga | Revisión actual (dif) | Revisión máis nova → (dif)

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.

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 | editar a fonte]

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 | editar a fonte]

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.
  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.