Workshop
Smart SoftwareSPA Saúde
Agenda
• A Smart Software
• Tecnologias e Ferramentas
• Metodologia de Trabalho
• Algumas Considerações
A Smart Software
• Foco no desenvolvimento e integração de soluções corporativas
• Parcerias baseadas em produtos open source
• Suporte a soluções open source• Treinamento personalizado e de
produtos de linha.
A Smart Software
Principais Clientes
Parceiros Tecnológicos
A Smart Software
InovaçãoInovaçãoInovaçãoInovação
Paixão pela Paixão pela TecnologiaTecnologia
Paixão pela Paixão pela TecnologiaTecnologia
Transparência Transparência com o Clientecom o Cliente
Transparência Transparência com o Clientecom o Cliente
Ferramentas on-line para acompanhamento de projetos e abertura de chamados
Centro de excelência em contato direto com as novidades tecnológicas
Participação ativa na comunidade, contribuição em projetos open source e palestras em eventos técnicos
Tecnologia e Mercado
Colaboração
Mobilidade
Virtualidade
Conectividade
Tecnologia e Mercado
• Evolução tecnológica mudando a forma de trabalho das pessoas• Automatização de processos• Home-Office• Empresas distribuídas geograficamente
Tecnologia e Mercado
• Evolução tecnológica mudando o relacionamento cliente x fornecedor• Mau atendimento pode “cair na rede”
• Exemplo: Vídeo “A United quebra violões”http://www.youtube.com/watch?v=t53LYUamBZI&feature=player_embedded
• Exemplo: Site “Reclame Aqui” http://www.reclameaqui.com.br/
• Empresas contratando pessoas para “monitorar” redes sociais
Tecnologia e Mercado
• A plataforma tecnológica deve suportar a evolução dos processos da empresa, considerando:• Necessidade de automatização de
novos processos• Mudanças regulatórias• Mudanças nas estratégias de negócio• Necessidades do mercado
Tecnologias de Desenvolvimento
Portal Web Corporativo
Desenvolvimento de interfaces no modelo Rich Web Application
Framework de Desenvolvimento com foco no modelo de
desenvolvimento em camadas
x
Tecnologias de Desenvolvimento
Tecnologias de Desenvolvimento
Ambiente
Integrado
Ambiente
Integrado
Processo de Desenvolvimento
Engenharia De
Requisitos
Engenharia De
Requisitos
NecessidadesNecessidadesdos usuáriosdos usuários
Solução de T.ISolução de T.I(software)(software)
Falta muito para chegar lá ?Falta muito para chegar lá ?
AnáliseAnálise ProjetoProjeto CodificaçãoCodificação TestesTestes
Processo de Desenvolvimento
Processo de Desenvolvimento
• Conjunto de atividades cuja meta é o desenvolvimento ou evolução de um software
• Representa um arcabouço contendo – Sequência e atividades a serem realizada
durante o desenvolvimento– Técnicas para gerenciamento de projeto– Produtos de Trabalho– Métodos para coordenação das mudanças
de requisitos
Processo de Desenvolvimento
ENGENHARIA DE SISTEMAS/
ESPECIFICAÇÃO DE REQUISITOS
ENGENHARIA DE SISTEMAS/
ESPECIFICAÇÃO DE REQUISITOS
PROJETOPROJETO
ANÁLISEANÁLISE
CODIFICAÇÃOCODIFICAÇÃO
MANUTENÇÃOMANUTENÇÃO
TESTETESTE
Coleta de requisitosEscopoAvaliação do sistema atualDefinição de metas e objetivosViabilidadesCustos e prazosEscolha das metodologias
Intensificação das atividades de coleta de requisitos, concentrando especificamente no software Modelagem alto nível, independente de tecnologia
Processos Iterativos e Incrementais
• Iteração– É um conjunto de atividades executadas por disciplina
dentro de cada fase do processo
Documentação de Projeto
Modelo de Análise
Prova de Conceito Arquitetural
Modelo de Dados
Modelo Implantação
Modelo de Projeto
Mapa de Navegação
Doc. Arquitetura de Referência
Doc de Arquitetura Software
Protótipos Interface
Glossário
Requisitos de Software
Doc. Especificação de Requisitos
Requisitos de Usuário
Especificação Suplementar
Modelo de Caso de Uso
Documento de Visão
Caso de Negócio
Avaliação da Iteração
Plano de Iteração
Registro de Revisão
Lista de Riscos
Plano de Desenv. Software
Avaliação de Status
Ordem de Trabalho
Documentos Análise e Design
Documentos Requisitos
Documentos Ger. Projetos
Metodologias Ágeis
• Manifesto – Indivíduos e interações em vez de
processos e ferramentas– Software funcionando em vez de
documentação abrangente– Colaboração do Cliente em vez de
negociação de contratos– Resposta às modificações em vez de seguir
um plano
Metodologias Ágeis
• Alguns princípios– Satisfação do cliente por meio de
entregas contínuas– Modificações de requisitos são bem-
vindas– Pessoas de negócio e desenvolvimento
atuando em conjunto– Indivíduos motivados– Conversa face a face para levantamento
de informações
Metodologias Ágeis
• Alguns princípios– Medida de progressão baseada no
software funcionando– Ritmo constante e sustentável de
desenvolvimento– Excelência técnica e simplicidade
Metodologias Ágeis
• Metodologias ágeis admitem as seguintes suposições– É difícil prever antecipadamente quais
requisitos irão persistir e quais serão modificados
– Projeto e construção devem ser realizados de forma conjunta
– Análise, projeto, construção e teste não são tão previsíveis em termos de planejamento como gostaríamos
Gestão Ágil com Scrum
1. Definição do backlog do produto junto com o Product Onwer
2. Planejamento do Sprint
3. Desenvolvimento( 2 a 4 semanas )
4. Reunião Diária - O que você fez hoje ?- O que fará amanhã? - O que está impactando
5. Finalização do Sprint com uma versão passível de entrega6. Reuniões de avaliação
Gestão Ágil com Scrum
• Product Backlog– Visão do produto– Representado através de uma lista com
itens priorizados e ordenados de acordo com o valor que representam para o cliente
– Existe durante todo o ciclo de vida do projeto
– Deve ser regularmente atualizado para refletir mudanças e necessidades do cliente
Gestão Ágil com Scrum
• Sprint– Time-Box de 2 a 4 semanas onde o time
de projeto irá produzir uma parte do produto definida pelo cliente
– Necessidade de entregas frequentes de valor para o cliente, diferente dos modelos tradicionais onde o produto é desenvolvido ao longo de um período e a entrega é feita apenas ao final, como um “produto pronto”
Gestão Ágil com Scrum
• Sprint– Deve ser empreendido por uma equipe
multidisciplinar com no máximo 9 pessoas
– Cada sprint deve ter uma meta específica que represente o desejo do cliente para um determinado time-box
Gestão Ágil com Scrum
• Ao final de cada Sprint, o time deve ter produzido um incremento potencialmente entregável do produto– Com qualidade, testado, completo e pronto
R1
S1 S2 S3 S4
S1, S2, S3 e S4 são produtos potencialmente entregáveis
R1 é um entregável!
Gestão Ágil com Scrum
• Daily Meeting– O que fiz desde a última reunião ?– O que pretendo fazer até a próxima ?– Tenho impedimentos ?
• Cuidados– Não é coffee-break– Não é bate-papo – Não é julgamento
Gestão Ágil com Scrum
• Review Meeting– Apresentação dos resultados da iteração
para os clientes– Todos participam
• Possíveis consequências– Repriorização de funcionalidades não
terminadas– Solicitar fechamento da release– Não autorizar outra Sprint– ...
Gestão Ágil com Scrum
• Retrospectivas– Busca melhoria nos processos ao final
de cada Sprint• O que foi bom ? O que deve ser melhorado?
– Facilitada pelo ScrumMaster– O Time propõe soluções para os
problemas que o atrapalham/irritam
Gestão Ágil com Scrum
• Scrum Board– Utilizado para acompanhamento de atividades
Gestão Ágil com Scrum
• Burn Down Chart– Utilizado para visualizar o andamento do projeto
Gestão Ágil com Scrum
Modelo de Análise
Prova de Conceito Arquitetural
Modelo de Dados
Modelo Implantação
Modelo de Projeto
Mapa de Navegação
Doc. Arquitetura de Referência
Doc de Arquitetura Software
Protótipos Interface
Glossário
Requisitos de Software
Doc. Especificação de Requisitos
Requisitos de Usuário
Especificação Suplementar
Modelo de Caso de Uso
Documento de Visão
Product Backlog
Caso de Negócio
Avaliação da Iteração
Plano de Iteração
Registro de Revisão
Lista de Riscos
Plano de Desenv. Software
Avaliação de Status
Ordem de Trabalho
Sprint Backlog
Documentos Análise e Design
Documentos Requisitos
Documentos Ger. Projetos
Documentação enxuta
NecessidadesNecessidadesdos usuáriosdos usuários
Considerações: O ponto de partida
1. Eu realmente conheço minhas necessidades2. Quais processos quero/preciso automatizar3. Tenho processos ?
A Engenharia de Requisitos é justamente a etapa do projeto que visa auxiliar o cliente a transformar necessidades em requisitos de sistema, porém, não resolve problemas e nem cria processos.
Engenharia De
Requisitos
Engenharia De
Requisitos
Solução de T.ISolução de T.I(software)(software)
AnáliseAnálise ProjetoProjeto CodificaçãoCodificação TestesTestes
Considerações: Visão da E.A
... ambiente integrado e otimizado para suportar as estratégias de negócio das empresas.Define como informação e tecnologia irão
suportar as operações de uma empresa e prover benefícios para os negócios
Considerações: Visão da E.A
• Componentes e seus inter-relacionamentos, no contexto da Arquitetura Corporativa
PrincípiosEstrutura organizacionalProcessos de negócioPessoasAplicações, dados e infraestruturaTecnologia
Considerações: Visão da E.A
1. Objetivos de Negócio
2. Estratégia3. Processos
Na visão da Arquitetura Corporativa, T.I é um meio (muito importante), mas um meio para se atingir os objetivos de negócio
Considerações: Responsabilidades
Definição/Redefiniçãode Processos
Engenharia e especificação de
requisitos
Projeto, Desenvolvimento,
Implantação, Suporte e Mentoring
SPASPA SmartSmart
mentoring
Usuários Conhecem o negócioFundamentais para o levantamento
das informaçõesT.I
Sabe traduzir necessidades em requisitos de sistema
Prover informações para a fábrica de software
SmartConhece tecnologiaConhece ferramentasExperiência em projetos críticosResponsável pela implementação
do projeto e orientação técnica no levantamento e especificação de requisitos
Concluindo
Rogério A. [email protected]