Mudanças de Escopo em Projetos e Priorização de requisitos

Seja qual for o tipo de projeto que se esteja acompanhando, mudanças são sempre inevitáveis. As vezes custosas, impossíveis de serem realizadas e por vezes alguns dos planos tem de ser descartados ou adiados.

Imagine algumas destas situações:

  1. Comprou um apartamento e mora feliz nele. Só que agora toda a família vai ter de se mudar para ele . Para fazer obra no apartamento é preciso pensar bem, pois é impossível mudar algumas paredes de lugar. Construir um novo quarto com banheiro seria caríssimo e provavelmente não atenderia as expectativas.
  2. Sua família cresceu, sua casa encolheu. Tem um dinheiro guardado para uma obra mas tem de decidir se constrói uma piscina ou mais dois quartos e um banheiro. Qual a prioridade, qual a ordem, qual sonho vai ter de ser adiado?
  3. Está de mudança para uma casa muito menor do que a que vive atualmente. Do tipo de 3 para 1 só dormitório. Não é impossível, mas provavelmente muitas das coisas que ´cabiam´ na casa anterior terão de ser deixadas para trás.
  4. Ganhou uma boa bolada e vai poder enfim construir a casa dos seus sonhos e no lugar que sempre quis. Mas, você mora em um apartamento microscópico apertado com a sua família. Por onde começar essa empreitada? Ficar apertado até que tudo esteja pronto?

Podemos transpor facilmente estes conceitos para um sistema existente, ou em um sistema em construção. Ambos também vão sofrer mudanças durante a sua vida.

  1. Sistema existente, usando tecnologia antiga que já não atende as necessidades da empresa. Novas regras de negócio tem de ser incluídas e o sistema já não suporta a carga de usuários.
  2. Sistema existente ou em construção que atende as expectativas atuais, mas o seu negócio está crescendo e mudando. O que fazer? Por onde começar?
  3. Seu projeto está definido e sua verba não cobre todas as funcionalidades desejadas. Quais funcionalidades são imprescindíveis, o que posso não fazer?
  4. Projeto definido, verba ilimitada! Por onde começar? Quanto antes chegar no mercado, mais lucro gera. Mas também não pode chegar ao mercado capenga porque nesse caso o usuário perde a confiança.

change_is_difficultA priorização dos requisitos do sistema é essencial para que as mudanças possam ser avaliadas quanto a viabilidade e possíveis impactos nos sistemas.

No 1º. caso, quais as alterações imprescindíveis? Com a priorização destes requisitos e com o comportamento atual do sistema talvez a melhor solução seja fazer um novo, que pode ser desenvolvido por partes, ´desligando´ o velho conforme se entrega o novo. Ou, quem sabe, começar do zero mesmo.

O 2º.e 3º. casos, são parecidos. Os requisitos priorizados como imprescindíveis devem ser feitos, os desejáveis podem ficar para depois. As mudanças podem ser avaliadas em relação a prioridade original dos requisitos e ´trocas´ podem ser feitas, desde que não impactem limitações de custo e prazo.

O 4º. caso é o mundo ideal. Não temos limitação de verba, o céu é o limite. De qualquer forma a priorização dos requisitos é essencial. Temos de saber o que é imprescindível (legislação, core do negócio e até impedimentos tecnológicos) para poder ser programada as entregas. Porque mesmo sem limite de verba sempre temos a limitação de tempo de entrada em produção. Temos de entregar sempre partes totalmente funcionais. Podemos até não entregar as telas das tabelas de itens de estoque mas temos de prever a carga delas.

Por ANA BEATRIZ VARGAS

Postado em: 20 de fevereiro de 2015

Confira outros artigos do nosso blog

REST não é JSON

21 de agosto de 2017

Bruno Sofiato

[Webinar] Profile de aplicações Java com Oracle Mission Control e Flight Recorder

24 de julho de 2017

Danival Calegari

Criando Mocks de serviços REST com SoapUI

27 de junho de 2017

Monise Costa

JavaScript 6: diferença entre var, let e const

09 de maio de 2017

Otávio Felipe do Prado

Deixe seu comentário