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

Post on 17-Jul-2015

111 views 4 download

Transcript of 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

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.

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

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

5PDS - IFFarroupilha - SVS

Setor de ADS

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

6PDS - IFFarroupilha - SVS

Roteiro

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

ExecuçãoWorkflowFerramentas

8PDS - IFFarroupilha - SVS

Gerência

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

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?

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

12PDS - IFFarroupilha - SVS

PDS-Scrum – visão geral

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

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

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)

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)

17PDS - IFFarroupilha - SVS

Execução

18PDS - IFFarroupilha - SVS

Ferramentas & Workflow

19PDS - IFFarroupilha - SVS

Gerência de Projeto - Redmine

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

22PDS - IFFarroupilha - SVS

IDE: PHPStorm

23PDS - IFFarroupilha - SVS

Depuração: Xdebug

24PDS - IFFarroupilha - SVS

Framework: CakePHP

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

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

26PDS - IFFarroupilha - SVS

Testes Unitários: PHPUnit

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.

28PDS - IFFarroupilha - SVS

Controle de versão

SVNbranch release strategy

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.*"

}

30PDS - IFFarroupilha - SVS

Integração contínua: Jenkins

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

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

31PDS - IFFarroupilha - SVS

Ambiente de Teste & Homologação

jenkins

app.sandbox

app.demo

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

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.

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.