O que é SDLC e porque precisamos dele?
Em resumo SDLC é um processo de desenvolvimento de software. Neste artigo falarei apenas alguns pontos que julgo importantes sem aprofundar muito, pois além de importante, o tema é abrangente.
A sigla SDLC em inglês é uma abreviação para Software Development Life Cycle, que traduzindo para nossa língua significa: Ciclo de Vida de Desenvolvimento de Softwares, ou CVDS. O SDLC é um processo de produção de sistemas de informação que visa a maior qualidade juntamente com o menor custo e prazo possíveis. Este processo inclui um plano detalhado de como desenvolver, alterar, manter e substituir um sistema de informação.
Um SLDC possui várias etapas distintas, mas as principais são planejamento, desenho, construção, teste e publicação. Alguns modelos populares de desenvolvimento de sistemas que utilizam SDLC são:
- Modelo Cascata (Waterfall model)
- Modelo Espiral (Spiral model)
- Modelo Ágil (Agile model)
- Modelo Iterativo
- etc
Obviamente que cada modelo possui sua peculiaridade, que consequentemente, acaba por alterar ou ajustar o SDLC conforme seu propósito. Todavia, independente do modelo utilizado, é considerada como boa prática na utilização do SDLC seguir as seguintes etapas:
1. Concepção
- Identificar problemas: O que não queremos? Identifique as fraquezas e as forças do contexto atual tendo a melhoria do mesmo como objetivo.
2. Elaboração
- Planejar: O que queremos? Defina os requisitos do novo sistema, os recursos e o esforço necessário. Não se esqueça de elencar os riscos.
- Desenho: Como conseguiremos o que queremos? Transforme os requisitos do novo sistema em especificações funcionais (conforme modelo adotado) com a participação/aprovação dos interessados.
Falhar nesta e tapa pode ocasionar o cancelamento do projeto ou no mínimo, elevar absurdamente o custo do mesmo fazendo com que de prejuízo.
3. Construção:
- Desenvolvimento: Vamos criar o que queremos! Esta etapa cria o software de fato através da codificação do mesmo.
- Teste: Conseguimos o que queríamos? Busque por defeitos e deficiências até que o produto atenda o que foi especificado originalmente.
- Publicação: Vamos começar a utilizar o que criamos! Esta etapa é executada com algumas limitações e dependendo do feedback do usuário final, mais ajustes poderão ser executados.
- Manutenção: Vamos nos aproximar mais do que queríamos! Quando utilizado na prática o software pode não ser exatamente o que se esperava. Condições futuras do mundo real podem demandar atualizações no software para manter sua eficiência.
Benefícios do SDLC
Se feito da forma correta, pode viabilizar o mais alto nível de gestão, controle e documentação. Desenvolvedores entendem o que eles devem fazer e também o porquê. Todas concordam no objetivo estabelecido e o caminho a ser percorrido para atingi-lo está claro. Todos entendem os recursos e o custo necessário.
Muitas situações podem tornar o SDLC mais um dificultador do que um facilitador. Falhar em executar suas principais etapas, por qualquer que seja a motivação (tempo, custo, cultura e etc.) podem gerar resultados indesejados.
Para que funcione bem, o SDLC deve ser executado integralmente.
Ferramentas
Existem no mercado diversas ferramentas que permitem gerir projetos de desenvolvimento de software com um nível satisfatório de customização que podem atender plenamente as necessidades de sua fábrica.
Na Montreal utilizamos o Redmine para suportar nosso PDSM – Processo de Desenvolvimento de Software Montreal. Estamos customizando a ferramenta e amadurecendo o processo à medida que os projetos são entregues.
Não é fácil, leva tempo e exige perseverança, pois você deverá quebrar paradigmas, mudar culturas organizacionais e tirar pessoas da zona de conforto.
Seja perspicaz e colha os frutos do SDLC executado na íntegra em um futuro não tão longínquo.
Veja o post original.