Você está na página 1de 16

Categoria

Trabalho Acadêmico / Artigo


Eixo Temático

Título do Trabalho:
Aplicação do Scrum no Desenvolvimento de Hardware

Nome do Autor (a) Principal:


Guilherme Bauml Campagnoli

Nome (s) do Orientador (a) (s):


Rui Wagner R. Sedor

Instituição ou Empresa:
Faculdade De Tecnologia Senai Curitiba

Resumo:
Como as metodologias Ágeis de gerenciamento de projetos pode ser aplicada para o desenvolvimento
de produtos, especialmente hardware? O presente trabalho sumariza os conceitos, bem como as
modificações necessárias para a utilização dos 12 princípios Ágeis no desenvolvimento de produtos e
serviços. Aborda a aplicação do Scrum em projetos de hardware e a metodologia Extreme Manufacturing
criada com o conceito de modularidade e que permite a flexibilidade de mudanças.

Palavras-chave:
Scrum, Desenvolvimento de Hardware, Ágil, Extreme Manufacturing

Abstract:
How can Agile project management methodologies be applied to product development, especially
hardware? This paper discusses the concepts as well as the modifications necessary for the
implementation of the 12 Agile principles in products development and services. Addresses the
application of Scrum to hardware projects and Extreme Manufacturing methodology, created with the
concept of modularity and flexibility that allows changes.

Keywords:
Scrum, Hardware Development, Agile, Extreme Manufacturing
1. INTRODUÇÃO

As metodologias Ágeis têm sido amplamente utilizadas no desenvolvimento de


software, desde a proposta inicial publicada por Hirotaka Takeuchi e Ikujiro Nonaka em
1986, e posteriormente utilizada por Schwaber e Sutherland em 1995 para a criação do
Scrum. Já no desenvolvimento de hardware, produtos ou serviços, a aplicação das
metodologias Ágeis ainda tem uma adoção incipiente, quando comparado com
metodologias tradicionais de gerenciamento de projetos, como no caso do Waterfall.
Neste trabalho serão abordados os fundamentos do desenvolvimento Ágil e do
Scrum, bem como a aplicação do Scrum em desenvolvimento de hardware. Também
será explicado a metodologia Extreme Manufacturing e os custos das mudanças em
projetos de desenvolvimento de hardware.

2. OBJETIVOS

O objetivo deste artigo é fazer uma análise de como as metodologias Ágeis


podem ser utilizadas no desenvolvimento de produtos, principalmente em
desenvolvimento de hardware.

3. METODOLOGIA DO TRABALHO

Pode-se caracterizar o presente trabalho em uma pesquisa bibliográfica teórica,


cuja relevância está na sustentação por meio de conceitos apresentados por vários
autores para a fundamentação das ideias apresentadas durante o desenvolvimento.
Conforme Birochi (2015) embasamento teórico forma o alicerce da pesquisa,
fornecendo os fundamentos para que o pesquisador viabilize sua pesquisa não
experimental, utilizando-se de uma extensa busca em literatura especializada sobre o
tema.
4. FUNDAMENTOS DO DESENVOLVIMENTO ÁGIL E SCRUM

O principal problema para o desenvolvimento de produtos está na complexidade


em entender as expectativas e anseios do cliente, em conjunto com todo o
planejamento e estimativas realizadas desnecessariamente, para manter os
stakeholders “satisfeitos”, porque os projetos sempre estão fora do tempo, custo e
escopo estimados.
O desenvolvimento de novos produtos ou projetos “inventivos” (LARMAN, 2007)
apresentam problemas que dificilmente podem ser identificados desde o início,
consequentemente mudanças, atrasos tornam-se constantes.
As metodologias Ágeis divergem dos métodos tradicionais de desenvolvimento
e gerenciamento de projetos, em geral utilizam métodos waterfall, com a proposta de
melhorias na comunicação, coordenação, produtividade e qualidade em cada uma das
entregas (LANGERBERG, 2013).
Desde sua publicação em 2001, o manifesto Ágil propõe melhores práticas para
o desenvolvimento de software e ao desenvolvimento de produtos/serviços.

