• Nenhum resultado encontrado

5 Requisitos no CMMI

8.1 Atualização do Processo

Sempre que são realizadas alterações ao processo e que é mostrado que representa uma melhoria ou mais- valia para a organização, deve-se proceder à atualização dos processos efetuados pela alteração. O processo de atualização deve incluir a atualização da documentação dos processos com novas versões e também a formação dos colaboradores (em mais detalhe na secção 8.2).

Como referido na secção 5.1 a Crossing Answers não tem o seu PDS devidamente definido e documentado de forma a que qualquer colaborador o consiga consultar e esclarecer as suas dúvidas. O primeiro passo passou por criar a primeira versão do PDS da Crossing Answers e os seus respetivos anexos. Foram desenvolvidos vários anexos que pretendem fornecer esclarecimentos adicionais a quem está a consultar os processos, por exemplo em matérias como o Scrum e o Kanban. Além disso foram desenvolvidos templates para a especificação de Epics (Anexo C) e de User Stories (Anexo D). Nos templates, além da contextualização, são também apresentados exemplos práticos para cada um dos respetivos atributos. O processo de requisitos definido neste trabalho irá ser utilizado internamente na organização e será comtemplado na estrutura do PDS definido para utilização na Crossing Answers.

Além da criação de documentos e templates que irão dar suporte ás equipas de desenvolvimento daqui para a frente, ouve uma outra atualização que teve origem neste trabalho, foi ela a alteração da ferramenta de gestão de projetos usada internamente. A ferramenta usada anteriormente e aquando a realização deste trabalho requeria bastantes configurações no início de cada projeto uma vez que não permitia a criação de templates para utilização comum nos projetos. Além disso não disponibiliza qualquer ferramenta que permite criar relatórios de forma a medir determinados aspetos do projeto, apenas fornece um conjunto de ficheiros com toda a informação do projeto e que posteriormente podem ser tratados para obter métricas (como foi o caso deste trabalho).

Foi necessário escolher uma ferramenta de gestão de projetos que permitisse a configuração inicial das boards para as equipas usarem sem qualquer tipo de trabalho repetitivo de projeto para projeto e que

Processo de Desenvolvimento de Software: Um caso de estudo de análise, implementação e validação

78

também permitisse a definição de métricas e respetiva obtenção de valores se necessidade de desenvolvimentos adicionais (como foi o caso deste trabalho). Foi então escolhida uma nova ferramenta de gestão de projetos com base nesses critérios. A sua escolha não foi da responsabilidade deste trabalho, apenas a motivação para a adoção de algo mais avançado.

8.2 Formação

O primeiro objetivo genérico do CMMI sugere que sejam alcançadas e executadas as práticas específicas das áreas de processo abordadas na organização, para tal é muito importante que todos estejam capazes de executar todas as técnicas e cerimónias que o PDS inclui na sua definição. Ainda no CMMI, segundo a prática genérica GP 2.5 – Treinar pessoas, é necessário orientar a organização e fornecer níveis adequados de formação para todos os intervenientes nos desenvolvimentos para que seja possível que desempenhem as suas funções com eficiência.

Apesar de não ter sido realizada nenhum workshop totalmente dedicado ao processo de requisitos definido no capítulo 6, foi, em ambas as apresentações, dado o destaque necessário ao conjunto de atividades do processo de requisitos, tal como aos artefactos aí apresentados. Isto foi possível porque o processo de requisitos foi definido tendo em conta o conjunto de cerimónias e artefactos disponibilizados pelo Scrum.

De forma a respeitar os princípios referidos foram realizados workshops e criados materiais de apoio para os colaboradores, como referido na secção 8.1. Ao longo da secção 7.3 foram encontradas muitas discordâncias entre os colaboradores no que diz respeito as métricas relativas as cerimónias. Desta forma foi realizado um workshop orientado ao Scrum e um outro orientado ao Kanban.

8.2.1 Workshop de Scrum

