ADS.CTI

33
1 PDS - IFFarroupilha - SVS Processo de Desenvolvimento de Software Coordenação de Tecnologia da Informação – Campus SVS Setor de Análise e Desenvolvimento de Sistemas

description

ADS - CTI

Transcript of ADS.CTI

Page 1: ADS.CTI

1

PDS - IFFarroupilha - SVS

Processo de Desenvolvimento de SoftwareCoordenação de Tecnologia da Informação – Campus SVSSetor de Análise e Desenvolvimento de Sistemas

Page 2: ADS.CTI

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: ADS.CTI

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: ADS.CTI

4PDS - IFFarroupilha - SVS

Setor de ADS

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

Projetos TecnológicosGestão do ConhecimentoBusiness Intelligence

ProgramasEstágio orientadoCapacitação interna

Page 5: ADS.CTI

5PDS - IFFarroupilha - SVS

Setor de ADS

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

Page 6: ADS.CTI

6PDS - IFFarroupilha - SVS

Roteiro

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

ExecuçãoWorkflowFerramentas

Page 7: ADS.CTI

8PDS - IFFarroupilha - SVS

Gerência

Page 8: ADS.CTI

9PDS - IFFarroupilha - SVS

Gestão de demandas

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

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

Page 9: ADS.CTI

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: ADS.CTI

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: ADS.CTI

12PDS - IFFarroupilha - SVS

PDS-Scrum – visão geral

Page 12: ADS.CTI

13PDS - 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...N

Page 13: ADS.CTI

14PDS - 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 14: ADS.CTI

15PDS - 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 15: ADS.CTI

16PDS - 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 16: ADS.CTI

17PDS - IFFarroupilha - SVS

Execução

Page 17: ADS.CTI

18PDS - IFFarroupilha - SVS

Ferramentas & Workflow

Page 18: ADS.CTI

19PDS - IFFarroupilha - SVS

Gerência de Projeto - Redmine

Page 19: ADS.CTI

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: ADS.CTI

22PDS - IFFarroupilha - SVS

IDE: PHPStorm

Page 21: ADS.CTI

23PDS - IFFarroupilha - SVS

Depuração: Xdebug

Page 22: ADS.CTI

24PDS - IFFarroupilha - SVS

Framework: CakePHP

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

Page 23: ADS.CTI

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: ADS.CTI

26PDS - IFFarroupilha - SVS

Testes Unitários: PHPUnit

Page 25: ADS.CTI

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: ADS.CTI

28PDS - IFFarroupilha - SVS

Controle de versão

SVNbranch release strategy

Page 27: ADS.CTI

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: ADS.CTI

30PDS - IFFarroupilha - SVS

Integração contínua: Jenkins

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

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

Page 29: ADS.CTI

31PDS - IFFarroupilha - SVS

Ambiente de Teste & Homologação

jenkins

app.sandbox

app.demo

Page 30: ADS.CTI

32PDS - IFFarroupilha - SVS

Evolução dos Métodos

Controle de versãoAdotar um FrameworkCoding Standard & StyleTDD

Page 31: ADS.CTI

33PDS - IFFarroupilha - SVS

Aprendizados com o PDS-Scrum

Maior proximidade com o cliente, reduz:o impacto das mudançasa rejeição do produto

Page 32: ADS.CTI

34PDS - IFFarroupilha - SVS

Navalha de Occam

Começar com o processo mais simples possívelAprimorar o processo (revisões) com as lições aprendidas nos projetos

Page 33: ADS.CTI

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