Gerência - Metodologias e Processos
Vantagem do Visual Studio 2005 Team System diante do CMM
Esse artigo é baseado no produto Visual Studio 2005 Team System e creio que será util para fins de gerência de desenvolvimento sistemas.
por Thiago Cruz1) Introdução
Os desafios de projetar os sistemas distribuídos que projetam e desdobram em
macro processos processo razoavelmente complicados tornou-se cada vez mais um
obstáculos para as fábricas de softwares. Visualizar o projeto dos sistemas
distribuídos como um inteiro torna-se cada vez mais difícil, impactando no
processo fragmentado e estruturado.
As empresas têm tipicamente muitos
sistemas diferentes que acumularam o tempo excedente enquanto os departamentos
compram, desenvolvem, ou adquirem uma variedade das aplicações. Porque os
sistemas individuais usaram todo o número de tecnologias de programação,
tornando difícil compartilhar funcionalidades e dados entre eles. Para permitir
a interoperabilidade, os colaboradores e os arquitetos são requisitados cada vez
mais a projetar interação entre os sistemas. Manter o projeto e o código
sincronizados com a documentação do projeto do sistema, montar uma comunicação
entre arquitetos e colaboradores.
2) CMM
O Capability Maturity Model for Software (SW CMM) é um modelo de referência
para a avaliação da capacidade e maturidade dos processos de uma organização
para a produção de software. Por uma questão de simplificação.
Com as
avaliações CMM, você consegue identificar e definir o status atual do
desenvolvimento, ou seja, o nível da maturidade que deseja alcançar,
estabelecendo-o como meta e tomar ações para reduzir a distância entre o status
atual e o almejado. Antes de melhorar alguma coisa, devemos primeiro conhece-la.
Uma empresa pode ter várias maneiras de executar uma mesma tarefa, como
desenvolver e manter software. Cada uma delas representa um processo.
Pode existir um processo para os sistemas corporativos, outro para os
departamentais e um terceiro para desenvolver sistemas de pequeno porte. Mais de
uma metodologia pode estar sendo empregada ou nenhuma! Pode haver controle total
das bibliotecas de programas no mainframe, nas aplicações cliente/servidor, tudo
feito de maneira totalmente artesanal.
Níveis do CMM
2.1) Nível – 1 – Inicial
As principais características das organizações de nível 1 são os problemas de gerencia (e não os de ordem técnica). Mudando-se as pessoas, a qualidade do software produzido pode mudar. Nesse nível, o processo de desenvolvimento é, para o gerente, uma caixa preta onde entram os requisitos e sai o software.
2.2) Nível – 2 – Repetível
A partir desse nível, os processos de gerência de software são documentados e
acompanhados. Políticas organizacionais orientam os projetos estabelecendo
processos de gerenciamento. Práticas bem sucedidas podem ser repetidas em novos
projetos. No nível 2 existe um sistema de gerenciamento em vigor que garante o
cumprimento de custos e prazos em projetos similares já desenvolvidos
anteriormente. Este nível possui as seguintes áreas chaves:
2.3) Nível – 3 – Definido
No nível 3 as organizações possuem um processo de desenvolvimento de software
definido, documentado e compreendido. O processo passa a ser padronizado para
toda a organização, podendo ser customizado para cada projeto. As áreas-chave
deste nível são:
2.4) Nível – 4 – Gerenciado
As organizações que possuem o nível 4 já possuem bases objetivas para a
tomada de decisão pois o processo é medido e gerenciado quantitativamente. É
possível prever o desempenho dentro de limites quantificados. O nível 4 possui
as seguintes áreas-chave:
2.5) Nível – 5 - Otimizado
O foco do nível 5 é na melhoria contínua do processo, onde a mudança de
tecnologia e as mudanças no próprio processo são gerenciadas de forma a não
causarem impacto na qualidade do produto. Neste nível possui as seguintes
áreas-chave:
Referências para a implantação do CMM:
3) Realidade de hoje
Considere um exemplo simples de planejar um sistema, desenvolvê-lo, conseguindo desdobrá-lo para todas as áreas de interesse e ainda as mesmas integrando informações entre elas. A desconexão entre o desenvolvimento e a operação proporciona freqüentes reorganizações durante o desenvolvimento do projeto tendo grandes problemas no resultado final, podendo ainda gerar incompatibilidade com o datacenter e a rentabilidade da empresa acaba indo para o “buraco”, colocando os lucros do projeto nas correções de problemas.
4) Visual Studio Team System na integração da equipe
Quando você tem povos diferentes em papéis diferentes, você tem que
comunicar-se e interagir. Isto é padrão em aplicações da empresa; entretanto,
por causa do número dos povos em papéis diferentes, não está surpreendendo que
as aberturas ocorrem na comunicação, que por sua vez pode conduzir às aberturas
em um projeto.
As equipes hoje possuem membros diferentes, que trabalham
em papéis diferentes. Cada um faz coisas diferentes com ferramentas diferentes.
Com o Visual Studio Team System, a Microsoft está indo de um foco do colaborador
a um foco do desenvolvimento, conforme a figura 1. O foco é facilitar uma
comunicação na busca de melhorias para fornecer confiabilidade durante o
projeto.
fig. 1.: Equipe
integrada
O diagrama de conexão da aplicação mostra as
aplicações definidas dentro do Visual Studio Team System. O diagrama pode ser
criado adicionando cada aplicação do toolbox, ou pode ser reverso projetado de
uma solução existente ou dos projetos existentes, conforme a figura 2.
fig. 2.: Diagrama de uma
aplicação
Uma aplicação visualiza referências a outros
sistemas que necessitarão ser gerenciados durante a distribuição. Cada aplicação
é descrita como uma caixa, com as formas menores que representam pontos da
conexão.
Se a aplicação for criada pela engenharia reversa através de um
projeto ou uma solução existente, considera-se ser executado será sincronizado
automaticamente. A abilidade de adiar a execução permite que os arquitetos e os
desenvolvedores de aplicação concentrem no projeto funcional e na validação do
sistema.
O Application Connection Designer (ACD) auxilia o arquiteto
lógico do Datacenter (LDD) a criar diagramas dos usuários lógicos
interconectados que representam a estrutura lógica de um datacenter. Estes
diagramas lógicos do datacenter comunicam a informação importante ao colaborador
sobre o ambiente da aplicação. Usando este “desenhador”, os arquitetos das
operações podem especificar e configurar os tipos de usuários no datacenter, os
tipos de comunicações permitidas, e tipos de serviços permitidos, conforme a
figura 3. Os diagramas lógicos do datacenter tipicamente serão criados e
possuídos por analistas das operações, mas serão usados por colaboradores.
fig. 3.: Diagrama de várias
aplicações
5) Conclusão
A cada dia tem se falado de aplicações como BI (Business Intelligence, ERP’s, aplicações de gestão financeira e etc..). Para a gerencia, desenvolvimento e integração dessas aplicações é necessário estruturar uma equipe composta com várias funcionalidades. Com essa equipe “mista” é necessário uma integração da mesma, estruturando uma “base” com o foco em “um” só projeto, assim o interesse no desenvolvimento do artigo e também no Visual Studio Team System.
OBS: Esse artigo é baseado no produto Visual Studio 2005 Team System e creio que será util para fins de gerência de desenvolvimento sistemas.
- Singleton - Padrão de Projeto com Microsoft .NET C SharpC#
- Novidades no MVC 4.0Metodologias e Processos
- Vai abrir um negócio? - 10 dicas de como a tecnologia pode ser usada a seu favorMetodologias e Processos
- Regras de Negócio-Por que você deveria se importar com isso?Metodologias e Processos
- Governança, redução de custos e domínio da informação nas instituições financeiras: é possível?Network