O primeiro workshop realizado foi o de Scrum. Na parte teórica do workshop foi realizada uma apresentação onde foram abordados vários tópicos relacionados com o Scrum e também com o ágil de forma geral. A agenda da apresentação foi a seguinte:

 Ágil e os seus valores e princípios.  Problemas e desafios do ágil.

 Metodologias ágeis (Kanban, Extreme Programming e Scrum).  Scrum e as suas características.

 Valores do Scrum (Compromisso, foco, respeito e coragem).

 Processo e ciclo do Scrum (Pre-game, Desenvolvimento e Post-game).  Papeis do Scrum (PO, SM, ST).

 Principais cerimónias do Scrum (Backlog Grooming, Sprint Planning, Daily Scrum Meeting, Sprint Review, Sprint Retrospective).

 Principais artefactos do Scrum (Epics, User Stories, Product Backlog, Sprint Backlog, Sprint Burndown Chart).

8. Atualização do Processo e Formação

79 Após a parte teórica foi realizado uma atividade prática com os participantes no workshop. A atividade realizada consistiu na realização do jogo “The Name Game” (Kniberg, 2011). Este jogo é dividido em duas partes, uma primeira parte relativa ao jogo propriamente dito (cerca de 20 minutos) e a segunda parte uma discussão final de forma a obter conclusões em relação aos acontecimentos do jogo (10 a 20 minutos).

Para a realização do jogo foi necessário reunir alguns materiais, tais como canetas, post-its, quadro/painel e um cronometro. Ainda antes de formar as equipas (6-7 elementos), foram feitas as seguintes questões aos participantes:

1. Quanto tempo se demora a escrever um nome? 2. Quanto tempo se demorar a escrever sete nomes?

3. Quais os fatores que podem influenciar os tempos estimados?

O conjunto de respostas fornecidas ás anteriores perguntas foi devidamente anotado no quadro existente e foram apresentadas as regras gerais do jogo, são elas:

 Cada grupo vai ter um programador sendo os restantes elementos clientes.

 Cada cliente tem um post-it em branco e pretende ver o seu nome escrito nele, e para tal necessita do programador para o escrever.

 Quando o cliente receber o post-it de volta com o nome completo deve anotar o tempo gasto.

o Caso o nome esteja incorreto deve devolver o post-it ao programador.

Para a primeira ronda foram definidas um conjunto de políticas e regras adicionais ás definidas anteriormente. As políticas da empresa são regidas pelos princípios de não deixar o cliente à espera e que quanto mais cedo se começar mais cedo se vai terminar. De forma cumprir as políticas da empresa é necessário seguir as seguintes regas:

 Quando o cronometro iniciar os clientes, em simultâneo, dão o cartão ao programador.  O programador vai escrever a primeira letra de cada nome no respetivo cartão, depois a

segunda letra de cada nome e assim sucessivamente até terminar.

 Quando terminar entrega ao cliente para ele escrever o tempo que demorou.

 O programador pode perguntar o que quiser e o cliente pode apenas responder verbalmente. Após o término da primeira ronda foram apontados os tempos no quadro e verificou-se uma enorme frustração por parte dos participantes uma vez que os tempos que estimaram inicialmente não foram nem de perto os que realmente se verificaram após esta primeira ronda.

Não questionado nem refletindo sobre os resultados foi apresentada a segunda ronda, com um novo conjunto de políticas e regras. Nesta ronda as políticas da empresa são regidas pelos princípios de limitar a

Processo de Desenvolvimento de Software: Um caso de estudo de análise, implementação e validação

80

uma unidade de trabalho em simultâneo e a atender um cliente de cada vez. De forma cumprir as políticas da empresa é necessário seguir as seguintes regas:

 Quando o cronometro iniciar apenas um cliente dá o cartão ao programador.

 Só se pode começar a escrever o segundo nome quando o primeiro for terminado e assim sucessivamente.

 O programador decide quando avança para o cliente seguinte.  O cliente deve apontar o tempo inicial e o tempo final.

