38
ALM Application Lifecycle Management

Application Lifecycle Management · 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

Embed Size (px)

Citation preview

ALMApplication Lifecycle Management

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).

Definição

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

Requisitos

Pilares

Pilares: Pessoas

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

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

Pilares: Ferramentas

As “ferramentas” são os meios/equipamentos/tecnologias que automatizam e facilitam a condução dos processos pelas pessoas.

Fases

Definição

Application Lifecycle Management

Iniciar Definir Escolher

Construção

Planejar Construir Distribuir

Operação

Executar

Avaliar

Manter

Finalizar

Evoluir

Fim

Fases: Definição

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

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

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

Ferramentas: Definição e Construção

Operações

SDLC

Ferramentas: Operações

Mercado

Cliente Interno

Cliente Direto

ITIL(9000 & 27000)

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

Obrigado!