A atividade de construção de aplicações é executada através do emprego intenso do trabalho humano, consequentemente exige das empresas somas de investimento financeiro. Parte deste investimento é consumido por atrasos de cronograma, retrabalho, testes inadequados e outros. Estima-se que em 2002, foram gastos cerca 20 bilhões de dólares só com testes inadequados de software feito por desenvolvedores de software.
Em paralelo, desde a década de 90, a tecnologia da informação está cada vez mais presente dentro das empresas e na vida das pessoas. A Tecnologia da informação (TI) surgiu inicialmente dentro dos mainframes, passou pela revolução da microcomputação para as massas, até chegar na computação na nuvem. Hoje podemos ver bolsas de valores automatizadas, empresas de telecomunicações administrando milhares de chamadas simultâneas, cadeias de suprimentos totalmente integradas e tanto outros segmentos usando massivamente TI.
Com isto temos um paradoxo: de um lado há o uso contínuo e massivo de aplicações no dia-a-dia das empresas e usuários e do outro lado a dificuldade em produzir as mesmas aplicações de forma sofisticada e com a qualidade desejada. Esse desafio vem motivando o surgimento de métodos e ferramentas de trabalho para a organização dos processos de produção de aplicações e engenharia de software. O objetivo desta é apresentar uma introdução sobre o gerenciamento do ciclo de vida de uma aplicação, desde sua concepção até o processo de manutenção evolutiva, também conhecido como Application Lifecycle Management (ALM).
ALM é todo o processo que guia a vida útil de uma aplicação desde a sua concepção, passando pela construção, operação e evolução.
O ALM não apenas observa qual é o método de construção, mas preocupa-se também em como a empresa está gastando o seu dinheiro no gerenciamento daquele ativo corporativo.
Um destaque importante é a diferença entre Application Lifecycle Management (ALM) e Software Development Lifecycle (SDLC).
O SDLC pode ser definido em uma tradução livre, de acordo com Jayaswal & Patton [J&P1], como “um processo focado no desenho, criação e manutenção de aplicações”.
O ALM é um guia que acompanha toda vida da aplicação, tendo o SDLC como uma das fases do ciclo de vida.
Importante
Pilares: Pessoas
Analista de Negócios
O objetivo do Analista de Negócios é entender as necessidades e comunicá-las para a equipe do projeto. A sua atuação se concentra junto a usuários, clientes e outros participantes, transformando suas percepções em cenários, modelos e requisitos documentados. Ele também é responsável em administrar as expectativas junto aos participantes do projeto.
Pilares: Pessoas
Gerente de Projeto
O objetivo do Gerente do Projeto é entregar o projeto dentro do orçamento e prazo acordados. Seu trabalho se concentra no planejamento do projeto, elaboração do cronograma, monitoração das atividades do projeto.
Pilares: Pessoas
Arquiteto
O objetivo do Arquiteto é desenhar as fundações da aplicação. Inclui estruturar tanto do ponto de vista lógico, como físico de como a aplicação funcionará, bem como o seu comportamento no ambiente de produção. Em paralelo, o Arquiteto procura reduzir a complexidade da aplicação, dividindo-a em partes simples. O uso de boas práticas e modelos de mercado ajuda o Arquiteto na execução do seu trabalho.
Pilares: Pessoas
Programador
O objetivo do Programador é transformar as especificações em código. O Programador também ajuda na criação da especificação física de algumas funcionalidades, estimar tempo para a construção, compilar e preparar a aplicação para a distribuição.
Pilares: Pessoas
Analista de Testes
O objetivo do Analista de Testes é desenhar as fundações do teste. Inclui estruturar tanto do ponto de vista lógico, como físico de como o testes funcionarão, bem como o seu comportamento nos ambientes. O uso de boas práticas e modelos de mercado ajuda o Analista de Testes na execução do seu trabalho.
Pilares: Pessoas
Testador
O objetivo do Testador é descobrir problemas na aplicação e informá-los para a correção. O trabalho do Testador consiste em executar testes pré-definidos ou exploratórios, coletar as amostras dos resultados e compará-las com o esperado. Uma vez detectado um problema, o Testador deve informar à equipe as condições para reprodução do problema.
Pilares: Pessoas
Operações
O objetivo de Operações é suportar o processo de distribuição da nova aplicação para o ambiente de produção e de usuários.
Pilares: Pessoas
Executivo (Comercial)
Em uma perspectiva ampla, o objetivo do Executivo é buscar o alinhamento estratégico e resultado financeiro.
Pilares: Processos
O pilar “processos” é identificado como todo o conjunto de boas práticas, artefatos, guias e manuais que conduzem a construção e manutenção de uma aplicação.
Entenda que ao falarmos de processos, estamos falando desde os processos de levantamento das necessidades, passando pela construção (SDLC) e até finalmente no monitoramento das aplicações em ambiente operacional.
Pilares: Ferramentas
As “ferramentas” são os meios/equipamentos/tecnologias que automatizam e facilitam a condução dos processos pelas pessoas.
Definição
Application Lifecycle Management
Iniciar Definir Escolher
Construção
Planejar Construir Distribuir
Operação
Executar
Avaliar
Manter
Finalizar
Evoluir
Fim
Fases: Definição
A fase de “definição” procura identificar quais as necessidades e motivações que uma empresa tem. Por exemplo, o surgimento de um mercado novo, um problema na linha de produção, busca por informações competitivas ou outras.
Dentro da fase “definição” há as etapas: ”Iniciar” é a responsável em alocar os recursos iniciais (processos, ferramentas e pessoas); “Definir” ela é responsável estruturar a idéia, definir estratégias, métodos e ferramentas para guiar o surgimento de uma nova aplicação. É vital para o sucesso deste empreendimento, que estas duas etapas estejam alinhadas junto ao plano estratégico da empresa e às direções da arquitetura corporativa. Vale destacar que uma boa definição é o resultado de uma comunicação clara e eficaz com todos os envolvidos.
Fases: Definição
A etapa “escolher” identifica dentro das várias opções de ferramentas, métodos e tecnologias, quais são os adequados. Seja através da construção de uma aplicação própria (aplicações externas e internas), da aquisição de algum pacote externo (aplicações de fornecedores) ou até mesmo de uma união entre ambas.
Usam-se várias técnicas para identificar, tais como: técnicas de levantamento, disciplinas de avaliação de retorno de investimentos (ROI – Return Of Investiment) e busca de referências no mercado.
Fases: Construção
A fase “Construção” é onde ocorre a execução do plano definido nas fases anteriores. Usam-se as disciplinas de gerenciamento de projeto para conduzir o plano. Define-se várias áreas de atuação dentro de um projeto, cada qual com suas entradas, ações e resultados esperados.
Fases: Construção
Deve-se procurar pelo equilíbrio entre os três principais aspectos de um projeto: recursos, tempo e funcionalidades/qualidades. O termo “Recursos” pode ser entendido como todos os recursos (pessoas, máquinas, equipamentos, tecnologias) necessários para execução do projeto. “Funcionalidades/qualidade” são os resultados esperados da execução do projeto, tangíveis ou não. E “tempo”, é o período esperado em que o projeto seja executado.
Fases: Operação
A fase “operação” se dá no momento em que a aplicação está construída, e vamos distribuí-la, além de mantê-la funcional no ambiente dos clientes e da empresa. Os departamentos da empresa e clientes responsáveis em manter a infraestrutura de TI são os mais envolvidos nesta etapa. Ser capaz de monitorar, governança, suporte de fornecedores, entre outras tarefas tornam a fase de operação mais crítica para organização.
mercado
produtos
definição
Desenvolvimento(programadores e
testadores)
construção
suporteserviços
operação
Application Lifecycle Management
TI
projetos
SDLCMetodologia de Desenvolvimento de SoftwareROI
ITIL
Gestão de Projeto
QAgerenciamento de configuração
QA
TI
projetos
TI
QA
Sharepoint
TFS & PROJECT
Suporte Intranet Comunicação
Sistema de Gestão ALM
Governança
Gerenciamento
Integração
Service Manager
Integração
ControleControle
Suporte
SharepointLync
Op
eraç
ãoO
per
ação
Co
nst
ruçã
oC
on
stru
ção
Def
iniç
ãoD
efin
ição
Intranet
ConhecimentoConhecimentoInfraestruturaInfraestrutura
Central VOIP
Messageria (Exchange)
MTM
TecnologiaTecnologia
TFS
TFS TFS
Central VOIP
Lync
Lync
Lync
TFS
Service Manager
Intranet
Intranet
Service ManagerService Manager
Service Manager
Messageria (Exchange)
Messageria (Exchange)
Sharepoint
Sharepoint
Suporte
Suporte
Suporte
Suporte
ISO 9000
ISO 27001
SDLC
SDLC
ITIL
MDS
Top Related