Entenda o que é a Engenharia de Software
O que é
A expressão “engenharia de software” foi criada no início da década de 1960, com o objetivo de contornar os efeitos da crise do software e buscar maneiras de dar um tratamento de engenharia mais sistemático e controlado ao desenvolvimento de sistemas de software complexos, que eram tratados através de uma abordagem informal. Abordagem que não era suficiente para entregar os produtos no prazo correto e com as funcionalidades contratadas.
Pra que serve
A engenharia de software é uma tecnologia em camadas (ferramentas + métodos + processos + foco na qualidade). Ela serve para entregar os produtos (softwares) no prazo combinado com as funcionalidades solicitadas e contratadas, apoiando-se ao compromisso com a qualidade na entrega e manutenção do software.
O coração da engenharia de software é o entendimento do problema do cliente e resolvê-lo, criando soluções que integrem o negócio do cliente ao mundo da tecnologia.
Como funciona
O processo de engenharia de software segue algumas metodologias que abrangem cinco fases: comunicação, planejamento, modelagem, construção e entrega.
A primeira fase é a comunicação, onde a equipe compreende o problema a ser resolvido.
A segunda fase é o planejamento, onde a equipe pensa na solução para o problema apresentado pelo cliente.
A terceira fase é a modelagem. Nela, a solução é modelada. Podendo utilizar diagramas e desenhos, com o objetivo de construir uma imagem da solução idealizada na fase dois. Nesta fase, a solução é dividida em pequenas partes, interligada ou não, para que seja produzida na fase seguinte. Um plano é criado com metas de entregas graduais e constantes.
A fase da construção é o momento em que a equipe produz o software e o testa para ter a certeza do bom funcionamento do que esta sendo produzido.
A última fase é a entrega do produto ao cliente.
Atividades de apoio
A metodologia utiliza atividades de apoio que ajudam a equipe a gerenciar e a controlar o andamento de todo o processo. Todo o processo é controlado para que o produto seja produzido e entregue exatamente como foi solicitado.
A primeira atividade de apoio é o controle e acompanhamento do projeto, onde a equipe avalia o que esta sendo feito e faz ajustes para que o software seja entregue no prazo e com as funcionalidades principais presentes nesta entrega.
A administração de risco tem por objetivo avaliar os possíveis riscos que podem afetar o resultado e a qualidade do produto a ser desenvolvido.
Garantir a qualidade do software é uma atividade de apoio necessária, para assegurar que o produto esteja funcionando da forma correta.
A revisão técnica elimina erros dentro do processo deste o início até a entrega final.
Averiguar e medir cada etapa do processo garante que o software seja entregue conforme os requisitos acordados.
O gerenciamento da configuração do software ajusta e adéqua as mudanças no processo com dois objetivos: entregar no prazo e exatamente o que foi solicitado.
Gerenciar a capacidade de reutilização define critérios de reuso do software.
A documentação do software é uma parte do processo que facilita o entendimento do como funciona o que foi produzido, facilitando o melhor aproveitamento do software pelo cliente.
Entregas de valor
Dentro do contexto da engenharia de software, a metodologia ágil vem facilitar processos, a produção e a compreensão do que esta sendo produzido ao ponto das entregas ganharem um componente crucial: o valor.
Valor que tem por objetivo facilitar a vida do usuário do software. Entregas sem valor não fazem sentido, porque o foco se perde e o produto começa a ficar moroso e redundante.
A metodologia ágil ajuda a equipe a saber onde esta e para onde esta indo, o que foi feito e o que precisa ser feito e ajustado. É uma checagem simples e rápida, que desburocratiza o processo. Ela ajuda a equipe a se integrar e a falar a mesma língua, facilitando e dinamizando processos internos.
A engenharia de software veio para auxiliar o universo de produção de softwares. Ela integra processos, métodos e ferramentas para o desenvolvimento de projetos com qualidade, atendendo a necessidade do cliente.
O universo de Engenharia de Software é gigantesco e merece uma atenção detalhada sobre suas particularidades.
Este artigo teve por objetivo pincelar sobre o tema, de forma genérica e global.
Obrigada por me lerem.
Scrum Master | Agile Master | Líder de Projetos | PSM I | OKR | Mgt 3.0 | KSD | PKE | VMO
4 aMuito bom o artigo Andréa Giorgini! Explica como surgiu a Engenharia de Software, seu desenvolvimento e relacionamento com a Metodologia Ágil!
Scrum Master | Agile Master | Líder de Projetos | PSM I | OKR | Mgt 3.0 | KSD | PKE | VMO
4 aMuito bom o artigo Andréa Giorgini! Explica como surgiu a Engenharia de Software e a relaciona com a Metodologia Ágil!