Indivíduos e interações mais que processos e ferramentas


Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano

Ou seja, mesmo havendo valor nos itens à direita, priorizam-se os itens à


esquerda.
O Scrum é um dos métodos Ágeis mais utilizados atualmente, contudo, sua
aplicação é amplamente direcionada para o desenvolvimento de softwares. O desafio
está em como essas metodologias podem ser utilizadas no desenvolvimento de
produtos, principalmente desenvolvimento de hardware?
Segundo o SBOK (2017), o Scrum é uma metodologia de adaptação,
iteratividade, rapidez, flexibilidade e eficiência, projetada para fornecer um valor
significativo de forma rápida durante todo o projeto, esse framework é estruturado de
forma que possibilita a sua utilização em diferentes tipos de projetos, produtos ou
serviços, independentemente de sua complexidade.
Um dos pontos fortes desta metodologia é o empoderamento do “Time Scrum”,
que deve ser multifuncional, auto organizado e que dividam o trabalho em ciclos curtos,
denominados Sprint.
Segundo Schwaber et al (2014), o Time Scrum entrega produtos iterativamente
e continuamente, maximizando as oportunidades de melhorias. Estas entregas
incrementais de produtos “Done” devem ser versões funcionais e utilizáveis.
A Figura 1 fornece uma visão geral do ciclo de desenvolvimento Scrum.

Figura 1 - Ciclo de desenvolvimento Scrum.

FONTE: Guia SBOK (2017).

Após gerado a visão do produto, o Time Scrum em conjunto com os


Stakeholders e Product Owner, é criado um backlog priorizado. A partir deste backlog,
em uma reunião denominada Sprint Planning, o time Scrum em conjunto com o Dono
do Produto fazem o planejamento da Sprint, considerando todo o trabalho necessário
para a execução das Estórias no time-box definido para as Sprint do projeto.
De acordo com o Guia SBOK (2017), a Sprint, que deve ter durações fixas em
todo o projeto, pode ser definida entre 1 a 6 semanas em que o Time Scrum trabalha,
para criar os entregáveis contidos no Backlog da Sprint. O time deve se organizar para
definir como realizar estas atividades previamente planejadas, dividindo as Estórias em
tarefas, com o propósito de cumprir somente os objetivos da Sprint, com total qualidade.
Diariamente são realizadas reuniões, com duração de 15 minutos, onde cada
membro do time responde as três principais perguntas:
- O que eu fiz ontem?
- O que vou fazer hoje?
- Quem impedimentos estou enfrentando hoje?
Para Larman (2007), ainda é necessário acrescentar outras duas perguntas que
podem tornar a Daily Meeting (Reuniões Diárias) ainda mais efetivas:
- Existe alguma tarefa que deve ser adicionada ao Backlog da Sprint?
- Você aprendeu ou decidiu algo novo, que seja relevante para qualquer
membro do time?

O objetivo desta Reunião Diária é realizar um acompanhamento das tarefas


executadas nas últimas 24 horas e planejar as próximas horas de trabalho.
Para Schwaber et al (2014) a Daily Meeting é uma oportunidade para melhorar
a comunicação, pois permitem a identificação de impedimentos e amplia o
conhecimento geral do time. Esta reunião é a chave para o processo de inspeção e
adaptação do Scrum.
O processo de entregas incrementais, iterativas, é uma forma de “inspeção e
adaptação” das funcionalidades do produto, uma vez que todos os envolvidos adquirem
melhor entendimento do que precisa ser entregue. Com isso, é possível validar o que
está sendo feito com o que realmente agrega valor para o cliente, conforme a Figura 2.
A entregas realizadas em períodos curtos reduzem o risco, permitem mudanças e
correções de curso, com menor impacto. (Guia SBOK, 2017)
Ao final do ciclo da Sprint é realizado uma reunião de Sprint Review, onde é
apresentado para o Product Owner e Stakeholders o que foi desenvolvido. Somente
depois de aprovado pelo PO (Product Owner) é que uma funcionalidade (ou módulo de
produto) pode ser considerado entregue. Caso não seja aceita, a Estória deve ser
mantida no backlog até sua conclusão por completo.
Figura 2 - Desenvolvimento Incremental do Scrum.

