32
1 PDS - IFFarroupilha - SVS Processo de Desenvolvimento de Software Maicon de Brito do Amarante Analista de TI

Processo de Análise e Desenvolvimento de Software (PDS)

Embed Size (px)

Citation preview

Page 1: Processo de Análise e Desenvolvimento de Software (PDS)

1

PDS - IFFarroupilha - SVS

Processo de Desenvolvimento de Software

Maicon de Brito do AmaranteAnalista de TI

Page 2: Processo de Análise e Desenvolvimento de Software (PDS)

2PDS - IFFarroupilha - SVS

Objetivo

Apresentar, na prática, as dimensões gerencial e executiva do Processo de Desenvolvimento de Software (PDS) do Instituto Federal Farroupilha – Campus São Vicente do Sul.

Page 3: Processo de Análise e Desenvolvimento de Software (PDS)

3PDS - IFFarroupilha - SVS

Coordenação de TI

Coordenação GeralSetor de Análise e Desenvolvimento de Sistemas (ADS)Setor de Infraestrutura e RedesSetor de Suporte e ManutençãoGovernança de TI

Page 4: Processo de Análise e Desenvolvimento de Software (PDS)

4PDS - IFFarroupilha - SVS

Setor de ADS

MissãoDesenvolver SistemasImplantar soluçõesSuporte a sistemasAdministrar Bancos de Dados

ProjetosGestão do ConhecimentoBusiness Intelligence

ProgramasEstágio orientadoCapacitação interna

Page 5: Processo de Análise e Desenvolvimento de Software (PDS)

5PDS - IFFarroupilha - SVS

Setor de ADS

Equipe2 servidores4 estagiários1 bolsista de iniciação científica

Page 6: Processo de Análise e Desenvolvimento de Software (PDS)

6PDS - IFFarroupilha - SVS

Roteiro

GerênciaGestão de demandasAbertura do projetoDefinição do processoPDS-Scrum

ExecuçãoWorkflowFerramentas

Page 7: Processo de Análise e Desenvolvimento de Software (PDS)

8PDS - IFFarroupilha - SVS

Gerência

Page 8: Processo de Análise e Desenvolvimento de Software (PDS)

9PDS - IFFarroupilha - SVS

Gestão de demandas

Avaliação da demandaaceitar/rejeitardefinir prioridade – critérios:

alinhamento estratégicoexigência legalusuários atentidoscapacidade de produção

Page 9: Processo de Análise e Desenvolvimento de Software (PDS)

10PDS - IFFarroupilha - SVS

Processo de Software

Ad hoc (não é mais utilizado)

PDS-RUP (clássica)

PDS-Scrum (ágil)

Escolher conforme as características do projeto:volatilidade dos requisitosdificuldade em capturar os requisitosentregáveis: incrementais?localização da equipe: centralizada ou distribuída?

Page 10: Processo de Análise e Desenvolvimento de Software (PDS)

11PDS - IFFarroupilha - SVS

PDS-RUP

DisciplinasAbertura do ProjetoRequisitosAnálise e ProjetoImplementaçãoTesteImplantação e Manutenção

Maiores problemas:Documentação muito demorada / desatualizadaO cliente se afasta muito do projetoReage mal à mudanças

CDU

Page 11: Processo de Análise e Desenvolvimento de Software (PDS)

12PDS - IFFarroupilha - SVS

PDS-Scrum – visão geral

Page 12: Processo de Análise e Desenvolvimento de Software (PDS)

13PDS - IFFarroupilha - SVS

PDS-Scrum

Alinhamento com MPS.BR nível G

Gestão de Projetos - GPR 1 a 17 - ex.:GPR 2

MPS.BR: Dimensionamento de tarefas e produtos de trabalho

PDS-Scrum: Product Backlog / Sprint Backlog

GPR 6

MPS.BR: Riscos do projeto

PDS-Scrum: Planejamento de Riscos - PMBOK

Gerenciamento de Requisitos - GRE 1 a GRE 5 - ex.:GRE 4

MPS.BR: Revisões em planos e produtos de trabalho do projeto

PDS-Scrum: Daily Scrum Meeting e Sprint Review Meeting

Page 13: Processo de Análise e Desenvolvimento de Software (PDS)

14PDS - IFFarroupilha - SVS

Sprint Planning

Pre-gameDefinir requisitos macro (funcionalidades principais)Kickoff Meeting

Definir papéisProduct Owner, Scrum Master, Time

Definir Product Backlogorganizar por prioridades

Definir duração da sprintDefinir Sprint Backlog 1

Page 14: Processo de Análise e Desenvolvimento de Software (PDS)

15PDS - IFFarroupilha - SVS

Sprint Planning

Executar iterativamente da Sprint 1 até Sprint n:

Sprint Planning Meeting 1 (PO, Scrum Master, Time)Consolidar os itens do PB que farão parte da Sprint, revisando o planejamento inicialCritérios: Precedência, importância/urgência para o usuário

