Baixe o app para aproveitar ainda mais
Prévia do material em texto
DESENVOLVIMENTO DE SOFTWARE COM METODOLOGIAS ÁGEIS George Santiago Alves Kanban e kaizen no desenvolvimento de software Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Definir as metodologias kanban e kaizen. Empregar a metodologia kanban nos processos de desenvolvimento de software. Demostrar a influência do método kaizen nos processos de melhoria contínua. Introdução Face à atual conjuntura socioeconômica e ao próprio dinamismo do mercado global, há uma demanda crescente pela modernização da gestão econômica em diferentes níveis. Nas condições modernas, a sistematização do trabalho opera diretamente na capacidade que uma organização tem para modelar os seus processos. Nesse sentido, a tecno- logia da informação exerce um papel importante sobre a estrutura e os processos organizacionais, seja na indústria ou nos serviços. Entretanto, os efeitos da informatização implicam em uma crescente demanda por soluções inovadoras, quase sempre baseadas em indicadores sobre as necessidades dos usuários. Em outras palavras, o ciclo do desenvolvimento de um software precisa se adequar à realidade do mercado, garantindo o necessário para alcançar as metas estipuladas dentro do prazo e do orçamento definido. É imprescindível, então, que o processo de criação de um software mantenha a busca por um ritmo sustentável, sobretudo na crescente demanda pela informatização da estrutura organizacional. Importa ressaltar que, tendo uma crescente dependência da tecnolo- gia em um ambiente impulsionado por um cenário econômico dinâmico, a necessidade por novas abordagens na construção de software se faz necessária, ou melhor, urgente. Para tanto, a filosofia lean thinking — ou pensamento enxuto —, propõe uma ideia central que promove o desen- volvimento sustentável ao passo que acomoda todas as demandas do mercado. Diante disso, neste capítulo, você conhecerá a importância da gestão de projetos no desenvolvimento de software. Todavia, utilizaremos a filosofia lean como uma abordagem para adaptar o desenvolvimento para cada situação específica. A referida filosofia constitui um processo expansivo que, historicamente, vem propondo mudanças na cultura organizacional desde a década de 1950. Nesse sentido, discutiremos a essência de duas abordagens amplamente investigadas para a resolução de problemas relacionados à gestão de projetos em software: kanban e kaizen. 1 Metodologias kanban e kaizen A evolução da fi losofi a lean partiu da necessidade da indústria japonesa de se adaptar à situação econômica pós-Segunda Guerra Mundial – época em que os recursos no Japão eram escassos. Na verdade, caberia pensar além e relacionar o período de recuperação após a Segunda Guerra Mundial como um fenômeno dominante no escopo global. No entanto, tornou-se essencial a busca por novas formas de produção a um custo reduzido e, é claro, fl exível a diversos cenários da indústria. Diante da urgência por uma abordagem de gerenciamento de produção efi ciente no que tange à obtenção de vantagem competitiva, os engenheiros mecânicos Taiichi Ohno e Eiji propõem o Toyota Production System (TPS). O TPS alia a filosofia da cultura oriental de eliminar os desperdícios na cadeia produtiva ao passo que mantém o sistema de produção com alta pro- dutividade e eficiência – ou manufatura enxuta. O sistema desenvolvido por Ohno e Toyoda foi aprimorado entre as décadas de 1940 e 1980, época em que existia uma crescente evolução na esfera da tecnologia da computação, consequentemente, o TPS agregou a informatização em seus processos e se tornou a metodologia dominante no fornecimento e na distribuição da Toyota na década de 1980. Segundo Melton (2005), Holweg (2007) e Alves (2016), enquanto a fi- losofia nipônica influenciava o sistema TPS, como uma forma na melhoria contínua de fabricação, o que reflete diretamente na cultura organizacional da empresa, a metodologia ocidental baseada nos princípios de Henry Ford buscava a produção em massa em torno de um grande volume de estoque. Kanban e kaizen no desenvolvimento de software2 No entanto, o aumento da produção requer um planejamento eficiente que demanda sistemas informatizados e, consequentemente, requer um elevado nível de capital humano, ampla oferta de insumos e disponibilidade de tempo. Segundo Paniago (2008, p. 18), o sistema nipônico tinha o “[…] objetivo de tornar o sistema produtivo “enxuto”, eliminando os desperdícios ou as perdas do fluxo de produção”, o que representava “[…] uma alternativa ao sistema de produção em massa (grandes lotes que ocultam os desperdícios ou as perdas)”. De acordo com Hallfren e Olhager (2009), o método de Ford para o ge- renciamento industrial resultou em um elevado custo de manutenção para a produção em massa, devido à sua metodologia, que requer o armazenamento de uma grande quantidade de insumos. Ainda segundo os autores supracitados, a abordagem lean passou a ser um paradigma de gerenciamento com base nas necessidades do mercado, sobretudo, na percepção do cliente. Esmiuçando um pouco mais, temos que a produção lean é um método que fornece uma abordagem disciplinada, um balanço entre a flexibilidade e o envolvimento total dos colaboradores, e pode ser interpretado como um fator competitivo para alcançar um resultado eficiente, gastando poucos recursos, portanto, é um sistema contínuo que é alcançado por meio de uma filosofia que tem como principal pilar a simplificação dos processos (HINES; HOLWEG; RICH, 2004). Seguindo essa hipótese, o supracitado conceito da filosofia lean é uma abstração na sua forma mais básica, um recurso semântico que fornece uma visão integrada entre as relações de diferentes entidades. Em termos práticos, é possível estabelecer o relacionamento e as principais características entre os processos internos e externos das atividades de uma instituição. Assim, uma abordagem enxuta fornece subsídios para melhorar de forma contínua uma dada atividade, como a produção em massa, o desenvolvimento de uma aplicação, a gestão de um projeto e assim por diante. Teoricamente, a produção enxuta é uma consciência relacionada à proble- matização das demandas crescentes por bens e serviços na era pós-moderna. Para Silva (2004), a concepção do lean manufacturing teve seu início na Toyota Motor Company em seu sistema TPS, uma característica que está fundamentada em dois pilares: o just-in-time (JIT) e jidoka. A princípio, o pilar JIT se baseia na produção eficiente para reduzir os desperdícios entre os processos produtivos. No TPS, o JIT opera na entrega dos recursos no momento da sua utilização, evitando, assim, o armazenamento de insumos e, consequentemente, reduz a manutenção dos equipamentos. Todavia, para que exista um processo eficiente com entregas que reforçam a qualidade da produção enxuta, é necessário um fluxo de trabalho que se situa de acordo 3Kanban e kaizen no desenvolvimento de software com as demandas do mercado, ou seja, trata-se da capacidade de produzir a quantidade pretendida para uma demanda específica. No entanto, o pilar correspondente ao jidoka está relacionado ao próprio conceito do TPS e ao período pós-segunda guerra mundial, incorporando a eficiência dentro do processo produtivo. A própria expressão jidoka pode ser traduzida como uma “automação inteligente”, em que o termo “jido” é descrito como uma entidade que se move por conta própria, de maneira automatizada; em seguida, incluindo o termo “ka”, temos o jidoka como uma “automação inteligente com toque humano”. Para Hines, Holweg e Rich (2004), o jidoka está enraizado como um pilar que estabeleceu o relacionamento eficiente entre a máquina e o homem, uma vez que a implantação do processo automatizado permitiu agregar valor às competências dos colaboradores; lembre-se: auto- mação inteligente com toque humano. Partindo da reconstrução dos pilares da produção lean, podemos observar na Figura 1 a relação entreos conceitos de JIT e jidoka. Figura 1. Pilares da produção lean. Fonte: Adaptada de Silva (2004). Objetivo: qualidade, baixo custo e lead time curto Just in time Fluxo contínuo Tempo takt Sistema puxado Heijunka KaizenTrabalho padronizado Estabilidade Parar e notificar anormalidades Separar o trabalho humano do trabalho das máquinas Jidoka Assim, é importante ressaltar que, em razão da flexibilidade proporcionada pelo lean, os pilares JIT e jidoka para o processo de fabricação de bens e serviços, incluindo o desenvolvimento de software, foram estruturados com base em dois pilares: a melhoria contínua e o trabalho em equipe. Kanban e kaizen no desenvolvimento de software4 A chamada melhoria contínua é um termo originado da palavra kaizen, na qual “kai” pode ser interpretado como mudança e “zen” como algo bom, para melhor; logo, o kaizen é um esforço constante para melhorar uma atividade, seja na área de produção, nas vendas ou mesmo no gerenciamento de projetos. Para Lourenço (2017, p. 35), o kaizen “[…] é a mudança da situação atual de um processo, sendo analisado e rapidamente implementado, onde as melhorias se traduzem em benefícios concretos”. Corroborando e expandido o significado da melhoria contínua, os autores Jayamaha et al. (2014) traduzem o significado do termo como um processo de autorreflexão que agrega uma autocrítica sobre os anseios da vida pessoal, profissional e de toda a sociedade. O kaizen, como uma ferramenta aplicada às necessidades dos negócios, é uma filosofia que requer uma mudança cultural nas organizações, pois a filosofia do melhoramento constante envolve todos os departamentos, setores e colaboradores de um negócio. Paniago (2008) sintetiza o conceito sobre kaizen em três aspectos distintos com base no consenso de vários autores: Kaizen é contínuo – jornada sem fim em busca da qualidade e eficiência. Natureza incremental. Ele é participativo – ações interativas de inteligência e trabalho do pessoal, gerando benefícios intrínsecos da vida no trabalho dos empregados. (PA- NIAGO, 2008, p. 20). Ainda de acordo com Paniago (2008), a implementação do kaizen na cultura organizacional foi apontada inicialmente por Masaaki Imai (2005) ainda na década de 1980, que define a prática do melhoramento contínuo com base em três aspectos: everybody, everyday e everywhere. O everybody, ou todas as pessoas, é um parâmetro do kaizen que remonta ao envolvimento de todos os colaboradores de uma empresa com o objetivo de impulsionar a inovação conforme a dinâmica do mercado. De fato, um dos princípios da metodologia lean é propor um ambiente flexível que funcione como uma unidade; todos os colaboradores, sejam funcionários ou gerência da organização, são incentivados constantemente a revisar o processo de trabalho e sugerir novas abordagens para atingir a eficiência e eficácia diariamente. Entretanto, o everyday, ou todos os dias, reforça a natureza contínua do kaizen. Na medida em que a filosofia lean é implementada no processo de trabalho, cabe à organização conduzir diariamente o aprimoramento sobre os seus processos, tornando a filosofia kaizen uma rotina de pequenas mudanças diárias em todas as áreas da empresa. Por fim, o everywhere, ou todas as 5Kanban e kaizen no desenvolvimento de software áreas, transcende o conceito de comunicação unilateral para enraizar uma identidade única sobre o processo inovativo. Falando em outros termos, a organização, ou uma equipe, que implementa a filosofia kaizen em sua rotina deve conduzir uma consciência unitária a partir da colaboração de todos os envolvidos (MURATA; KATAYAMA, 2010). Dessa forma, a identidade da empresa é formada por uma entidade engajada, estimulada diariamente a buscar o melhoramento contínuo dos processos. Além disso, o kaizen encoraja o compartilhamento de ideias entre equipes multifacetadas para executar um trabalho com qualidade. Segundo Dombrowski e Mielke (2013), o kaizen é uma ferramenta para maximizar a produtividade e a eficiência do fluxo de trabalho, o que significa manter um ritmo contínuo sobre toda a cadeia produtiva. Entretanto, como acrescentam os autores, a filosofia do kaizen em priorizar o trabalho para maximizar a produtividade é o seu principal gargalo; uma problemática que enfatiza a necessidade de os gestores visualizarem a cadeia de produção como um sistema em que todas as peças são importantes para o funcionamento da organização. Espera-se, assim, que a filosofia kaizen seja um processo descentralizado que permita a construção de uma identidade organizacional baseada no respeito mútuo entre os seus colaboradores. Os autores Zupan e Herakovic (2015) corroboram e reafirmam a perspectiva apontada anteriormente, atribuindo o nivelamento do fluxo de trabalho entre os colaboradores como um pilar central para a melhoria e a aprendizagem da rotina das atividades. Perante o exposto, precisamos, todavia, observar que nenhuma equipe pode trabalhar efetivamente sem uma comunicação eficiente. Para a filosofia kaizen, um grupo multifuncional opera na delegação de autoridade para cada funcionário, um desenvolvimento horizontal que busca a comunicação e o compartilhamento das ideias com toda a empresa. É no sentido de prover um maior engajamento que a comunicação assume a condição base de todas as abordagens para o melhoramento contínuo da produtividade no trabalho. Além dos pilares citados sobre o processo de melhoria contínua, o kanban, ou simplesmente cartão visual em japonês, é considerado um subsistema do TPS, um mecanismo cujo objetivo é implementar um método de gerenciamento de projetos utilizando dois princípios: visualizar o fluxo das atividades e limitar o escopo do trabalho. Segundo Alves (2016, p. 31), “[…] o kanban é uma ferramenta de controle de fluxo de materiais, através de um sinalizador visual que informa o operador sobre quanto e quando produzir (ou encomen- dar), ‘puxando' a produção”. É no sentido de prover a redução dos insumos no processo de produção que, ainda na década de 1950, o então vice-presidente da Kanban e kaizen no desenvolvimento de software6 Toyota Motor, Taiichi Ohno, propôs um processo que, inicialmente, buscava otimizar a produtividade sem alterar profundamente as práticas, as abordagens ou as técnicas utilizadas pela empresa. Carvalho (2013), afirma que o kanban é um conceito simples que consiste em utilizar cartões informativos sobre o fluxo de trabalho. Cada cartão é posicionado estrategicamente em um quadro para compor um sistema visual sobre todos os elementos do projeto. Por ser um método visual em que as ati- vidades eram transportadas entre as tarefas, o fluxo de produção se mantinha constante, sem a necessidade de implementar novos métodos ou lidar com o desperdício de insumos e a manutenção dos estoques. A Figura 2 apresenta a base do sistema kanban, distribuído em três colunas: to do (a fazer), doing (em andamento) e done (concluído). O quadro do kanban funciona como um mecanismo de sinalização, em que um cartão corresponde a uma tarefa; na prática, é necessário existir um cartão acessível para que uma tarefa possa ser iniciada. Esse cartão é anexado em uma nova coluna à medida que percorre todo o quadro. Além disso, é possível adicionar novos cartões para representar visualmente um fluxo de estados sobre processos, o que corrobora com o princípio de que o kanban é um método que pode ser adaptado a qualquer situação, como à metodologia ágil. Figura 2. Exemplo de um quadro kanban típico. Fonte: Adaptada de Gerd Altmann/Pixabay.com. A fazer Em andamento Concluído Embora a metodologia do kanban permita classificar o trabalho em várias listas e alterá-las a qualquer momento, o que na prática representa um número ilimitado de listas, tarefas, colunas e cartões operando simultaneamente, é 7Kanban e kaizen no desenvolvimento de software necessário observar que o sistema kanban rastreia o fluxo de trabalho para tornar a produção mais eficiente. Dessaforma, a implementação do quadro se baseia em: um número limitado de tarefas por quadro, assim como o número de cartões, o que permite visualizar claramente todo o fluxo de trabalho para encontrar possíveis problemas; um processo de melhoria contínua, no qual todo o fluxo de trabalho é constantemente analisado, a fim de buscar formas para aumentar a produtividade; desenvolvimento sustentável, o que permite manter um nível constante no fluxo trabalho sem comprometer a qualidade dos processos. 2 Metodologia kanban em desenvolvimento de software O funcionamento do kanban no desenvolvimento de aplicações está centrado no quadro kanban, permitindo uma visualização de todo o ciclo de trabalho. Um quadro típico do kanban aplicado ao gerenciamento de projetos contém: objetivos, listas de pendências, etapa de desenvolvimento, testes, urgência e concluídos. Por ser uma metodologia fl exível, cada departamento pode adaptar os quadros às suas necessidades, criando colunas para alocar cada uma das tarefas do projeto, assim como serão atribuídas aos membros da equipe. O princípio do kanban segue o pensamento lean, no qual o mecanismo da ferra- menta está centrado na interação e no envolvimento de toda a equipe. Dessa forma, um colaborador pode ver claramente o que cada membro da equipe está fazendo e a evolução do projeto ao longo do tempo. Por ser uma linguagem visual, o kanban busca priorizar as tarefas nas colunas estabelecidas, o que reduz os custos de desenvolvimento, nesse caso, a visualização das tarefas permite avaliar os problemas no ciclo de produção, reorganizando as atividades para otimizar os recursos humanos. A Figura 3 ilustra um modelo adaptado à metodologia ágil, um quadro visual que apresenta um fluxo de trabalho facilmente identificado. O agile product backlog, ou simplesmente backlog, é um termo utilizado na metodologia Scrum para descrever uma lista de tarefas, recursos ou itens priorizados em um projeto contendo as especificações de todas as funcionalidades desejadas no produto. Os números em vermelho em cada coluna na Figura 3 representam o limite estabelecido para os cartões em cada etapa do projeto, em seguida, Kanban e kaizen no desenvolvimento de software8 os cartões ilustrados no formato de retângulo contêm uma breve descrição sobre as demandas. Por fim, cada ícone no formato de rosto é anexado no cartão para representar o responsável pelo trabalho em andamento. Mariotti (2012, p. 45) afirma que “[…] ao entender a proposta de um sistema kanban, torna-se simples perceber que o uso de um sistema prepara e limita o trabalho em andamento para uma capacidade suportada pela equipe”. Figura 3. Kanban adaptado à metodologia ágil. Fonte: Adaptada de Mariotti (2012). Backlog Análise 2 Flávio Marina Leandro Dev 3 Teste 3 Aprovação 1 Finalizado Fazer o item de recolhimento... Fazer o item recolhimento Fazer o item de recolhimento... Fazer o item recolhimento Fazer o item recolhiment Fazer o item de recolhimento... Fazer o item de recolhimento... Fazer o item derecolhimento... Fazer o itemrecolhiment Fazer o itemrecolhimento... Fazer o item recolhiment Fazer o item de recolhimen to... Fazer o item de recolhimen to... Fazer o item de recolhim ento... Segundo Sommerville (2008) e Pressman e Maxim (2016), o foco nas tarefas é o principal objetivo do kanban; uma metodologia que impõe limites na execução de tarefas simultâneas – cada membro trabalha em um escopo reduzido para se concentrar na atividade e maximizar a qualidade do pro- cesso. Outro aspecto igualmente importante e esmiuçado pelos autores está na conclusão das atividades, em que na etapa de retirar o adesivo e colar na próxima coluna pode emergir um sentimento de grande satisfação. Nesse âmbito, como implementar o kanban no processo de desenvolvi- mento? Para responder ao questionamento, utilizaremos a ferramenta Trello como um instrumento simples e intuitivo na implementação do kanban. Para estabelecer o Trello como uma ferramenta de otimização do fluxo de trabalho, 9Kanban e kaizen no desenvolvimento de software é necessário compreender que uma abordagem kanban é uma filosofia de mudança, não apenas uma ferramenta de gestão. Nesse caso, cabe à equipe responsável pelo desenvolvimento analisar de forma inteligente a eficiência do kanban no gerenciamento das tarefas. Para tanto, as ferramentas baseadas no princípio lean têm o objetivo de minimizar a multitarefa, logo, os quadros do Trello estabelecem a eficiência da produção e a qualidade do trabalho como o pilar central do processo de trabalho. Meurer (2014, p. 79) define o Trello como “[…] uma aplicação co- laborativa e gratuita de kanban, utilizada para auxiliar no controle de uma produção, seja ela projetual ou industrial. Por meio de uma metáfora, chamada 'quadro', adicionam-se 'cartões' que contêm as descrições das tarefas”. Em outras palavras, o Trello permite que a equipe se concentre nas prioridades com uma ferramenta estruturada para a visualização de todo o fluxo de trabalho. A interface intuitiva do Trello opera visando à simplicidade no processo produtivo, adequando um mecanismo visual às necessidades do projeto. Segundo Mingatos (2010), é importante ressaltar que, em razão da visão minimalista do kanban, caso a equipe não consiga organizar todo o projeto na estrutura do Trello, é necessário voltar à etapa conceitual e propor uma nova abordagem para cada uma das tarefas. Ainda de acordo com o autor, o Trello é uma ferramenta visual de quadros, por isso a organização do projeto precisa se adequar ao princípio da simplicidade do lean. Na prática, é preciso estabelecer prioridades e decompor o projeto em uma dimensão simples, que seja otimizada e visível em uma folha A4. O Trello é um recurso flexível, adaptável, gratuito e com capacidade para organizar simultaneamente vários projetos com diferentes níveis de interação entre a equipe. Deixando de lado o caráter técnico e conceitual da filosofia lean, temos o Trello como uma ferramenta para: atribuir tarefas usando listas de verificação, anexos e prioridades; decompor fluxos de tarefas em quadros baseados nas prioridades do projeto; distribuir e estabelecer prazos a membros de cada atividade do projeto; identificar e priorizar as atividades do projeto; personalizar o fluxo de atividades para se adequar às condições das tarefas; vincular tarefas e implementar um sistema hierárquico para atribuir atividades conforme necessário. Kanban e kaizen no desenvolvimento de software10 3 Influência do método kaizen nos processos de melhoria contínua Antes de mais nada, como aplicar os princípios do lean e a fi losofi a kaizen no processo de desenvolvimento de um software? Basicamente, o primeiro passo para implementar os conceitos do pensamento lean é compreender o signifi cado do termo “valor”. Tudo começa com o conceito de focar nas prioridades e minimizar as perdas no trabalho, melhorando o processo de desenvolvimento para obter os melhores resultados. O valor está relacionado a todo o ciclo de desenvolvimento, que vai desde a identifi cação das neces- sidades do cliente, passando pelas escolhas de produção — como o software será produzido, quais ferramentas usar e quais recursos serão gastos — até a entrega fi nal do produto. Vejamos a seguir os sete tipos de desperdícios adaptados para o desenvolvimento de software que foi originalmente proposto pelo pensamento lean. 1. Superprodução: o desenvolvimento do software precisa priorizar os recursos principais da plataforma, evitando a perda de recursos com a implementação de funcionalidades extras. 2. Excesso de estoque: durante a etapa de levantamento e análise de re- quisitos, é necessário compreender qual é a origem do problema para, assim, propor soluções com base na urgência de cada requisito, o que evita o excesso de parâmetros e diretrizes que vão nortear a produção. 3. Excesso de processamento: existem diferentesmétodos, pilares ou abordagens para o desenvolvimento de um software, no entanto, o pensamento lean propõe o simples como pilar da produção. E o que é o simples? Basicamente, é evitar etapas adicionais de implementação, diversas abordagens complexas no mesmo projeto, excesso de recursos agregados em projetos com escopo reduzido, etc. 4. Movimentos desnecessários: o desenvolvimento ágil é flexível, o que permite agregar valor durante todo o ciclo de uma produção. No entanto, agregar informações excessivas ao longo do processo de produção pode atrapalhar os parâmetros levantados nos requisitos. Dados e informações são imprescindíveis em qualquer atividade, mas o excesso pode tornar o fluxo de trabalho instável. 5. Liberação de produtos defeituosos: as etapas de prototipagem e de testes são imprescindíveis para a qualidade do produto, o que torna o pensamento lean uma filosofia que nos diz: desenvolver por meio de testes. Pensamento lean é aumentar a produtividade sem prejudicar 11Kanban e kaizen no desenvolvimento de software a qualidade dos processos de desenvolvimento, dessa forma, a etapa de testes é fundamental para manter todo o sistema funcionando de maneira eficiente. 6. Esperando: as etapas de desenvolvimento utilizando o pensamento lean são baseadas em fluidez, evitando movimentos desnecessários que consomem tempo da produção. Em termos práticos, é necessário minimizar o tempo de espera entre etapas do desenvolvimento, evitar a interrupção do ciclo de produção, realizar manutenção constante nos equipamentos, manter a equipe engajada por meio de treinamentos e assim por diante. 7. Transporte desnecessário: quando falamos em transporte na produção de software, estamos lidando com a transferência de recursos entre setores, etapas e, até mesmo, projetos. O lean enfatiza o simples como pilar central, além da melhoria contínua, o que requer uma adaptação constante no fluxo de trabalho. Porém, é necessário evitar a imple- mentação de recursos desnecessários ao longo dos projetos, pois é um grande desperdício fazer qualquer tipo de movimento desnecessário em um fluxo alinhado às necessidades do projeto. Segundo Humble e Farley (2014), verifica-se de fato que o conceito do kaizen se encontra fundido na criação de uma cultura de melhoria contínua, na qual a produtividade depende da capacidade de se adaptar a um ambiente de mudanças rápidas e dinâmicas. A filosofia do kaizen propõe uma aborda- gem com flexibilidade para responder a mudanças rápidas, um processo de melhoria cíclica e sem fim, o que demanda uma mudança na cultura organi- zacional para alcançar a excelência. Todavia, a excelência está relacionada não apenas à qualidade dos artefatos produzidos, mas também à interação e ao relacionamento entre os colaboradores. O pensamento lean e os pilares do kaizen propõem a eficácia pessoal, pois incentivam a melhora constante de cada indivíduo para fortalecer o coletivo. Kanban e kaizen no desenvolvimento de software12 Vejamos alguns princípios que norteiam a implementação da filosofia kaizen: foco nas necessidades do segmento explorado pela empresa — o mais importante é atender às necessidades do cliente; reconhecer que toda empresa tem problemas, e é perfeitamente aceitável, sendo possível discutir abertamente as soluções para conduzir a melhoria contínua no trabalho; reconhecer que a eficácia do kaizen reside na cooperação entre as partes envolvidas, sendo um processo que mantém o bom relacionamento entre os colaboradores para manter as equipes engajadas; incentivar o desenvolvimento horizontal na organização, em que a experiência pessoal deve ser compartilhada para contribuir com o crescimento de toda a empresa; incentivar a autodisciplina dos colaboradores, pois o kaizen promove o respeito entre todas as partes, sobretudo, a si mesmo; promover a disponibilidade da informação entre todos os colaboradores, permitindo que os funcionários possam acessar dados relevantes sobre o projeto — uma prática que contribui para o melhoramento contínuo dos processos internos; sistematizar a cadeia produtiva para garantir um desempenho estável nas atividades da empresa, pois o gerenciamento eficiente reside na padronização das atividades; garantir que a mudança seja um processo contínuo na empresa, pois a essência do kaizen é estimular diariamente as pequenas mudanças no processo organiza- cional – um pilar centrado na melhoria constante, de todos e em todos os setores; criar uma cultura que estabelece o trabalho em equipes multifuncionais, pois a produtividade baseada no lean é uma sabedoria alcançada pela visão multifacetada de toda a equipe; promover cursos, palestras, workshops e qualquer atividade fora do escopo do trabalho para estimular a criatividade e a motivação de toda a equipe. Como uma proposta para aliar o kaizen no ciclo de desenvolvimento, pode- -se utilizar uma abordagem baseada em processos, como o ciclo de Deming, também conhecido como ciclo PDCA (Figura 4a): plan (planejar), do (fazer), check (checar) e act (agir). De acordo com Vieira Filho (2010, p. 24), “O ciclo PDCA é um método gerencial de tomada de decisões para garantir o alcance das metas necessárias à sobrevivência de uma organização”. Dessa forma, o PDCA fornece uma abordagem subdividida em etapas que são baseadas no uso da interação durante o desenvolvimento de uma aplicação (Figura 4b), todos os processos são repetidos e a cada ciclo completado o processo é refinado, pois as iterações subsequentes permitirão que os envolvidos melhorem a cadeia 13Kanban e kaizen no desenvolvimento de software de produção, e também é um método de melhoria contínua na qualidade de produção. Vejamos a seguir o conceito de cada etapa no ciclo de Deming. Plan (planejar): o plano, ou o planejamento, é uma ação que antecede o início do ciclo de produção; é uma etapa que abrange a análise das condições do desenvolvimento. Dessa forma, é uma fase que define as metas, os requisitos e as especificações do produto, a alocação dos recursos necessários para atingir as necessidades do cliente, etc. Do (fazer): de maneira geral, é executar o trabalho planejado conforme as metas definidas. No entanto, é um processo que requer a imple- mentação de métodos e abordagens para alcançar as metas da etapa de planejamento. Para tanto, a iniciativa começa com um curso de ação que corresponde ao treinamento da equipe, testando e otimizando os conceitos anteriormente discutidos. Check (verificar): a etapa de verificação é baseada na coleta de infor- mações para monitorar, identificar e analisar cuidadosamente todos os resultados obtidos na cadeia de produção, estabelecendo parâmetros sobre os resultados, desvios e possíveis causas para a perda de produ- tividade no ciclo. Act (agir): a etapa de ajuste é uma interação que se baseia na correção das possíveis falhas no ciclo de desenvolvimento, tomando ações corretivas para a melhoria de toda a cadeia de produção. Todavia, vale destacar que a refatoração do processo é baseada no levantamento dos parâmetros na etapa de verificação e corrigidos no ato de ajuste — etapa de ação. Kanban e kaizen no desenvolvimento de software14 Figura 4. O ciclo de Deming: fases e objetivos. Fonte: Adaptada de (a) Albuquerque (2015, p. 32); (b) Paz et al. (2017). A (ACTION) Atuar corretivamente Verificar os resultados da tarefa executada Educar e treinar Executar a tarefa (coletar dados) Definir as metas Definir os métodos que perimitão atingir as metas propostas C (CHECK) D (DO) P (PLAN) Fases – Objetivos PROBLEMA – identificação do problema OBSERVAÇÃO – conhecimento das características do problema PROCESSO DE ANÁLISE – Definindo as principais causas PLANO DE AÇÃO – Ações para reversão das principais causas FAZER – atuação conforme o plano de ação CHECAR – confirmação dos resultados PADRONIZAÇÃO – eliminação definitiva das causas CONCLUSÃO – revisão e planejamento para futurastarefas 1 2 3 4 5 6 7 8 (P) planejamento (D) execução (C) verificação (A) ação (a) (b) O ciclo de Deming, aliado ao pensamento lean, significa uma criação de valor para alcançar a excelência. O processo de desenvolvimento é centrado em blocos, interações ou tarefas subdivididas, o que significa trabalhar em pequenos lotes de atividades para garantir um trabalho rápido e que permita implementar a melhoria contínua. Da mesma forma, o kaizen melhora o fluxo de informações ao longo do processo de trabalho, a fim de agregar valor e qualidade no produto, o que significa priorizar as tarefas, limitar os requisitos, melhorar o engajamento da equipe para enfatizar o compartilhamento de ideias 15Kanban e kaizen no desenvolvimento de software e otimizar o ciclo de produção com base nas prioridades e no feedback dos colaboradores, da equipe e do próprio cliente. ALBUQUERQUE, A. C. R. Q. Avaliação da aplicação do ciclo PDCA na tomada de decisão em processos industriais. 2015. Dissertação (Mestrado em Engenharia de Processos) – Universidade Federal do Pará, Belém, 2015. Disponível em: http://ppgep.propesp. ufpa.br/ARQUIVOS/dissertacoes/Dissertacao2015-PPGEP-MP-AnaneliaClaudiaRodri- guesdeQueirozAlbuquerque.pdf. Acesso em: 28 ago. 2020. ALVES, J. M. T. Melhoria da gestão de operações através da aplicação de metodologias Kaizen Lean. 2016. Dissertação (Mestrado em Engenharia e Gestão Industrial) – Instituto Superior Técnico, Universidade de Lisboa, Lisboa, 2016. CARVALHO, P. P. S. Implementação do sistema Kanban adaptado para a redução de esto- ques de matéria-prima: um estudo de caso. 2013. Dissertação (Mestrado em Engenharia Industrial) – Escola Politécnica, Universidade Federal da Bahia, Salvador, 2013. DOMBROWSKI, U.; MIELKE, T. Lean leadership: fundamental principles and their appli- cation. Procedia CIRP, v. 7, p. 569–574, 2013. HALLFREN, M.; OLHAGER, J. Lean and agile manufacturing: external and internal dri- vers and performance outcomes. International Journal of Operations and Production Management, v. 29, n. 10, p. 976–999, 2009. HINES, P.; HOLWEG, M.; RICH, N. Learning to evolve: a review of contemporary lean thinking. International Journal of Operations e Production Management, v. 24, n. 10, p. 994–1011, 2004. HOLWEG, M. The genealogy of lean production. Journal of Operations Management, v. 25, n. 2, p. 420–437, 2007. HUMBLE, J.; FARLEY, D. Entrega contínua: como entregar software de forma rápida e confiável. Porto Alegre: Bookman, 2014. IMAI, M. Gemba Kaizen: estraté gias e té cnicas do Kaizen no piso de fá brica. 6. ed. São Paulo: Instituto IMAM, 2005. JAYAMAHA, N. P. et al. Testing a theoretical model underlying the ‘Toyota Way’: an empirical study involving a large global sample of Toyota facilities. International Journal of Production Research, v. 52, n. 14, p. 4332–4350, 2014. LOURENÇO, J. F. P. Aplicação de ferramentas Lean: melhoria do processo de montagem de uma linha. 2017. Dissertação (Mestrado em Engenharia e Gestão Industrial) – Faculdade de Ciências e Tecnologia, Universidade de Coimbra, Coimbra, 2017. MARIOTTI, F. Kanban: o ágil adaptativo. Engenharia de Software Magazine, v. 45, p. 6–10, 2012. Kanban e kaizen no desenvolvimento de software16 MELTON, T. The benefits of Lean manufacturing. Chemical Engineering Research and Design, v. 83, n. 6, p. 662–673, 2005. MEURER, H. Ferramenta de gerenciamento e recomendação como recurso na aprendizagem baseada em projeto de design. 2014. Tese (Doutorado em Informática na Educação) – Centro Interdisciplinar de Novas Tecnologias na Educação, Universidade Federal do Rio Grande do Sul, Porto Alegre, 2014. MINGATOS, C. M. Análise de viabilidade e implementação de um sistema de cartão KAN- BAN. 2010. Dissertação (Mestrado em Engenharia e Gestão Industrial) – Departamento de Economia, Gestão e Engenharia Industrial, Universidade de Aveiro, Aveiro, 2010. Disponível em: https://ria.ua.pt/bitstream/10773/1814/1/2010001681.pdf. Acesso em: 28 ago. 2020. MURATA, K.; KATAYAMA, H. Development of Kaizen case-base for effective technology transfer–a case of visual management technology. International Journal of Production Research, v. 48, n. 16, p. 4901–4917, 2010. PANIAGO, A. L. KAIZEN: implementação na indústria de autopeças: resultados na redução das perdas na área produtiva. 2008. Dissertação (Mestrado em Engenharia) – Univer- sidade de São Paulo, São Paulo, 2008. PAZ, W. F. A. et al. Aplicação do método PDCA no gerenciamento da produtividade de uma linha de produção no setor de bebidas. In: CONGRESSO BRASILEIRO DE ENGE- NHARIA DE PRODUÇÃO, 7., 2017, Ponta Grossa. Anais [...]. Ponta Grossa: APREPRO, 2017. Disponível em: http://www.aprepro.org.br/conbrepro/2017/down.php?id=2885&q=1. Acesso em: 28 ago. 2020. PRESSMAN, R. S.; MAXIM, B. R. Engenharia de software: uma abordagem profissional. 8. ed. Porto Alegre: AMGH, 2016. SILVA, A. L. Proposta de estudo de sistematização da implantação de sistemas Kanban no contexto da produção enxuta. 2004. Dissertação (Mestrado em Engenharia de Pro- dução) – Escola de Engenharia de São Carlos, Universidade de São, São Carlos, 2004. SOMMERVILLE, I. Engenharia de software. 8. ed. São Paulo: Addison Wesley, 2008. VIEIRA FILHO, G. Gestão da qualidade total: uma abordagem prática. 3. ed. Campinas: Alínea. 2010. ZUPAN, H.; HERAKOVIC, N. Production line balancing with discrete event simulation: a case study. IFAC-PapersOnLine, v. 48, n. 3, p. 2305–2311, 2015. Leituras recomendadas BOOCH, G.; RUMBAUGH, J; JACOBSON, I. UML: guia do usuário. 2. ed. Rio de janeiro: Elsevier, 2006. LARMAN, C. Utilizando UML e padrões: uma introdução à análise e projeto orientados a objetos e ao desenvolvimento iterativo. 3. ed. Porto Alegre: Bookman, 2007. SINGH, R. et al. Total Productive Maintenance (TPM) implementation in a machine shop: a case study. Procedia Engineering, v. 51, p. 592–599, 2013. 17Kanban e kaizen no desenvolvimento de software Os links para sites da web fornecidos neste capítulo foram todos testados, e seu fun- cionamento foi comprovado no momento da publicação do material. No entanto, a rede é extremamente dinâmica; suas páginas estão constantemente mudando de local e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre qualidade, precisão ou integralidade das informações referidas em tais links. Kanban e kaizen no desenvolvimento de software18
Compartilhar