No final da segunda ronda, e após o registo dos tempos no quadro, os participantes mostraram-se muito mais satisfeitos com os resultados obtidos, tanto os que representaram programadores como os que representaram clientes. Os tempos de execução foram semelhantes aos tempos estimados inicialmente, antes de iniciar o jogo.

Em seguida teve início a discussão, numa primeira fase foi questionado quais tinham sido os problemas que levaram aos elevados tempos de execução na primeira ronda do jogo. Todos os intervenientes enumeram como principal problema ter de escrever vários nomes em simultâneo, ou seja, a execução de tarefas em multitasking. Após a apresentação de vários problemas ligados ao multitasking e dos motivos que levam à sua prática, foram apresentadas um novo conjunto de questões aos participantes de forma a fomentar a discussão, forma elas:

1. Sentimento enquanto cliente e programador em cada uma das rondas? 2. Como foi ser o último cliente na ronda 1 e na ronda 2?

3. O que pensam da afirmação “Se começarmos mais cedo, iremos terminar mais cedo”? 4. Como é influenciado o planeamento do trabalho (Ex. o que sabemos após 10 segundos na

ronda 1 e na ronda 2)? 5. Como a qualidade é afetada?

A discussão foi muito produtiva e os participantes gostaram da atividade prática, uma que lhes permitiu perceber num cenário tão simples como escrever um conjunto de nomes as repercussões que o multitasking pode provocar quando aplicada sobre as equipas.

8.2.2 Workshop de Kanban

O segundo workshop realizado foi o de Kanban. Na parte teórica do workshop foi realizada uma apresentação onde foram abordados vários tópicos relacionados com o Kanban, com base na seguinte agenda:

 História do Kanban

 Kanban no desenvolvimento de software  Princípios

8. Atualização do Processo e Formação

81  Benefícios

 Desvantagens

 Análise e comparação com o Scrum

Após a parte teórica foi realizado uma atividade prática com os participantes no workshop. A atividade realizada consistiu na realização do jogo “Pizza Game” (Rules & Mast, 2013). Tal como a atividade anterior, este jogo é dividido em duas partes, uma primeira parte relativa ao jogo propriamente dito (cerca de 20 minutos) e a segunda parte uma discussão final de forma a obter conclusões em relação aos acontecimentos do jogo (10 a 20 minutos).

Para a realização do jogo foi necessário reunir alguns materiais, tais como canetas coloridas, post- its de várias cores, folhas A4, tesouras, cola e um cronometro. Para a realização do jogo foi necessário fornecer e clarificar às equipas o seguinte conjunto de regras e restrições:

 Todos os cortes devem ser feitos com uma tesoura (uma tesoura por equipa).  Um marcador para cada equipa.

 Um “forno” contém no máximo 2 fatias de cada vez (um forno por equipa).

 Cada fatia deve ser cozinhada durante 30 segundos e fica queimada após 45 segundos.  Qualidade de confeção: muito molho e coberturas bem presas à fatia.

Explicadas as regras foi apresentado o método de “confeção” das pizzas, existindo apenas um tipo de pizza (Pizza Hawaii) com os seguintes ingredientes:

 Base com borda externa dobrada para cima (folha colorida).  Molho de tomate (utilizar caneta).

 3 pedaços de fiambre (post-its rosa/laranja).  3 pedaços de abacaxi (post-its amarelos).

Sem mais qualquer tipo de explicação foi dado início à primeira ronda que teve uma duração de cerca de 5 minutos. Esse tempo não foi anunciado as equipas, não era do seu conhecimento quando é que o jogo iria terminar. Após o término da primeira ronda foi explicado como seriam calculados os resultados através de um sistema de pontuação com as seguintes regras:

 Fatias completas (100% pronta): 10 pontos.  Penalizações:

o Base com ou sem molho: -4 pontos por cada. o Cobertura: -1 ponto por cada.

As equipas apresentaram pontuação muito negativas com grandes quantidades de desperdício. Foi sugerido que para a segunda ronda tivessem em conta a idealização de um fluxo de trabalho explicito e