FONTE: Guia SBOK (2017).

Nesta mesma reunião, como todos os envolvidos estão reunidos, ela é utilizada
também para discussões dos pontos positivos durante a sprint, os problemas
encontrados e as soluções adotadas.
Existem outros eventos que fazem parte da cerimônia do Scrum, porém este
trabalho limita-se apenas ao conceito básico do Scrum.
Existem três papéis centrais do Scrum, que juntos são referidos como Time
Central do Scrum.
- Dono do Produto (Product Owner): representa os interesses dos Clientes,
Usuários, Stakeholders e/ou Patrocinadores. É responsável por
compreender as necessidades para qual o projeto existe, esclarecer os
requisitos de negócio e manter o desenvolvimento alinhado com esta
visão, garantindo as entregas eficazes e com qualidade; (Guia SBOK,
2017)
- Scrum Master: é o líder servidor, que modera e interage com o time, de
forma a motivar e de agir como mentor. É responsável por manter o
ambiente de trabalho produtivo e impedir influências externas, deve
remover impedimentos e garantir a aplicação dos princípios do Scrum
durante todo o projeto; e (Guia SBOK, 2017)
- Time Scrum: são os responsáveis pelo desenvolvimento do produto, irão
trabalhar nas Estórias, para criar os “entregáveis” do projeto. Trabalham
de forma colaborativa e com auto-organização, para atingir os objetivos
de cada Sprint. Normalmente estão organizados em equipes, entre seis a
dez membros, para facilitar a comunicação e coordenação. Deve contar
com as habilidades necessárias para desenvolver o projeto a fim de
maximizar a produtividade. (Guia SBOK, 2017)

As interações entre os diversos papéis do Scrum são representadas na imagem


da Figura 3.
Como pode ser observado, não existe um papel centralizador neste processo,
todos podem e devem se comunicar de forma aberta, para que os impedimentos sejam
resolvidos o mais rapidamente possível.

Figura 3 - Interação entre os papéis do Scrum.

FONTE: Guia SBOK (2017).


Conforme o Guia SBOK (2017), é importante notar que nenhum papel tem
autoridade sobre o outro.

5. APLICAÇÃO DO SCRUM EM DESENVOLVIMENTO DE HARDWARE

O desenvolvimento Waterfall pode funcionar para vários tipos de projetos, porém


os problemas emergem quando são necessárias mudanças nos requisitos, rotatividade
de clientes ou inovações, que tornam o produto (projeto e/ou tecnologia) antigo
praticamente obsoleto. (Kupp et al, 2013, p. 3)
Em contraste, Martin Molhanec (2014, p. 1) afirma que:
“Atualmente o design de produto deve ser flexível, continuamente atualizado com
mudanças de requisitos, e simultaneamente barato, ecologicamente e economicamente
eficiente, com alta qualidade e finalmente com alto valor agregado. Uma das respostas
para estes requisitos é a agilidade. Agilidade é um conceito que mostra como aumentar
a eficiência, flexibilidade e qualidade no gerenciamento de projetos. “

A utilização de metodologia Scrum em desenvolvimento de Produtos e/ou


Hardware estão fundamentalmente baseadas em pequenas alterações dos princípios
Ágeis, mas que não modificam a sua compreensão original. (Kent Beck et al, 2001)
A seguir são detalhados estes doze princípios, onde estes já estão modificados
e destacados em negrito, se comparados com a publicação original do Manifesto Ágil:

