You are on page 1of 33

Processo de

Desenvolvimento de Software
Coordenação de Tecnologia da Informação – Campus SVS
Setor de Análise e Desenvolvimento de Sistemas

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

2
PDS - IFFarroupilha - SVS
Coordenação de TI

Coordenação Geral
Setor de Análise e Desenvolvimento de Sistemas (ADS)
Setor de Infraestrutura e Redes
Setor de Suporte e Manutenção
Governança de TI

3
PDS - IFFarroupilha - SVS
Setor de ADS

Missão
Desenvolver Sistemas
Implantar soluções
Suporte a sistemas
Administrar Bancos de Dados

Projetos Tecnológicos
Gestão do Conhecimento
Business Intelligence

Programas
Estágio orientado
Capacitação interna

4
PDS - IFFarroupilha - SVS
Setor de ADS

Equipe
2 servidores
2 estagiários
1 bolsista de iniciação científica

5
PDS - IFFarroupilha - SVS
Roteiro

Gerência
Gestão de demandas
Abertura do projeto
Definição do processo
PDS-Scrum

Execução
Workflow
Ferramentas

6
PDS - IFFarroupilha - SVS
Gerência

8
PDS - IFFarroupilha - SVS
Gestão de demandas

Avaliação da demanda
aceitar/rejeitar
definir prioridade – critérios:
alinhamento estratégico
exigência legal
usuários atendidos
capacidade de produção

9
PDS - 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 requisitos
dificuldade em capturar os requisitos
entregáveis: incrementais?
localização da equipe: centralizada ou distribuída?

10
PDS - IFFarroupilha - SVS
PDS-RUP

Disciplinas
Abertura do Projeto
Requisitos
Análise e Projeto CDU
Implementação
Teste
Implantação e Manutenção

Maiores problemas:
Documentação muito demorada / desatualizada
O cliente se afasta muito do projeto
Reage mal à mudanças

11
PDS - IFFarroupilha - SVS
PDS-Scrum – visão geral

12
PDS - IFFarroupilha - SVS
Sprint Planning

Pre-game
Definir requisitos macro (funcionalidades principais)
Kickoff Meeting
Definir papéis
Product Owner, Scrum Master, Time
Definir Product Backlog
organizar por prioridades
Definir duração da sprint
Definir Sprint Backlog 1...N

13
PDS - 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 inicial
Crité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)

14
PDS - IFFarroupilha - SVS
Sprint

Game
Daily Scrum Meeting
Weekly Technical Meeting
Tarefas – TO DO | In Progress | Done

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

15
PDS - 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

16
PDS - IFFarroupilha - SVS
Execução

17
PDS - IFFarroupilha - SVS
Ferramentas & Workflow

18
PDS - IFFarroupilha - SVS
Gerência de Projeto - Redmine

19
PDS - IFFarroupilha - SVS
Vagrant

http://www.vagrantup.com/
box do ambiente:
uniforme
ready 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

21
PDS - IFFarroupilha - SVS
IDE: PHPStorm

22
PDS - IFFarroupilha - SVS
Depuração: Xdebug

23
PDS - IFFarroupilha - SVS
Framework: CakePHP

http://www.cakephp.org/
convention over configuration – CoC
code generation – cake bake
MVC

24
PDS - IFFarroupilha - SVS
Coding Standard & Style

http://www.php-fig.org
PSR-1 e 2
Standard: spaces for indenting, opening braces, control
structure keywords...
Style: StudlyCaps, camelCase, Character Encoding,
namespace...

25
PDS - IFFarroupilha - SVS
Testes Unitários: PHPUnit

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

27
PDS - IFFarroupilha - SVS
Controle de versão

SVN
branch release strategy

28
PDS - IFFarroupilha - SVS
Composer

http://getcomposer.org/
gerenciador de dependências
autoload
scripts

"require": {
    "php": ">=5.3.2",
    "symfony/assetic­bundle": "dev­master",
    "symfony/monolog­bundle": "dev­master",
    "symfony/swiftmailer­bundle": "dev­master",
    "symfony/symfony": "2.1.*"
}

29
PDS - IFFarroupilha - SVS
Integração contínua: Jenkins

http://jenkins-ci.org/
Job:
integração
testes unitários
validação coding standard & style

30
PDS - IFFarroupilha - SVS
Ambiente de Teste & Homologação

app.sandbox
app.demo

jenkins

31
PDS - IFFarroupilha - SVS
Evolução dos Métodos

Controle de versão
Adotar um Framework
Coding Standard & Style
TDD

32
PDS - IFFarroupilha - SVS
Aprendizados com o PDS-Scrum

Maior proximidade com o cliente, reduz:


o impacto das mudanças
a rejeição do produto

33
PDS - IFFarroupilha - SVS
Navalha de Occam

Começar com o processo mais simples possível


Aprimorar o processo (revisões) com as lições aprendidas
nos projetos

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

35
PDS - IFFarroupilha - SVS

You might also like