2 DESENVOLVIMENTO DA FUNDAMENTAÇÃO BIBLIOGRÁFICA
3.2 O PROCESSO DE SOFTWARE DA INSTITUIÇÃO PÚBLICA TRT12
3.2.2 Ciclo de vida do Processo
A seguir serão detalhadas as fases do processo de desenvolvimento, onde a execução de todas elas corresponde a uma iteração completa, que poderá ser executada por diversas vezes até a conclusão do projeto.
A principal adaptação no processo é onde foram explicitamente separadas as fases de Homologação e Implantação, conforme ilustração abaixo.
Figura 16 - Fases do processo de desenvolvimento da instituição pública TRT12
(Fonte: Elaboração do autor, 2014)
A definição do modelo de ciclo de vida de processo, que dará as instruções de como as atividades serão realizadas e servirá como um guia para a execução do processo de desenvolvimento, deve ser feita conforme o projeto, o perfil da equipe e o perfil da equipe de negócio. Além disso, a adoção de um modelo também deve considerar as características da
organização e as ações que melhores se adaptam para solucionar o problema em questão, entretanto, em sua totalidade, o modelo clássico em cascata é adotado.
Toda a documentação é confeccionada na ferramenta Entreprise Architect (EA), pois assim se mantém a rastreabilidade entre requisitos, as regras de negócio e casos de uso.
A linguagem de programação Java Platform (Enterprise Edition) é a padrão para os sistemas para web desenvolvidos, assim como o uso do framework JCompany, que define uma arquitetura básica para os sistemas.
Como ferramental de apoio ao processo de desenvolvimento o Subversion (SVN) é utilizado como repositório de código fonte. O ambiente de integração contínua é mantido com o auxílio do Jenkins, onde é executado um build completo no sistema após cada commit no SVN e erros são acusados a qualquer falha de construção ou nos testes unitários. O gerenciamento dos
bugs e melhorias dos sistemas é feito cadastrando tíquetes na ferramenta Atlassian Jira, que permite
também o rastreamento dos commits. Para o gerenciamento de casos de teste é utilizada a ferramenta Testlink.
Concepção
A fase de concepção do processo segue o fluxo abaixo, iniciando-se após a aprovação da demanda pelas partes envolvidas (presidência, área interessada e área de TI), seja ela um novo sistema ou melhoria de um sistema existente. Esta é a fase que responde a pergunta “O que queremos e como?”.
• A gerência prepara o documento de visão e um esboço do plano de projeto, com estimativa de cronograma, possíveis riscos e os recursos envolvidos;
• Inicia-se o levantamento de requisitos com entrevistas e discussões com usuários e entre a equipe técnica.
Figura 17 - Fase de Concepção
(Fonte:
Elaboração do autor, 2014)
• Listar e Estimar demandas
Papel responsável: Gerente de Projeto.
Artefatos de entrada: Necessidades dos clientes.
• Aprovar demandas com cliente
Papel responsável: Gerente de Projeto.
Artefatos de entrada: Lista de necessidades com estimativa de esforço e custo. Artefatos de saída: Lista de necessidades aprovadas e priorizadas.
• Planejar versão
Papel responsável: Gerente de Projeto.
Artefatos de entrada: Lista de necessidades aprovadas e priorizadas.
Artefatos de saída: Plano de projeto (Subconjunto de necessidades escolhidas para o ciclo de desenvolvimento (versão), cronograma, recursos necessários).
• Levantar requisitos e casos de uso
Papel responsável: Analista de sistemas.
Artefatos de entrada: Lista de necessidades aprovadas e priorizadas.
Artefatos de saída: Diagramas de casos de uso, requisitos, regras de negócio.
• Realizar contagem por UCP
Papel responsável: Analista de sistemas.
Artefatos de entrada: Diagramas de casos de uso, requisitos, regras de negócio. Artefatos de saída: Planilha de contagem de UCP (pontos por caso de uso).
• Atualizar plano de projeto após levantamento de requisitos Papel responsável: Gerente de projetos.
Artefatos de entrada: Planilha de contagem de UCP (pontos por caso de uso). Artefatos de saída: Cronograma e orçamento do projeto atualizados.
• Aprovar concepção com o cliente
Papel responsável: Gerente de projetos.
Artefatos de entrada: Cronograma do plano de projeto atualizado e planilha de UCP. Artefatos de saída: Lista de casos de uso, requisitos e regras de negócio aprovados e/ou rejeitados, cronograma e custo atualizados.
• Identificar Casos de Teste
Papel responsável: Analista de testes.
Artefatos de entrada: Lista de casos de uso, requisitos e regras de negócio aprovados. Artefatos de saída: Lista de candidatos a casos de teste.
Elaboração
Na fase de elaboração do processo é onde os artefatos gerados na fase de concepção são detalhados e o foco são os riscos técnicos e arquiteturais. Nesta fase aparece o papel da fábrica de software e consigo todas as questões contratuais a serem observadas e seguidas. Por sofrer auditorias, todos os artefatos definidos no contrato devem estar presentes, mesmo que sejam pouco informativos. Esta é a fase que responde a pergunta “Como faremos o que foi solicitado?”.
• Plano de projeto, documento de visão e documento de arquitetura padrão da instituição, contendo os principais componentes, são repassados à fábrica de software;
• Prazo para a entrega da elaboração é definido entre a instituição pública TRT12 e a fábrica de software;
• Fábrica de software analisa a documentação e, após o prazo previamente estabelecido, devolve a documentação da elaboração com o detalhamento de todos os casos de uso com fluxos básico e alternativo, diagramas de sequência para os casos de uso que envolvam regras de negócio adicionais ao padrão estabelecido no framework escolhido, descrição de métodos e seus comportamentos e protótipos refinados de todas as telas do sistema.
• Analistas da instituição pública TRT12 validam a elaboração entregue pela fábrica de software;
• Analistas da instituição pública TRT12 confeccionam e disponibilizam, para análise da fábrica de software, a planilha de pontos de caso de uso de cada iteração que será realizada. Mesmo não dando o aceite em relação à planilha, que poderá ser discutido em reunião específica, inicia-se o processo de construção.
Figura 18 - Fase de Elaboração
Fonte: (Elaboração do autor, 2014)
• Repassar concepção para fábrica Papel responsável: Analista de sistemas.
Artefatos de entrada: Lista de casos de uso, requisitos, regras de negócio aprovados e planilha de UCP.
Artefatos de saída: Abertura da Ordem de Serviço para a Fábrica de Software.
• Planejamento da execução
Papel responsável: Gerente de projetos da fábrica de software. Artefatos de entrada: Planilha de UCP.
Artefatos de saída: Cronograma de construção e elaboração da fábrica de software.
• Atualizar cronograma com informações da fábrica de software Papel responsável: Gerente de projetos.
Artefatos de entrada: Cronograma de construção e elaboração da fábrica de software. Artefatos de saída: Plano de projeto e Cronograma atualizados.
• Elaboração
Papel responsável: Analista de sistemas da fábrica de software.
Artefatos de entrada: Concepção (casos de uso, requisitos e regras de negócio).
Artefatos de saída: Elaboração (casos de uso extendidos, arquitetura, diagramas de sequência, classes).
• Revisar elaboração
Papel responsável: Analista de sistemas.
Artefatos de entrada: Elaboração (casos de uso extendidos, arquitetura, diagramas de sequência, classes).
Artefatos de saída: Documento de aprovação da elaboração.
• Atualizar Plano de Testes
Papel responsável: Analista de testes. Artefatos de entrada: Elaboração aprovada. Artefatos de saída: Casos de teste detalhados.
Construção
A fase de construção do processo é realizada inteiramente na fábrica de software. Ela é iniciada com o repasse do pacote de trabalho, representado na planilha de pontos de caso de uso, da primeira iteração para a fábrica de software.
• O primeiro pacote de trabalho é repassado para a fábrica de software; • Fábrica de software entrega o cronograma previsto para a construção; • Analistas da instituição pública TRT12 finalizam os cenários de teste;
• Fábrica retorna o produto de trabalho que é o código fonte, os testes unitários, a documentação de configuração do sistema e o relatório de teste do Testlink;
• Analistas de teste validam o módulo ou software entregue pela fábrica de software e liberam ou não para a homologação.
Figura 19 – Fase de construção
Fonte: (Elaboração do autor, 2014)
• Construção
Papel responsável: Programador da fábrica de software. Artefatos de entrada: Elaboração aprovada.
Artefatos de saída: Sistema (código fonte, banco de dados, evidências de teste, manuais).
• Deploy no Ambiente de Testes
Artefatos de entrada: Sistema.
Artefatos de saída: Ambiente de testes pronto para execução.
• Executar Teste Fumaça
Papel responsável: Analista de Testes.
Artefatos de entrada: Sistema no ambiente de testes e lista de casos de uso. Artefatos de saída: Relatório de log de execução de testes de fumaça.
• Fechar release candidate
Papel responsável: Analista de Sistema.
Artefatos de entrada: Relatório de log de execução de testes de fumaça sem incidentes. Artefatos de saída: release do sistema .
• Executar Casos de Testes
Papel responsável: Analista de Teste. Artefatos de entrada: Plano de testes.
Artefatos de saída: Relatório de log de testes.
• Fazer análise de impacto dos bugs
Papel responsável: Gerente de projeto.
Artefatos de entrada: Relatório de log de testes e Elaboração.
Artefatos de saída: Relatório de defeitos conhecidos da release candidate.
• Planejar nova release candidate
Papel responsável: Gerente de projeto.
Artefatos de entrada: Relatório de defeitos conhecidos da release candidate. Artefatos de saída: Lista de bugs a corrigir e atualização de cronograma.
• Liberar bugs para construção
Papel responsável: Analista de sistemas. Artefatos de entrada: Lista de bugs a corrigir.
software.
• Atualizar Planilha UCP (recontagem)
Papel responsável: Gerente de projeto da fábrica de software.
Artefatos de entrada: Sistema (código fonte, banco de dados, evidências de teste, manuais).
Artefatos de saída: Planilha UCP atualizada (com casos de uso e/ou regras de negócio identificados durante a elaboração e construção).
• Revisar Planilha Recontagem UCP
Papel responsável: Analista de sistemas.
Artefatos de entrada: Planilha UCP atualizada pela fábrica de software.
Artefatos de saída: Planilha UCP revisada e consolidada (versão final), Plano de projeto com cronograma e custo atualizado.
• Atualizar Ordem de Serviço
Papel responsável: Gerente de Projetos.
Artefatos de entrada: Ordem de serviço e Planilha UCP final. Artefatos de saída: Ordem de serviço final.
Homologação
A fase de Homologação do processo, que foi personalizada, é executada somente após todas as iterações necessárias das fases anteriores, ou seja, os clientes só verão o produto final do desenvolvimento nesta fase.
Os testes realizados na fase de homologação são executados num ambiente semelhante ao de produção e sinalizam como um aceite, desde que realizados com sucesso, da equipe de negócio em relação ao produto entregue pela fábrica e desde que esteja condizente com os critérios de aceite do contrato firmado com a instituição pública TRT12.
A fase de homologação também compreende a oportunidade de efetuar o treinamento dos usuários multiplicadores.
• Analista de Sistema e Analista de Teste da instituição pública TRT12 efetuam a homologação técnica até que o software possa ser homologado pela equipe de negócio;
• Liberada a homologação, a equipe técnica realiza uma homologação assistida junto da equipe de negócio, que realiza testes livres no sistema, assim como executa testes seguindo um roteiro proposto pela equipe técnica;
• Equipe de negócio avalia a necessidade de correções e melhorias impeditivas, solicitando-as se necessário, e iniciando a construção imediatamente, se verdadeiro;
• Se aceita a versão homologada ou que as melhorias sejam implementadas posteriormente, o sistema é liberado para implantação;
Figura 20 - Fase de homologação
• Planejar Homologação
Papel responsável: Gerente de Projeto.
Artefatos de entrada: Plano de projeto e manual técnico do sistema. Artefatos de saída: Plano de Homologação.
• Preparar Testes de Aceitação
Papel responsável: Analista de Teste.
Artefatos de entrada: Necessidades e requisitos funcionais. Artefatos de saída: Lista de testes de aceitação.
• Solicitar deploy em homologação
Papel responsável: Analista de sistema. Artefatos de entrada: Plano de homologação.
Artefatos de saída: Requisição de mudança (atualização do ambiente de homologação).
• Colocar versão em homologação
Papel responsável: Setor de infraestrutura.
Artefatos de entrada: Plano de homologação e requisição de deploy. Artefatos de saída: Sistema em execução no ambiente de homologação.
• Preparar ambiente de homologação
Papel responsável: Setor de infraestrutura.
Artefatos de entrada: Plano de homologação e requisição de deploy.
Artefatos de saída: Ambiente de homologação configurado (servidores, banco de dados, etc).
• Executar Testes de Aceitação
Papel responsável: Analista de Teste.
Artefatos de entrada: Lista de testes de aceitação.
Implantação
A fase de implantação do processo compreende disponibilizar o software no ambiente de produção. É nesta fase também, antes que o sistema entre em produção, que deverá ocorrer o treinamento de usuários, suporte do sistema, registro no Jira para correção de bugs, assim como implementação de melhorias que foram adiadas.
Figura 21 – Fase de implantação
Fonte: (Elaboração do autor, 2014).
• Planejar Treinamento
Papel responsável: Gerente de projeto.
Artefatos de entrada: Plano de projeto, casos de uso e requisitos funcionais. Artefatos de saída: Plano de treinamento.
• Executar treinamento
Papel responsável: Analista de sistema.
Artefatos de entrada: Manual técnico do sistema.
Artefatos de saída: Análise dos requisitos levantados para o desenvolvimento.
Papel responsável: Gerente de Projeto.
Artefatos de entrada: Plano de projeto e manual técnico do sistema. Artefatos de saída: Plano de Implantação.
• Solicitar deploy em produção
Papel responsável: Analista de sistema. Artefatos de entrada: Plano de implantação.
Artefatos de saída: Requisição de mudança (atualização do ambiente de produção).
• Preparar ambiente de produção
Papel responsável: Setor de infraestrutura.
Artefatos de entrada: Plano de implantação e requisição de deploy.
Artefatos de saída: Ambiente de produção configurado (servidores, banco de dados, etc).
• Atualizar versão em produção
Papel responsável: Setor de infraestrutura.
Artefatos de entrada: Plano de implantação e requisição de deploy. Artefatos de saída: Sistema em execução no ambiente de produção.