1. Nossa maior prioridade é satisfazer o cliente, através da entrega contínua de
produtos que gerem valor e com alta qualidade.
2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos
ágeis se adequam a mudanças, para que o cliente possa tirar vantagens
competitivas.
3. Entregar frequentemente os módulos ou protótipos necessários funcionando,
na escala de semanas até meses, com preferência aos períodos mais curtos.
4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em
conjunto e diariamente, durante todo o curso do projeto.
5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e
suporte necessário, e confiar que farão seu trabalho.
6. O Método mais eficiente e eficaz de transmitir informações para, e por dentro de
um time de desenvolvimento, é através de uma conversa cara a cara.
7. Produto funcional é a medida primária de progresso.
8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores,
desenvolvedores e usuários, devem ser capazes de manter indefinidamente,
passos constantes.
9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou
ser feito.
11. As melhores arquiteturas, requisitos e designs emergem de times auto
organizáveis.
12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se
ajustam e otimizam seu comportamento de acordo.

(Molhanec, 2015)

O plano de Releases do Scrum, aplicado ao desenvolvimento de hardware,


deverá ser adaptado para conter pelo menos:
- Engineering Prototype: produto que tem implementado os atributos
desejados, com o comportamento esperado para o primeiro protótipo.
- Manufacturing Prototype: um refinamento do produto anterior, com a
intenção de ser manufaturável.
- Final Design: o produto final que será manufaturado.

Segundo Kevin Thompson (2015), irão existir mais Estórias Técnicas do que
Estórias de Usuários, em geral as Estórias serão testadas pela mesma pessoa que
desenvolveu. Estas definições irão depender do conhecimento disponível no time de
desenvolvimento.

6. EXTREME MANUFACTURING, METODOLOGIA ÁGIL NO


DESENVOLVIMENTO DE HARDWARE

O conceito de Extreme Manufacturing foi criado por Joe Justice em meados de


2008, porém ele não criou um método, mas sim se baseou nas metodologias Ágeis
atualmente empregadas em software, especificamente o Scrum, para o
desenvolvimento de um carro de alta performance com relação ao consumo de
combustível (aproximadamente 45 km / litro).
O nome adotado Extreme Manufacturing (XM) é um tributo a metodologia de
desenvolvimento de software Extreme Programming criado por Kent Beck no final da
década de 90.
A ênfase do XM é na habilidade de criar produtos com mais velocidade e integrá-
las ao produto existente rapidamente. Extreme Manufacturing é um conjunto de
princípios e modelos conforme explicado a seguir: (Molhanec, 2010)
1. Optimize for change: otimizar o desenvolvimento para suportar mudanças
nos seus componentes;
2. Object-Oriented, Modular Architecture: modularidade é a chave, pois
permite a construção de grandes sistemas em paralelo, assumindo que
as interfaces entre os módulos estão bem definidas.
3. Test Driven Development: criar uma série de testes para determinar se irá
funcionar, antes do trabalho de design (projeto);
4. Contract-First Design: projetar as interfaces com outros módulos antes de
projetar o próprio módulo;
5. Iterate the Design: a) criar um teste para que o design (projeto) seja
aprovado; b) criar o design (projeto) mais simples para que o teste passe;
c) melhore o design (projeto) para ser simples e elegante; d) repita o
processo enquanto as melhorias agregam mais valor ao componente;
6. Agile Hardware Design Patterns: identificar padrões de design que
possam auxiliar no melhor projeto: a) wrapper: adaptadores entre
módulos b) investir em ferramentas que possam fazer componentes ou
fazer materiais, c) hardware que possa ser reparado facilmente;
7. Continuous Integration Development: testes de integração contínua para
todos os módulos do produto diariamente;
8. Continuous Deployment Development: aplicar o conceito de fabricação
flexível, prototipação rápida e integração com P&D;
9. Scaling Patterns: criar time para cada módulo, times podem trabalhar em
paralelo, diferentes times podem trabalhar no mesmo módulo e ao mesmo
tempo, em aspectos diferentes, como: design, construção,
documentação, prototipação e teste;
10. Partner Patterns: suprimentos vindos de diferentes fornecedores, design
que permite flexibilidade e adaptabilidade.
A execução do projeto, seguindo os conceitos do XM, segue uma série de
passos:
1. Definir a visão do produto (responsabilidade do Product Owner);
2. Elaborar Estórias de Usuário para tornar a visão de produto tangível para
todos;
3. Definir os testes necessários para validar cada Estória de Usuário para o
produto;
4. Definir as tarefas que precisam ser feitas para incrementar o produto a
cada Estória de Usuário;
5. Priorizar as Estórias de Usuário e dependências sinalizadas: algumas
devem vir antes que outras;
6. Planejar uma demonstração para o “novo estado atual” do produto; e
7. Planejar o tempo (incluindo testes) antes da demonstração, permitir ao
time a autodesignação das tarefas.