Processo de Desenvolvimento de Software: Um caso de estudo de análise, implementação e validação

82

visível para todos e que cada estado desse fluxo de trabalho tivesse um limite de work-in-progress. Para tal foi fornecido material adicional para as equipas prepararem o seu fluxo de trabalho.

Após terminarem de preparar o fluxo de trabalho teve início a segunda ronda. A quantidade de desperdícios foi muito menor e a produtividade aumentou significativamente, deixando a equipa com muito mais motivação para a execução do trabalho proposto. Por fim foi realizada uma última ronda em que foi introduzido um novo tipo de pizza (Pizza Speciale) que consiste no seguinte:

 Base com borda externa dobrada para cima (folha colorida).  Molho de tomate (folha colorida).

 7 pedaços de rúcula (post-its verdes).

 Os pedaços de rúcula só podem ser adicionados após a Pizza sair do forno.

Este novo tipo provoca alterações no fluxo de trabalho idealizado anteriormente. Apesar disso as equipas tiveram dificuldade em perceber que seria conveniente atualizar o seu fluxo de trabalho, como tal não o fizeram. Desta forma apenas conseguiam produzir o mesmo tipo de pizza em simultâneo.

Por fim foi dado início à discussão onde foram realizadas questões aos participantes relativas ao seu sentimento durante a atividade e como poderia ser feita a analogia entre esta atividade e o trabalho realizado diariamente na empresa.

8.3 Considerações Finais

A criação de documentação relativa aos processos fornece um grande apoio ás equipas no desenvolvimento dos projetos, uma vez que podem ser consultados a qualquer altura. Além disso, toda a informação dos processos está centralizada num único local, eliminando a comunicação verbal dos processos.

Para uma correta utilização dos processos e da documentação criada anteriormente, foi muito importante a realização do processo de formação. Foi possível consolidar e colocar à prova os conhecimentos dos colaboradores em trabalho de equipa, em ciclos de trabalho curtos e com necessidade de melhorar com os erros cometidos. A componente de melhoria contínua precisa de ser melhorada e incentivada nos colaboradores, uma vez que foram encontradas algumas dificuldades nas atividades da secção 8.2.

Além das práticas específicas das áreas de processo de Desenvolvimento de Requisitos e Gestão de Requisitos do CMMI, foram também satisfeitas algumas práticas genéricas ao longo deste trabalho. Como referido na secção 8.2 a prática genérica GP 2.5 – Treinar pessoas foi satisfeita uma vez foi fornecida formação e orientação as equipas para a utilização do Scrum e para que desempenhem as suas funções com eficiência. Adotando o Scrum juntamente com as suas cerimónias e técnicas, foi possível definir uma política organizacional e fornecer valores ágeis como a transparência, a colaboração, o falhar rápido e falhar cedo e também o iterativo e incremental. Todos estes fatores permitiram satisfazer a prática genérica GP 2.1 – Estabelecer uma política organizacional. Além dos valores referidos é necessário auxiliar as equipas ágeis, fornecendo clareza na definição, uso e execução das várias técnicas e cerimónias, isto é, a existência

8. Atualização do Processo e Formação

83 de processos definidos por mais simples que sejam. A definição da primeira versão do PDS permitiu em satisfazer a prática genérica GP 2.2 Planear o processo.

Concluindo, a definição e otimização de processos por si só não é suficiente para obter melhorias na organização. É necessário, além das ferramentas, formar os colaboradores para as utilizarem corretamente e além disso motivar a sua utilização mostrando a sua importância através de workshops e sessões de team building.

85

9 Conclusões

Neste capítulo são apresentadas as principais conclusões obtidas neste trabalho. Para tal na secção 9.1 é feita a síntese do trabalho realizado. Posteriormente, na secção 9.2 são apresentados os principais objetivos deste trabalho e qual a metodologia utilizada para as atingir. Na secção 9.3 são apresentadas as principais contribuições deste trabalho e como foram atingidas. Por fim, na secção 9.4 é apresentada a proposta de trabalhos futuros.