segunda-feira, 27 de julho de 2009

Da necessidade ao sistema - parte 1

Existem diversas abordagens de processos de software disponíveis no mercado: RUP (Rational Unified Process - derivado do UP - Unified Process), MSF (Microsoft Solution Framework), XP (eXtreme Programming), essUP (Essential Unified Process, de um dos criadores da UML - Unified Modeling Language - Ivar Jacobson), dentre diversas outras. Umas têm abordagens mais formais, outras menos formais.

Independente do(s) paradigma(s) utilizado(s), o nosso objetivo como profissionais de sistemas de TI é sempre o mesmo: desenvolver software com qualidade, que atenda às reais necessidades dos nossos clientes. Esse é o mantra e parece simples, mas não é. Desenvolver software é uma tarefa árdua e, no final das contas, todos os processos / métodos acabam tendo fundamentos muito parecidos para que se consiga atingir esse objetivo.

Escreverei uma série de posts, mostrando um exemplo de um ciclo de vida completo de desenvolvimento de um sistema, desde a necessidade de negócio até parte do sistema pronto. Mostrarei nos posts subsequentes atividades que cobrem todo o ciclo de vida: entendimento do processo de negócio, identificação dos requisitos, definição e refinamento da arquitetura, análise, codificação e planejamento e execução de testes.

Seguirei práticas presentes em vários dos métodos citados no início do post, mas não seguirei nenhum à risca. Na minha visão, todos esses paradigmas são frameworks que compilam um conjunto de boas práticas, e que se mostraram eficazes em projetos de software bem sucedidos. Portanto, não importa qual o processo que se siga, o que importa é que se desenvolva um conjunto de atividades que agregue valor ao projeto.

Alguns pontos chaves que utilizarei:
  • Desenvolvimento iterativo e incremental;
  • Foco na arquitetura do projeto;
  • Preocupação em acomodar mudanças; e,
  • Testes planejados desde o início do projeto.

Todos esses pontos chaves estão presentes na maioria dos processos existentes no mercado. Eles serão as premissas que utilizarei no decorrer do projeto.

No próximo post comentarei sobre a necessidade de negócio que utilizarei como base para desenvolvimento do sistema.

Até lá.

Nenhum comentário:

Postar um comentário