Você está na página 1de 8

Processos

“No desenvolvimento de software, perfeito é um verbo,


não um adjetivo. Não existe um processo perfeito.
Não existe um design perfeito. Não existem histórias
perfeitas. Você pode, no entanto, aperfeiçoar seu
processo, seu design e suas histórias.”
- Kent Beck
Importância de
Processos
A produção de um carro em uma fábrica de
automóveis segue um processo bem definido.
Sem estender a explicação, primeiro, as
chapas de aço são cortadas e prensadas, para
ganhar a forma de portas, tetos e capôs.
Depois, o carro é pintado e instalam-se painel,
bancos, cintos de segurança e a fiação. Por
fim, instala-se a parte mecânica, incluindo
motor, suspensão e freios.
Alguns críticos de processos de software costumam fazer a seguinte pergunta: por
que eu preciso seguir um processo? E complementam, perguntando também o
seguinte: Qual processo Linus Torvalds usou na implementação do sistema
operacional Linux? Ou que Donald Knuth usou na implementação do formatador de
textos TeX?
Na verdade, a segunda parte da pergunta não faz muito sentido, pois tanto o Linux
(no seu início) e o TeX são projetos individuais, liderados por um único
desenvolvedor.
Nesse caso a adoção de um processo não é tão importante. Sendo assim todo
processo é responsabilidade do desenvolvedor.
Porém nos sistemas de softwares atuais a complexidade é muito alta, o que dificulta
o trabalho com apenas um desenvolvedor.
Na prática, os sistemas modernos — que nos interessam neste livro — são desenvolvidos em equipes.

CEO

Thommy Arthur Polly

Equipe 1 Equipe 2 Equipe 3


E essas equipes, para produzir software com qualidade
e produtividade, precisam de um ordenamento. Por
isso, empresas dão tanto valor a processos de
software. Eles são o instrumento de que as empresas Por fim, processos são importantes não
dispõem para coordenar, motivar, organizar e avaliar o apenas para a empresa, mas também para os
trabalho de seus desenvolvedores, de forma a garantir desenvolvedores, pois permitem que eles
que eles trabalhem com produtividade e produzam tomem consciência das tarefas e resultados
sistemas alinhados com os objetivos da
que se esperam deles. Sem um processo, os
organização.Sem um processo — mesmo que
simplificado e leve, como os processos ágeis que desenvolvedores podem se sentir perdidos,
estudaremos neste capítulo — existe o risco de que trabalhando de forma errática e sem
os times de desenvolvimento passem a trabalhar de alinhamento com os demais membros do
forma descoordenada, gerando produtos sem valor time.
para o negócio da empresa.

RNK
Manifesto Ágil

Os primeiros processos de desenvolvimento de Essencialmente, eles passaram a defender que software é diferente de
software — do tipo Waterfall, propostos ainda na produtos tradicionais de Engenharia. Por isso, software também
década de 70 — eram estritamente sequenciais, demanda um processo de desenvolvimento diferente.
começando com uma fase de especificação de
requisitos até chegar às fases finais de Por exemplo, os requisitos de um software mudam com
implementação, testes e manutenção do sistema. frequência, mais do que os requisitos de um computador, de um
Considerava se uma visão natural tendo em vista que avião ou de uma ponte. Além disso, os clientes frequentemente
as outras engenharias usavam esse passo a passo não têm uma ideia precisa do que querem. Isso se deve tanto a
para se concretizar, porém com o tempo perceberam abstratividade, quanto a invisibilidade dos softwares, você não
que software é diferente do produto da engenharia tem muita noção do que quer, por ser difícil mensurar, explicar
tradicional. Essa percepção ficou clara devido aos como quer que seja feito...Ou seja, corre-se o risco de projetar
constantes problemas enfrentados em engenharia de por anos um produto que depois de pronto não será mais
software... necessário, ou porque o mundo mudou ou porque os planos e as
necessidades dos clientes mudaram

RNK
PROBLEMA VS SOLUÇÃO

PROBLEMA SOLUÇÃO
O maior problema na produção de A UML é como uma linguagem
software, a maior dor, em qualquer universal para profissionais de
país do mundo, chama-se produção de software, é um “Google
comunicação ruim. Isso pode Translate” que ajuda muito a
prejudicar todo processo de criação comunicação clara e objetiva entre
de softwares, e então no final não pessoas envolvidas no processo de
sair como se esperava. produção.
As próximas figuras comparam
desenvolvimento em Waterfall e Ágil.

Requisitos

Desenvolvimento usando um
Projeto Processo Waterfall. O sistema fica
pronto apenas no final.

Implementação
Desenvolvimento usando um Processo
Testes Sistema Ágil. A cada iteração (representada pelos
retângulos) gera-se um incremento no
sistema (S++), que já pode ser validado e
testado pelos usuários finais.

S++ S++ S++ S++ S++ S++ S++ S++ S++

Você também pode gostar