A medida em que se avançam com as práticas do Scrum, não somente o design


de hardware será melhorado, mas também todo o seu processo de desenvolvimento.
Como o “time” tem encontros regulares (daily meeting, sprint review e sprint
retrospective), todos são encorajados a discutir os resultados obtidos, sendo eles
positivos ou negativos, sendo possível corrigir o curso do desenvolvimento e dos
processos para atingir maior eficiência e efetividade. (ANDY KLEIN, 2015)
O refinamento das atividades trará maior qualidade e trará maior produtividade
no trabalho realizado.

7. CUSTOS DAS MUDANÇAS NO DESENVOLVIMENTO ÁGIL DE SOFTWARE


OU HARDWARE

Mesmo que um dos princípios do desenvolvimento Ágil seja: “mudanças são


bem-vindas” (Manifesto Ágil, 2001), desde que haja uma vantagem competitiva para o
cliente, é preciso considerar que ao realizar uma mudança em um item já iniciado ou
concluído na Sprint, existem custos associados. Segundo o entendimento de Rubin
(2012), estes custos aumentam exponencialmente, conforme as fases do projeto
avançam e também alteram conforme o tipo de produto que se está desenvolvendo.
Se o projeto estiver em fase de produção, pode existir custos para as mudanças
em fornecedores de matéria prima, processos de manufatura e produção, moldes para
injeção plástica, certificações Anatel, CE, UL ou outros órgãos reguladores.
A Figura 4 exemplifica como estes custos podem aumentar à medida que as
fases do projeto avançam.

Figura 4 - Custo de mudanças conforme as fases do projeto.

Fonte: Rubin, 2012, p. 71.

Outro ponto importante a se considerar é que, conforme o tipo de projeto que


está sendo desenvolvido, os custos serão maiores, como exemplo, o desenvolvimento
de Hardware (HW), ou Firmware (FW) se comparados com o desenvolvimento de
Software (SW).
Na Figura 5 é possível verificar que o ponto de inflexão de um projeto de HW
acontece muito antes do que em um projeto de SW.
Figura 5 - Custos de mudanças em projetos diversos.

Fonte: Rubin, 2012, p. 71.

O planejamento antecipado, segundo o entendimento de Abdela (2014, p. 11) é


uma das maneiras de evitar que as mudanças ocorram em tempo indesejado
(antecipado ou atrasado). Por isso o processo de decisão deve ser adiado ao máximo,
para que o entendimento geral do projeto seja atingido, mas não tanto que possa
impactar nos custos, justamente antes do ponto de inflexão.
Uma das formas de aumentar o conhecimento e o entendimento do time com
relação a visão do produto é a construção de protótipos, uso de simulações
computacionais, impressão 3D, e outras tecnologias disponíveis atualmente.
Praticar a exploração é um aspecto da metodologia Ágil que não pode ser
deixado de lado. (Abdela, 2014, p. 11) (Rubin, 2012) (Kupp et al, 2013) (Molhanec,
2014)
O importante é atuar nas histórias de forma proativa, validar o conceito, a
execução e obter feedback do cliente para identificar possíveis problemas ou
oportunidades de melhorias, evitando que tal dispêndio ocorra durante fases avançadas
do projeto.
8. CONCLUSÃO