Sprint Planning Meeting 2 (Scrum Master, Time)Definir e atribuir tarefas (Duração, Prazo de conclusão)

Page 15: Processo de Análise e Desenvolvimento de Software (PDS)

16PDS - IFFarroupilha - SVS

Sprint

GameDaily Scrum MeetingWeekly Technical MeetingTarefas – TO DO | In Progress | Done

Post-gameSprint Retrospective Meeting (Scrum Master, Time)Sprint Review Meeting (PO, Scrum Master, Time)

Page 16: Processo de Análise e Desenvolvimento de Software (PDS)

17PDS - IFFarroupilha - SVS

Execução

Page 17: Processo de Análise e Desenvolvimento de Software (PDS)

18PDS - IFFarroupilha - SVS

Ferramentas & Workflow

Page 18: Processo de Análise e Desenvolvimento de Software (PDS)

19PDS - IFFarroupilha - SVS

Gerência de Projeto - Redmine

Page 19: Processo de Análise e Desenvolvimento de Software (PDS)

21PDS - IFFarroupilha - SVS

Vagrant

http://www.vagrantup.com/box do ambiente:

uniformeready to go

Como preparar um servidor local com Apache, PHP, módulos para conexão com BD, criptografia, composer, virtual host, etc?> vagrant box add ctisvs http://ads.cti/ctisvs.box

Tempo? ~ 1 min

Page 20: Processo de Análise e Desenvolvimento de Software (PDS)

22PDS - IFFarroupilha - SVS

IDE: PHPStorm

Page 21: Processo de Análise e Desenvolvimento de Software (PDS)

23PDS - IFFarroupilha - SVS

Depuração: Xdebug

Page 22: Processo de Análise e Desenvolvimento de Software (PDS)

24PDS - IFFarroupilha - SVS

Framework: CakePHP

http://www.cakephp.org/convention over configuration – CoCcode generation – cake bakeMVC

Page 23: Processo de Análise e Desenvolvimento de Software (PDS)

25PDS - IFFarroupilha - SVS

Coding Standard & Style

http://www.php-fig.orgPSR-1 e 2

Standard: spaces for indenting, opening braces, control structure keywords...Style: StudlyCaps, camelCase, Character Encoding, namespace...

Page 24: Processo de Análise e Desenvolvimento de Software (PDS)

26PDS - IFFarroupilha - SVS

Testes Unitários: PHPUnit

Page 25: Processo de Análise e Desenvolvimento de Software (PDS)

27PDS - IFFarroupilha - SVS

Testes Unitários: TDD

Leis do TDD:

1. não escrever código de produção antes de ter escrito um teste unitário que falhe.

2. não escrever mais testes unitários do que o suficiente para falhar.

3. não escrever mais código de produção do que o necessário para passar nos testes.

Page 26: Processo de Análise e Desenvolvimento de Software (PDS)

28PDS - IFFarroupilha - SVS

Controle de versão

SVNbranch release strategy

Page 27: Processo de Análise e Desenvolvimento de Software (PDS)

29PDS - IFFarroupilha - SVS

Composer

http://getcomposer.org/gerenciador de dependênciasautoloadscripts

"require": {

    "php": ">=5.3.2",

    "symfony/assetic­bundle": "dev­master",

    "symfony/monolog­bundle": "dev­master",

    "symfony/swiftmailer­bundle": "dev­master",

    "symfony/symfony": "2.1.*"

}

Page 28: Processo de Análise e Desenvolvimento de Software (PDS)

30PDS - IFFarroupilha - SVS

Integração contínua: Jenkins

http://jenkins-ci.org/Job:

integraçãotestes unitáriosvalidação coding standard & style

Page 29: Processo de Análise e Desenvolvimento de Software (PDS)

31PDS - IFFarroupilha - SVS

Ambiente de Teste & Homologação

jenkins

app.sandbox

app.demo

Page 30: Processo de Análise e Desenvolvimento de Software (PDS)

32PDS - IFFarroupilha - SVS

Aprendizados com o PDS-Scrum

Adotar um FrameworkCoding Standard & StyleTDDMaior proximidade com o cliente, reduz:

o impacto das mudançasa rejeição do produto

Page 31: Processo de Análise e Desenvolvimento de Software (PDS)

33PDS - IFFarroupilha - SVS

Bibliografia recomendada

97 Things Every Programmer Should KnowEditador por Kevlin Henney. O'Reilly

Clean Code – A Handbook of Agile Software CraftsmanshipRobert C. Martin (uncle Bob). Prentice Hall.

Design Patterns: Elements of Reusable Object-Oriented Software

Gamma et. al. Addison-Wesley.

Page 32: Processo de Análise e Desenvolvimento de Software (PDS)

34PDS - IFFarroupilha - SVS

Obrigado

All text and image content in this document is licensed under the Creative Commons Attribution-Share Alike 3.0 License (unless otherwise specified). "LibreOffice" and "The Document Foundation" are registered trademarks. Their respective logos and icons are subject to international copyright laws. The use of these therefore is subject to the trademark policy.