A metodologia Scrum tem ampla utilização no desenvolvimento de software, até


porque desde suas origens os conceitos foram desenvolvidos e aperfeiçoados para
esta aplicação. Apesar da utilização do Scrum no desenvolvimento de hardware não
ser um tema totalmente novo, observa-se que é pouco explorado pelos autores.
O conceito de Extreme Manufacturing criado por Joe Justice traz os princípios
do Scrum, tais como: comunicação aberta, times auto organizados e detalhamentos
realizados no momento apropriado, e acrescenta outros conceitos como: design criado
para mudanças, modularidade e simplicidade.
Mesmo com toda a flexibilidade criada por este framework ainda é preciso
observar o impacto dos custos para as mudanças, que em geral nos projetos de
hardware tentem a ser mais elevados que em desenvolvimento de software,
principalmente a medida que as fases do projeto avançam para mais próximo da
produção em massa.
Em um estudo futuro poderão ser analisados os resultados práticos obtidos com
a adoção do Scrum aplicado ao desenvolvimento de hardware.
REFERÊNCIAS BIBLIOGRÁFICAS

Beck, Kent et al. Manifesto para o desenvolvimento ágil de software. 2001.


Disponível em: <http://www.manifestoagil.com.br/index.html>.
Acesso em: 20 ago. 2018

BIROCHI, Rene. Metodologia de estudo e de pesquisa em administração. 2015


Florianópolis: Departamento de Ciências da Administração / UFSC; [Brasília] : CAPES
: UAB, 2015. 134p.

KEVIN THOMPSON. Agile Processes for Hardware Development. 2015. Disponível


em: <https://www.cprime.com/wp-
content/uploads/woocommerce_uploads/2015/10/Agile-Processes-for-Hardware-
Development-cPrime.pdf>. Acesso em: 20 ago. 2018.

KEVIN THOMPSON. Eleven Lessons Learned about Agile Hardware Development.


2015. Disponível em:
<https://c.ymcdn.com/sites/membership.scrumalliance.org/resource/resmgr/Docs/c
Prime_Agile_Hardware_11Less.pdf>. Acesso em: 20 ago. 2018.

ANDY KLEIN. Application of Scrum Methods to Hardware Development: An overview


on how to run a hardware development project using the Scrum framework within the
Agile software development methodology. Backblaze, 2015. Disponível em:
<https://www.backblaze.com/blog/wp-content/uploads/2015/08/Scrum-for-
Hardware-Development-V3.pdf>. Acesso em: 20 ago. 2018.

LARMAN, Craig. Agile and Iterative Development: A Manager's Guide. Boston:


Addison-Wesley Professional, 2003.
MOLHANEC, Martin. Agile project management framework. 2010. Curso de Electrical
Engineering, Department Of E-technology, Czech Technical University In Prague,
Prague, 2014. Disponível em:
<https://www.researchgate.net/publication/224166736>. Acesso em: 20 ago. 2018

MOLHANEC, Martin. Extreme Manufacturing – Agility to Greater Productivity and


Quality. 2014. Curso de Electrical Engineering, Department Of E-technology, Czech
Technical University In Prague, Prague, 2014. Disponível em:
<https://www.researchgate.net/publication/271457835>. Acesso em: 20 ago. 2018

RUBIN, Kenneth S.. Essential Scrum: A Practical Guide To The Most Popular Agile
Process. Boston: Pearson Education, 2012.

SCHWABER, Ken; SUTHERLAND, Jeff. Guia do Scrum: Um guia definitivo para o


Scrum: As regras do jogo. 2013. Disponível em:
<https://www.scrumguides.org/docs/scrumguide/v1/Scrum-Guide-Portuguese-
BR.pdf>. Acesso em: 20 ago. 2018.

SCRUMSTUDY. Um Guia para o Conhecimento em Scrum: Guia SBOK. 3. ed.


ScrumStudy, 2017. Disponível em: <https://www.scrumstudy.com/sbokguide/>.
Acesso em: 20 ago. 2018.

Você também pode gostar