Desenvolvimento ágil de software: análise sintética a partir de KANBAN

Fernando Palma
Fernando PalmaConsultor em Governança de TI

Autor: Ludmila Varela Arruda.

ISBN 978-85-62830-10-5 
VII CONNEPI©2012 
Ludmila Varela Arruda1 
1Aluna do Curso de Engenharia Telecomunicações – IFCE. e-mail: ludmila_varela@ifce.edu.br 
DESENVOLVIMENTO ÁGIL DE SOFTWARE: UMA ANÁLISE SINTÉTICA A PARTIR DA METODOLOGIA KANBAN 
Resumo: Diante da real complexidade encontrada no processo de desenvolvimento de um software, diversas metodologias foram criadas a fim de solucionar tal problema. As que mais tem se destacado são as ágeis, que contemplam ideias mais próximas à realidade dos clientes e empresas e que, portanto, tem adquirido um forte espaço no mercado. A meta desse artigo é situar os leitores contexto dos processos de software e seus métodos, apresentando as sugestões oferecidas por mais um desses procedimentos, que é o Kanban, com o propósito de difundi-lo. Quanto maior o conhecimento sobre as metodologias de elaboração e acompanhamento de um sistema, melhor será a análise fim encontrar uma que seja mais apropriada para o ambiente do projeto que se deseja desenvolver. O kanban, por sua vez, engloba características e estratégias simples que tem atendido de forma satisfatória muitas organizações, na atualidade. 
Abstract: Given the complexity found in real development process of software, various methodologies have been created to solve this problem. Those most outstanding are the agile ideas that come closer to reality of companies and customers and, therefore, has acquired a strong market share. The goal this paper is to situate the reader in context of software processes and methods, with suggestions offered by most of these procedures, which is the Kanban, in order to spread it. The greater knowledge about methods of preparing and monitoring a system, becomes most easy to analise in order find one that is appropriate for the project environment you want to develop. The kanban, in turn, includes features and simple strategies that satisfy many companies today. 
Palavras-chave: agilidade, desenvolvimento de software, kanban, metodologias, sistema Toyota de produção 
1. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE 
Construir um software que seja usável e atenda às necessidades de determinado cliente não é uma tarefa simples. A maioria dos sistemas desenvolvidos hoje, no final do processo, não tem todas as suas funcionalidades em uso ou sequer entram em produção. 
Ao longo dos anos, os estudiosos da área de Engenharia Software tentam aperfeiçoar esse processo, de maneira que o software possa colaborar concretamente com usuário final. Esse é objetivo da automatização das atividades. 
Cada fase desse processo possui suas particularidades, bem como as dificuldades de execução. Estas estão descritas abaixo: 
a) Análise e Levantamento de Requisitos: Essa etapa define quais são os problemas enfrentados pelos usuários do futuro sistema e quais as soluções desejos que os mesmos pretendem adquirir. É importante que todo o ambiente do problema seja analisado, a fim de estudar quais são as reais necessidades. Normalmente, os requisitos, se não forem detalhados com clareza, trazem complicações durante todas as outras fases e comprometem os resultados. É também considerada a etapa mais relevante. 
b) Projeto: Após a fase de análise, os requisitos precisam ser traduzidos para linguagem
ISBN 978-85-62830-10-5 
VII CONNEPI©2012 
computacional, seja qual for a tecnologia utilizada. Assim, os dados devem ser estruturados e a arquitetura do sistema deve ser montada. Ou seja, algumas diretrizes são cumpridas, como a definição de hardware básico, sistema operacional, interfaces, linguagem programação etc. Entretanto, essa representação é abstrata, por enquanto. “O processo de projeto pode envolver o desenvolvimento de vários modelos do sistema em diferentes níveis abstração.” (SOMMERVILLE, 2010, 8 ed, p. 50). 
c) Implementação ou Codificação: É nesta etapa onde a especificação será convertida em um sistema executável (torna-se possível a compilação e geração de código). Aqui se concentra o objetivo da Engenharia de Software, o que não quer dizer detenha a maior importância. Seja forma interativa ou incremental, o código vai apresentando mudanças e evoluções ao longo do tempo, o que concede forma ao sistema como um todo. 
d) Teste e Validação: Depois que o software é codificado, necessário sejam realizados diversos testes (funcionais e não funcionais) para certificar-se que os requisitos especificados pelo cliente foram atendidos. Essa fase deve ser contemplada durante todo o processo de desenvolvimento, visto que, quanto mais cedo os erros são descobertos, facilmente estes corrigidos. O grande número de falhas encontradas em um sistema tem sido uma das maiores dificuldades das equipes que constroem software atualmente. Logo, essa etapa caracteriza um dos principais alvos da Engenharia de software, que é a qualidade. 
e) Manutenção: Entregar o produto devidamente testado não significa a conclusão do trabalho no processo. O código deve ser implementado visando mudanças posteriores, portanto, ele manutenível. Mesmo depois de “pronto”, novos requisitos podem surgir e o sistema deve estar preparado para recebê-los. 
Figura 1: Fases do modelo de Desenvolvimento Clássico 
Fonte: Adaptado de Sommerville (2003) 
A figura 1 sintetiza o processo de desenvolvimento que foi descrito através da definição suas fases. Mesmo com os inúmeros estudos realizados nessa área, a implementação de softwares ainda é uma atividade custosa e delicada. 
2. METODOLOGIAS DE DESENVOLVIMENTO ÁGIL
ISBN 978-85-62830-10-5 
VII CONNEPI©2012 
Levando em consideração a dificuldade de desenvolver um sistema, muitas metodologias foram criadas, melhoradas e adaptadas com o objetivo de solucionar esse impasse. O dicionário [WEBSTERS, 1998] define metodologia como um conjunto de métodos, regras e postulados empregados por uma disciplina: um procedimento particular ou conjuntos de procedimentos. Portanto, a maioria das empresas utilizam esses recursos para melhorar seus resultados. 
Temos como exemplo algumas das principais metodologias aplicadas atualmente: Scrum, XP (Extreme Programming), RUP Rational Unified Process), Kanban, FDD Feature Driven Development), entre outras. Contudo, o conjunto de regras que vem sendo implantado com força maior e que tem evoluído consideravelmente chama-se “Metodologias Ágeis de Software” ou simplesmente “Agilidade”, onde está o foco do estudo desse artigo. 
Mas, o que vem a ser agilidade? No mundo da Engenharia de Software, este termo nada tem a ver com rapidez na entrega de artefatos, como muitos pensam. Na verdade, trata-se de tentar amenizar os riscos de desenvolvimento através curtas interações. Interações são intervalos reduzidos de tempo, nos quais determinadas funcionalidades do sistema serão desenvolvidas. Quando conseguimos organizar certo número de atividades em um período tempo, torna-se mais facilitada a construção do software, além cliente poder ter acesso livre e rápido ao que está sendo implementado. É como pensarmos em todas as fases descritas no processo de desenvolvimento software acontecendo em vários ciclos de tempo. Os requisitos são analisados e descritos, a arquitetura é planejada, o código feito, os testes são realizados e uma parte do sistema é entregue. Depois, novamente os requisitos são analisados, a arquitetura é replanejada e assim por diante. 
Esse termo “Metodologias Ágeis” surgiu a partir da criação do Manifesto Ágil, um documento que tem como conceitos principais: 
- Indivíduos e interações ao invés de processos ferramentas; 
- Software executável ao invés de documentação; 
- Colaboração do cliente ao invés de negociação contratos; 
- Respostas rápidas a mudanças ao invés de seguir planos. 
As ferramentas, documentações, contratos, por exemplo, não foram excluídos do processo, mas já não recebem tanta importância como em outras metodologias. O foco da agilidade está nas pessoas, nas interações, no sistema, na participação do cliente.
ISBN 978-85-62830-10-5 
VII CONNEPI©2012 
Figura 2: Princípios Ágeis 
Fonte: http://ebookbrowse.com/pbjug-tech-day-processos-de-desenvolvimento-de-software-pdf-d296232956 
Embora seja notável a difusão dos métodos ágeis, isso não indica que as metodologias tradicionais não funcionem. Porém, a estrutura física e organizacional das empresas atuais tem dado preferência à agilidade, por esta se comportar de forma positiva quanto aos requisitos que estão sempre emergindo, aos projetos com um número de pessoas pequeno, ambientes baixa criticidade etc. Dentro desse contexto, umas das metodologias que ganhou grande destaque nos últimos anos foi o Scrum, que se relaciona com conceitos da Engenharia e não possui regras específicas para a fase de desenvolvimento. 
A partir dessa metodologia, outra tem assumido grande valor no mercado, o Kanban, que é o objeto de estudo desse trabalho. 
3. DESENVOLVIMENTO ÁGIL COM KANBAN 
Primeiramente, o que é kanban? Partindo do princípio se trata de mais uma metodologia ágil de desenvolvimento, qual o seu diferencial? “Kanban é um método de desenvolvimento software com fortes bases em práticas Lean, e que tem como objetivo aperfeiçoar o processo de desenvolvimento de software pré-existente. Este método limita o trabalho em progresso, apresentando a evolução de forma visual, tornando os problemas evidentes e cultivando uma cultura de melhoria contínua.” (GOMES, André. Desenvolvimento Ágil com kanban. Java magazine, 84, pg. 1). 
As práticas Lean ou Sistema Toyota de produção, como são mais conhecidas, caracterizam a estrutura do kanban. No passado, as indústrias utilizavam o sistema de produção que conhecemos como “produção empurrada”, onde uma atividade era executada, tendo seu resultado “empurrado” para a atividade posterior. Logo, não existia relação entre as atividades produzidas e demanda do cliente. Com o Sistema Toyota ou produção “puxada”, processo passou a ser diferente. Cada atividade executada dependia da demanda atividade anteriormente. 
Esse sistema tem como princípio eliminar todo e qualquer tipo de desperdício, além ter como primícia o modelo de Just in time, qual determina que exista um momento adequado para cada fase do desenvolvimento. Nada deve ser feito sem que esteja no tempo apropriado e seja necessário. 
Trazendo esses conceitos para o processo de desenvolvimento software, trabalho construir uma nova funcionalidade para um sistema só é gerado a partir do momento que uma funcionalidade anterior já tenha sido implementada. O kanban, dentro desse contexto, procura aperfeiçoar os processos, as equipes e projetos. É útil para empresas que estão procurando melhorar constantemente, ao passo que melhoram também sua produtividade e relação com os clientes. “Esse método começou a crescer após sua adoção na conferência Agile, em agosto de 2007. Sua primeira aplicação para Engenharia de Software foi na empresa Microsoft em 2004”. (ANDERSON, David. Kanban: Successful Evolutionary Change for Your Technology Business, cap.2). 
O principal objetivo dessa metodologia é avaliar o trabalho em progresso, chamado WIP (Work in Progress). Essa avaliação tem a proposta de mostrar quando uma funcionalidade do software pode ser arquitetada, codificada, testada etc. Mas quando se percebe que mais trabalho pode ser “puxado”? Ou seja, quando se percebe que outras atividades já podem desenvolvidas
ISBN 978-85-62830-10-5 
VII CONNEPI©2012 
pela equipe? 
A demonstração vem pela visualização. O kanban, como o próprio nome diz, é uma palavra japonesa que significa “cartão sinalizador”. Através do quadro de atividades, é possível perceber qual a quantidade de esforço que poderá ser adicionada. É importante lembrar que, para isso, é preciso também levar em consideração a indicação de limite e capacidade da equipe do software que está sendo desenvolvido. Algumas das empresas que implantam essa metodologia possuem um quadro com espaços que indicam a capacidade. 
As vantagens encontradas para adotar o kanban são grandes. A equipe pode fazer entregas a qualquer instante para o cliente e mesmo pode modificar a importância das atividades quando desejar. O desenvolvimento fica mais transparente, já que é possível visualizar o fluxo de trabalho, sem preocupações com as iterações e estimativas, como em outros métodos. Caso isso seja relevante para um projeto, no qual o foco vai estar na implementação do produto ou que tenha a necessidade de ter papéis bem definidos, não é indicada a aplicação do kanban. 
A figura a seguir retrata a definição de uma ferramenta que auxilia implantação desse método. Com um quadro simples e cartões, pode-se criar um controle de fluxo atividades. 
Figura 3: Quadro ilustrativo 
Fonte: http://www.devmedia.com.br/desenvolvimento-agil-com-kanban-java-magazine-84/18235 
Para começar, é importante mapear o que mais prioritário dentro do software, estabelecendo pontos estratégicos, definindo o trabalho que deverá estar em progresso e montando a estrutura visual que facilitará o acompanhamento. 
4. CONCLUSÕES 
A dificuldade de desenvolver um software que seja utilizável tem sido amenizada com os novos conceitos e soluções propostas pelas metodologias ágeis. O kanban, alvo desse estudo, tem esse foco. Quando o cliente pode definir a prioridade das atividades e mudá-la a qualquer momento, sua satisfação é maior. Quando a equipe pode acompanhar o fluxo de todas as atividades do processo, podendo também controlar o trabalho que está em progresso, esta trabalha de forma mais produtiva e com qualidade. Objetivos são traçados a simplicidade torna-se lei no desenvolvimento do projeto, o que traz como retorno grandes facilidades para todos. Além disso, o
ISBN 978-85-62830-10-5 
VII CONNEPI©2012 
kanban pode ser combinado com outros métodos, bem como adaptado de acordo a realidade da empresa. Não existe uma metodologia padrão a ser adotada em um projeto, que seja mais favorável à sua necessidade. 
5. REFERÊNCIAS BIBLIOGRÁFICAS 
ALMEIDA, Rodrigo. Processos de Desenvolvimento Software. PBJUG, 2012. http://ebookbrowse.com/pbjug-tech-day-processos-de-desenvolvimento-de-software-pdf- d296232956. Data de acesso: 12/06/2012; 
BASTOS, Aderson et al. Base de conhecimento em teste software. 2ª edição. São Paulo: Martins Editora, 2007; 
GOMES, André. Desenvolvimento Ágil com kanban. Java magazine, 84. http://www.devmedia.com.br/desenvolvimento-agil-com-kanban-java-magazine-84/18235. Data de acesso: 10/06/2012; 
Manifesto Ágil de Software, 2012. http://www.agilealliance.org/. Data de acesso: 20/06/2012. 
SOMMERVILLE, Ian. Engenharia de Software. 8ª edição. São Paulo: Pearson, 2010; 
ANDERSON, David. Kanban: Successful Evolutionary Change for Your Technology Business. United States, 2010; 
LADAS, Corey. Scrumban - Essays on Kanban Systems for Lean Software Development. United States: Modus Cooperandi, 2008.

Recomendados

Métodos ágeis por
Métodos ágeisMétodos ágeis
Métodos ágeisFernando Palma
5.7K visualizações35 slides
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha por
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaMetodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo RochaFernando Palma
7.3K visualizações33 slides
Modelo de Dicionário da eap por
Modelo de Dicionário da eapModelo de Dicionário da eap
Modelo de Dicionário da eapFernando Palma
14.5K visualizações4 slides
Resumo das mudanças no PMBOK 5 por
Resumo das mudanças no PMBOK 5Resumo das mudanças no PMBOK 5
Resumo das mudanças no PMBOK 5Fernando Palma
3.9K visualizações12 slides
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix por
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixModelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
501 visualizações64 slides
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix por
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixIntrodução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane FidelixCris Fidelix
365 visualizações42 slides

Mais conteúdo relacionado

Mais procurados

Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix por
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixCris Fidelix
639 visualizações68 slides
Metodologias ágeis de desenvolvimento trabalho por
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalhoRuan Pozzebon
1.1K visualizações18 slides
Como especificar requisitos em metodologias ágeis? por
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?Priscilla Aguiar
24.7K visualizações18 slides
Plano de projeto de software por
Plano de projeto de softwarePlano de projeto de software
Plano de projeto de softwareSigelman Araujo
8.2K visualizações12 slides
Requisitos Ágeis por
Requisitos ÁgeisRequisitos Ágeis
Requisitos ÁgeisAndré Faria Gomes
7.4K visualizações55 slides
Projeto de Software por
Projeto de SoftwareProjeto de Software
Projeto de SoftwareWagner Zaparoli
2.2K visualizações57 slides

Mais procurados(20)

Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix por Cris Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane FidelixModelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Cris Fidelix639 visualizações
Metodologias ágeis de desenvolvimento trabalho por Ruan Pozzebon
Metodologias ágeis de desenvolvimento   trabalhoMetodologias ágeis de desenvolvimento   trabalho
Metodologias ágeis de desenvolvimento trabalho
Ruan Pozzebon1.1K visualizações
Como especificar requisitos em metodologias ágeis? por Priscilla Aguiar
Como especificar requisitos em metodologias ágeis?Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Priscilla Aguiar24.7K visualizações
Plano de projeto de software por Sigelman Araujo
Plano de projeto de softwarePlano de projeto de software
Plano de projeto de software
Sigelman Araujo8.2K visualizações
Requisitos Ágeis por André Faria Gomes
Requisitos ÁgeisRequisitos Ágeis
Requisitos Ágeis
André Faria Gomes7.4K visualizações
Projeto de Software por Wagner Zaparoli
Projeto de SoftwareProjeto de Software
Projeto de Software
Wagner Zaparoli2.2K visualizações
Introdução à Iniciação de Projetos de Software por Camilo Almendra
Introdução à Iniciação de Projetos de SoftwareIntrodução à Iniciação de Projetos de Software
Introdução à Iniciação de Projetos de Software
Camilo Almendra1.8K visualizações
METODOLOGIA ÁGIL: Família Crystal de Cockbum por vanessa finoto
METODOLOGIA ÁGIL: Família Crystal de CockbumMETODOLOGIA ÁGIL: Família Crystal de Cockbum
METODOLOGIA ÁGIL: Família Crystal de Cockbum
vanessa finoto5.7K visualizações
Comparativo entre Processos Ágeis por Daniel Ferreira
Comparativo entre Processos ÁgeisComparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Daniel Ferreira9K visualizações
Requisitos Ágeis um novo mindset por Fábio Aguiar
Requisitos Ágeis um novo mindsetRequisitos Ágeis um novo mindset
Requisitos Ágeis um novo mindset
Fábio Aguiar2.5K visualizações
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010 por Facuuldade Norte Sul
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
Facuuldade Norte Sul303 visualizações
Metodologia de Desenvolvimento de Softwares por Aragon Vieira
Metodologia de Desenvolvimento de SoftwaresMetodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
Aragon Vieira182 visualizações
Gestão de Projetos Hibrida por Aragon Vieira
Gestão de Projetos HibridaGestão de Projetos Hibrida
Gestão de Projetos Hibrida
Aragon Vieira137 visualizações
Metodologias Ágeis em Gerenciamento de Projetos por Daniel de Amaral
Metodologias Ágeis em Gerenciamento de ProjetosMetodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de Projetos
Daniel de Amaral25.4K visualizações
Métodos Ágeis por elliando dias
Métodos ÁgeisMétodos Ágeis
Métodos Ágeis
elliando dias1.7K visualizações
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G por jrnavarro
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL GPROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
PROPOSTA DE ADAPTAÇÃO DAS PRÁTICAS DO SCRUM PARA O MPS.BR NIVEL G
jrnavarro427 visualizações
Artigo Metodologia ágil: Scrum por Bruno Teixeira
Artigo  Metodologia ágil: ScrumArtigo  Metodologia ágil: Scrum
Artigo Metodologia ágil: Scrum
Bruno Teixeira419 visualizações
Métodos Ágeis - Guia para Projetos Eficientes por Gabriela Giacomini
Métodos Ágeis - Guia para Projetos EficientesMétodos Ágeis - Guia para Projetos Eficientes
Métodos Ágeis - Guia para Projetos Eficientes
Gabriela Giacomini147 visualizações
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum por Raphael Donaire Albino
Gerenciando Projetos De Software De Forma áGil Utilizando ScrumGerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Raphael Donaire Albino1.3K visualizações
1 apresentacao metodologia rcp por Frank Coelho
1  apresentacao metodologia rcp1  apresentacao metodologia rcp
1 apresentacao metodologia rcp
Frank Coelho213 visualizações

Similar a Desenvolvimento ágil de software: análise sintética a partir de KANBAN

Processos de software por
Processos de softwareProcessos de software
Processos de softwareDann Volpato
286 visualizações6 slides
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA... por
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...Kéllyson Gonçalves da Silva
1.3K visualizações16 slides
38484931 questionario-es por
38484931 questionario-es38484931 questionario-es
38484931 questionario-esConcurseiro Área de TI
896 visualizações8 slides
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE por
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWAREKéllyson Gonçalves da Silva
1.3K visualizações14 slides
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC... por
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...André Luis Celestino
57 visualizações10 slides
Modelos de processos de software por
Modelos de processos de softwareModelos de processos de software
Modelos de processos de softwareNécio de Lima Veras
4K visualizações31 slides

Similar a Desenvolvimento ágil de software: análise sintética a partir de KANBAN(20)

Processos de software por Dann Volpato
Processos de softwareProcessos de software
Processos de software
Dann Volpato286 visualizações
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA... por Kéllyson Gonçalves da Silva
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
SCRUM: ADOÇÃO DE UM FRAMEWORK ÁGIL NO DESENVOLVIMENTO DE UM SOFTWARE PARA TRA...
Kéllyson Gonçalves da Silva1.3K visualizações
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC... por André Luis Celestino
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
André Luis Celestino57 visualizações
Modelos de processos de software por Nécio de Lima Veras
Modelos de processos de softwareModelos de processos de software
Modelos de processos de software
Nécio de Lima Veras4K visualizações
Tradução resumida do livro "The Elements of Scrum" por Henrique Bueno
Tradução resumida do livro "The Elements of Scrum"Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
Henrique Bueno911 visualizações
Implantacao.Processo.Fabrica.SL por Annkatlover
Implantacao.Processo.Fabrica.SLImplantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SL
Annkatlover355 visualizações
O uso de metodos ageis no desenvolvimento de software por Everton vitor
O uso de metodos ageis no desenvolvimento de softwareO uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
Everton vitor20 visualizações
Métodos ágeis de desenvolvimento2 por GrupoAlves - professor
Métodos ágeis de desenvolvimento2Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
GrupoAlves - professor1.2K visualizações
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf por Athena542429
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdfO_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
Athena5424291 visão
Este trabalho trata por Roni Reis
Este trabalho trataEste trabalho trata
Este trabalho trata
Roni Reis174 visualizações
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a... por Maicon Zerbielli
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Maicon Zerbielli625 visualizações
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil por Rebecca Betwel
Engenharia de software aula 6 - Introdução ao Desenvolvimento ÁgilEngenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Rebecca Betwel564 visualizações
TechNet - e-Book- Artigos sobre Test Manager por Alan Carlos
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
Alan Carlos1.3K visualizações
T1 g13.modelo cascata por wilsonguns
T1 g13.modelo cascataT1 g13.modelo cascata
T1 g13.modelo cascata
wilsonguns983 visualizações

Mais de Fernando Palma

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C... por
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...Fernando Palma
5.4K visualizações75 slides
Formação em ciência de dados por
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dadosFernando Palma
3.1K visualizações25 slides
Apostila de Introdução ao Arduino por
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao ArduinoFernando Palma
1.6K visualizações36 slides
Apostila Arduino Basico por
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino BasicoFernando Palma
2.5K visualizações44 slides
Cartilha Segurança na Internet - CERT.br por
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.brFernando Palma
2.7K visualizações142 slides
Ebook Apache Server: Guia Introdutório por
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia IntrodutórioFernando Palma
1.6K visualizações22 slides

Mais de Fernando Palma(20)

CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C... por Fernando Palma
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves |  C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
Fernando Palma5.4K visualizações
Formação em ciência de dados por Fernando Palma
Formação em ciência de dadosFormação em ciência de dados
Formação em ciência de dados
Fernando Palma3.1K visualizações
Apostila de Introdução ao Arduino por Fernando Palma
Apostila de Introdução ao ArduinoApostila de Introdução ao Arduino
Apostila de Introdução ao Arduino
Fernando Palma1.6K visualizações
Apostila Arduino Basico por Fernando Palma
Apostila Arduino BasicoApostila Arduino Basico
Apostila Arduino Basico
Fernando Palma2.5K visualizações
Cartilha Segurança na Internet - CERT.br por Fernando Palma
Cartilha Segurança na Internet - CERT.brCartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.br
Fernando Palma2.7K visualizações
Ebook Apache Server: Guia Introdutório por Fernando Palma
Ebook Apache Server: Guia IntrodutórioEbook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
Fernando Palma1.6K visualizações
Apostila Zend Framework por Fernando Palma
Apostila Zend FrameworkApostila Zend Framework
Apostila Zend Framework
Fernando Palma1.3K visualizações
Hacker Ético por Fernando Palma
Hacker ÉticoHacker Ético
Hacker Ético
Fernando Palma8.8K visualizações
Ebook Governança de TI na Prática por Fernando Palma
Ebook Governança de TI na PráticaEbook Governança de TI na Prática
Ebook Governança de TI na Prática
Fernando Palma9.7K visualizações
Simulado ITIL Foundation - Questões Comentadas por Fernando Palma
Simulado ITIL Foundation - Questões ComentadasSimulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
Fernando Palma25.3K visualizações
Introdução à Aprendizagem de Máquina por Fernando Palma
Introdução à Aprendizagem de MáquinaIntrodução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
Fernando Palma5.5K visualizações
PDTI - Plano Diretor de Tecnologia da Informação (modelo) por Fernando Palma
PDTI - Plano Diretor de Tecnologia da Informação (modelo)PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
Fernando Palma24.8K visualizações
Guia Salarial 2017 Robert Half Brasil por Fernando Palma
Guia Salarial 2017 Robert Half BrasilGuia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
Fernando Palma36.7K visualizações
Tutorial memcached por Fernando Palma
Tutorial memcachedTutorial memcached
Tutorial memcached
Fernando Palma1.3K visualizações
Gerenciamento na nuvem e System Center por Fernando Palma
Gerenciamento na nuvem e System CenterGerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
Fernando Palma1.2K visualizações
SAN: Storage Area Network por Fernando Palma
SAN: Storage Area NetworkSAN: Storage Area Network
SAN: Storage Area Network
Fernando Palma4.4K visualizações
Linguagem ABAP por Fernando Palma
Linguagem ABAPLinguagem ABAP
Linguagem ABAP
Fernando Palma16.6K visualizações
Ebook ITIL Na Prática por Fernando Palma
Ebook ITIL Na PráticaEbook ITIL Na Prática
Ebook ITIL Na Prática
Fernando Palma13.7K visualizações
Exemplo de Plano Estratégico de TI - MEC por Fernando Palma
Exemplo de Plano Estratégico de TI - MECExemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
Fernando Palma7.1K visualizações
Apostila Tutorial CakePHP por Fernando Palma
Apostila Tutorial CakePHPApostila Tutorial CakePHP
Apostila Tutorial CakePHP
Fernando Palma4.6K visualizações

Último

Conheça agora o UiPath Autopilot™ para o Studio.pdf por
Conheça agora o UiPath Autopilot™ para o Studio.pdfConheça agora o UiPath Autopilot™ para o Studio.pdf
Conheça agora o UiPath Autopilot™ para o Studio.pdfBrunaCavalcanti29
14 visualizações8 slides
TechConnection 2023 Floripa Azure Container Apps por
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container AppsWalter Coan
6 visualizações14 slides
VIRTUS 1.6 MSI.pdf por
VIRTUS 1.6 MSI.pdfVIRTUS 1.6 MSI.pdf
VIRTUS 1.6 MSI.pdfFbioVieira85
5 visualizações13 slides
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023 por
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023AcademicaDlaUnicesum
6 visualizações3 slides
DevFest2023-Pragmatismo da Internet das Coisas por
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das CoisasWalter Coan
36 visualizações40 slides
certificado excel.pdf por
certificado excel.pdfcertificado excel.pdf
certificado excel.pdfjuniorcarvalho136
5 visualizações1 slide

Último(8)

Conheça agora o UiPath Autopilot™ para o Studio.pdf por BrunaCavalcanti29
Conheça agora o UiPath Autopilot™ para o Studio.pdfConheça agora o UiPath Autopilot™ para o Studio.pdf
Conheça agora o UiPath Autopilot™ para o Studio.pdf
BrunaCavalcanti2914 visualizações
TechConnection 2023 Floripa Azure Container Apps por Walter Coan
TechConnection 2023 Floripa Azure Container AppsTechConnection 2023 Floripa Azure Container Apps
TechConnection 2023 Floripa Azure Container Apps
Walter Coan6 visualizações
VIRTUS 1.6 MSI.pdf por FbioVieira85
VIRTUS 1.6 MSI.pdfVIRTUS 1.6 MSI.pdf
VIRTUS 1.6 MSI.pdf
FbioVieira855 visualizações
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023 por AcademicaDlaUnicesum
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
MAPA - SAÚDE - FUNDAMENTOS DE FARMACOLOGIA - 54/2023
AcademicaDlaUnicesum6 visualizações
DevFest2023-Pragmatismo da Internet das Coisas por Walter Coan
DevFest2023-Pragmatismo da Internet das CoisasDevFest2023-Pragmatismo da Internet das Coisas
DevFest2023-Pragmatismo da Internet das Coisas
Walter Coan36 visualizações
certificado excel.pdf por juniorcarvalho136
certificado excel.pdfcertificado excel.pdf
certificado excel.pdf
juniorcarvalho1365 visualizações
Shift left DevOps Experience por Walter Coan
Shift left DevOps ExperienceShift left DevOps Experience
Shift left DevOps Experience
Walter Coan5 visualizações
ProxySQL no MySQL: Apenas um load balancer? por Roberto Garcia de Bem
ProxySQL no MySQL: Apenas um load balancer?ProxySQL no MySQL: Apenas um load balancer?
ProxySQL no MySQL: Apenas um load balancer?
Roberto Garcia de Bem6 visualizações

Desenvolvimento ágil de software: análise sintética a partir de KANBAN

  • 1. ISBN 978-85-62830-10-5 VII CONNEPI©2012 Ludmila Varela Arruda1 1Aluna do Curso de Engenharia Telecomunicações – IFCE. e-mail: ludmila_varela@ifce.edu.br DESENVOLVIMENTO ÁGIL DE SOFTWARE: UMA ANÁLISE SINTÉTICA A PARTIR DA METODOLOGIA KANBAN Resumo: Diante da real complexidade encontrada no processo de desenvolvimento de um software, diversas metodologias foram criadas a fim de solucionar tal problema. As que mais tem se destacado são as ágeis, que contemplam ideias mais próximas à realidade dos clientes e empresas e que, portanto, tem adquirido um forte espaço no mercado. A meta desse artigo é situar os leitores contexto dos processos de software e seus métodos, apresentando as sugestões oferecidas por mais um desses procedimentos, que é o Kanban, com o propósito de difundi-lo. Quanto maior o conhecimento sobre as metodologias de elaboração e acompanhamento de um sistema, melhor será a análise fim encontrar uma que seja mais apropriada para o ambiente do projeto que se deseja desenvolver. O kanban, por sua vez, engloba características e estratégias simples que tem atendido de forma satisfatória muitas organizações, na atualidade. Abstract: Given the complexity found in real development process of software, various methodologies have been created to solve this problem. Those most outstanding are the agile ideas that come closer to reality of companies and customers and, therefore, has acquired a strong market share. The goal this paper is to situate the reader in context of software processes and methods, with suggestions offered by most of these procedures, which is the Kanban, in order to spread it. The greater knowledge about methods of preparing and monitoring a system, becomes most easy to analise in order find one that is appropriate for the project environment you want to develop. The kanban, in turn, includes features and simple strategies that satisfy many companies today. Palavras-chave: agilidade, desenvolvimento de software, kanban, metodologias, sistema Toyota de produção 1. PROCESSO DE DESENVOLVIMENTO DE SOFTWARE Construir um software que seja usável e atenda às necessidades de determinado cliente não é uma tarefa simples. A maioria dos sistemas desenvolvidos hoje, no final do processo, não tem todas as suas funcionalidades em uso ou sequer entram em produção. Ao longo dos anos, os estudiosos da área de Engenharia Software tentam aperfeiçoar esse processo, de maneira que o software possa colaborar concretamente com usuário final. Esse é objetivo da automatização das atividades. Cada fase desse processo possui suas particularidades, bem como as dificuldades de execução. Estas estão descritas abaixo: a) Análise e Levantamento de Requisitos: Essa etapa define quais são os problemas enfrentados pelos usuários do futuro sistema e quais as soluções desejos que os mesmos pretendem adquirir. É importante que todo o ambiente do problema seja analisado, a fim de estudar quais são as reais necessidades. Normalmente, os requisitos, se não forem detalhados com clareza, trazem complicações durante todas as outras fases e comprometem os resultados. É também considerada a etapa mais relevante. b) Projeto: Após a fase de análise, os requisitos precisam ser traduzidos para linguagem
  • 2. ISBN 978-85-62830-10-5 VII CONNEPI©2012 computacional, seja qual for a tecnologia utilizada. Assim, os dados devem ser estruturados e a arquitetura do sistema deve ser montada. Ou seja, algumas diretrizes são cumpridas, como a definição de hardware básico, sistema operacional, interfaces, linguagem programação etc. Entretanto, essa representação é abstrata, por enquanto. “O processo de projeto pode envolver o desenvolvimento de vários modelos do sistema em diferentes níveis abstração.” (SOMMERVILLE, 2010, 8 ed, p. 50). c) Implementação ou Codificação: É nesta etapa onde a especificação será convertida em um sistema executável (torna-se possível a compilação e geração de código). Aqui se concentra o objetivo da Engenharia de Software, o que não quer dizer detenha a maior importância. Seja forma interativa ou incremental, o código vai apresentando mudanças e evoluções ao longo do tempo, o que concede forma ao sistema como um todo. d) Teste e Validação: Depois que o software é codificado, necessário sejam realizados diversos testes (funcionais e não funcionais) para certificar-se que os requisitos especificados pelo cliente foram atendidos. Essa fase deve ser contemplada durante todo o processo de desenvolvimento, visto que, quanto mais cedo os erros são descobertos, facilmente estes corrigidos. O grande número de falhas encontradas em um sistema tem sido uma das maiores dificuldades das equipes que constroem software atualmente. Logo, essa etapa caracteriza um dos principais alvos da Engenharia de software, que é a qualidade. e) Manutenção: Entregar o produto devidamente testado não significa a conclusão do trabalho no processo. O código deve ser implementado visando mudanças posteriores, portanto, ele manutenível. Mesmo depois de “pronto”, novos requisitos podem surgir e o sistema deve estar preparado para recebê-los. Figura 1: Fases do modelo de Desenvolvimento Clássico Fonte: Adaptado de Sommerville (2003) A figura 1 sintetiza o processo de desenvolvimento que foi descrito através da definição suas fases. Mesmo com os inúmeros estudos realizados nessa área, a implementação de softwares ainda é uma atividade custosa e delicada. 2. METODOLOGIAS DE DESENVOLVIMENTO ÁGIL
  • 3. ISBN 978-85-62830-10-5 VII CONNEPI©2012 Levando em consideração a dificuldade de desenvolver um sistema, muitas metodologias foram criadas, melhoradas e adaptadas com o objetivo de solucionar esse impasse. O dicionário [WEBSTERS, 1998] define metodologia como um conjunto de métodos, regras e postulados empregados por uma disciplina: um procedimento particular ou conjuntos de procedimentos. Portanto, a maioria das empresas utilizam esses recursos para melhorar seus resultados. Temos como exemplo algumas das principais metodologias aplicadas atualmente: Scrum, XP (Extreme Programming), RUP Rational Unified Process), Kanban, FDD Feature Driven Development), entre outras. Contudo, o conjunto de regras que vem sendo implantado com força maior e que tem evoluído consideravelmente chama-se “Metodologias Ágeis de Software” ou simplesmente “Agilidade”, onde está o foco do estudo desse artigo. Mas, o que vem a ser agilidade? No mundo da Engenharia de Software, este termo nada tem a ver com rapidez na entrega de artefatos, como muitos pensam. Na verdade, trata-se de tentar amenizar os riscos de desenvolvimento através curtas interações. Interações são intervalos reduzidos de tempo, nos quais determinadas funcionalidades do sistema serão desenvolvidas. Quando conseguimos organizar certo número de atividades em um período tempo, torna-se mais facilitada a construção do software, além cliente poder ter acesso livre e rápido ao que está sendo implementado. É como pensarmos em todas as fases descritas no processo de desenvolvimento software acontecendo em vários ciclos de tempo. Os requisitos são analisados e descritos, a arquitetura é planejada, o código feito, os testes são realizados e uma parte do sistema é entregue. Depois, novamente os requisitos são analisados, a arquitetura é replanejada e assim por diante. Esse termo “Metodologias Ágeis” surgiu a partir da criação do Manifesto Ágil, um documento que tem como conceitos principais: - Indivíduos e interações ao invés de processos ferramentas; - Software executável ao invés de documentação; - Colaboração do cliente ao invés de negociação contratos; - Respostas rápidas a mudanças ao invés de seguir planos. As ferramentas, documentações, contratos, por exemplo, não foram excluídos do processo, mas já não recebem tanta importância como em outras metodologias. O foco da agilidade está nas pessoas, nas interações, no sistema, na participação do cliente.
  • 4. ISBN 978-85-62830-10-5 VII CONNEPI©2012 Figura 2: Princípios Ágeis Fonte: http://ebookbrowse.com/pbjug-tech-day-processos-de-desenvolvimento-de-software-pdf-d296232956 Embora seja notável a difusão dos métodos ágeis, isso não indica que as metodologias tradicionais não funcionem. Porém, a estrutura física e organizacional das empresas atuais tem dado preferência à agilidade, por esta se comportar de forma positiva quanto aos requisitos que estão sempre emergindo, aos projetos com um número de pessoas pequeno, ambientes baixa criticidade etc. Dentro desse contexto, umas das metodologias que ganhou grande destaque nos últimos anos foi o Scrum, que se relaciona com conceitos da Engenharia e não possui regras específicas para a fase de desenvolvimento. A partir dessa metodologia, outra tem assumido grande valor no mercado, o Kanban, que é o objeto de estudo desse trabalho. 3. DESENVOLVIMENTO ÁGIL COM KANBAN Primeiramente, o que é kanban? Partindo do princípio se trata de mais uma metodologia ágil de desenvolvimento, qual o seu diferencial? “Kanban é um método de desenvolvimento software com fortes bases em práticas Lean, e que tem como objetivo aperfeiçoar o processo de desenvolvimento de software pré-existente. Este método limita o trabalho em progresso, apresentando a evolução de forma visual, tornando os problemas evidentes e cultivando uma cultura de melhoria contínua.” (GOMES, André. Desenvolvimento Ágil com kanban. Java magazine, 84, pg. 1). As práticas Lean ou Sistema Toyota de produção, como são mais conhecidas, caracterizam a estrutura do kanban. No passado, as indústrias utilizavam o sistema de produção que conhecemos como “produção empurrada”, onde uma atividade era executada, tendo seu resultado “empurrado” para a atividade posterior. Logo, não existia relação entre as atividades produzidas e demanda do cliente. Com o Sistema Toyota ou produção “puxada”, processo passou a ser diferente. Cada atividade executada dependia da demanda atividade anteriormente. Esse sistema tem como princípio eliminar todo e qualquer tipo de desperdício, além ter como primícia o modelo de Just in time, qual determina que exista um momento adequado para cada fase do desenvolvimento. Nada deve ser feito sem que esteja no tempo apropriado e seja necessário. Trazendo esses conceitos para o processo de desenvolvimento software, trabalho construir uma nova funcionalidade para um sistema só é gerado a partir do momento que uma funcionalidade anterior já tenha sido implementada. O kanban, dentro desse contexto, procura aperfeiçoar os processos, as equipes e projetos. É útil para empresas que estão procurando melhorar constantemente, ao passo que melhoram também sua produtividade e relação com os clientes. “Esse método começou a crescer após sua adoção na conferência Agile, em agosto de 2007. Sua primeira aplicação para Engenharia de Software foi na empresa Microsoft em 2004”. (ANDERSON, David. Kanban: Successful Evolutionary Change for Your Technology Business, cap.2). O principal objetivo dessa metodologia é avaliar o trabalho em progresso, chamado WIP (Work in Progress). Essa avaliação tem a proposta de mostrar quando uma funcionalidade do software pode ser arquitetada, codificada, testada etc. Mas quando se percebe que mais trabalho pode ser “puxado”? Ou seja, quando se percebe que outras atividades já podem desenvolvidas
  • 5. ISBN 978-85-62830-10-5 VII CONNEPI©2012 pela equipe? A demonstração vem pela visualização. O kanban, como o próprio nome diz, é uma palavra japonesa que significa “cartão sinalizador”. Através do quadro de atividades, é possível perceber qual a quantidade de esforço que poderá ser adicionada. É importante lembrar que, para isso, é preciso também levar em consideração a indicação de limite e capacidade da equipe do software que está sendo desenvolvido. Algumas das empresas que implantam essa metodologia possuem um quadro com espaços que indicam a capacidade. As vantagens encontradas para adotar o kanban são grandes. A equipe pode fazer entregas a qualquer instante para o cliente e mesmo pode modificar a importância das atividades quando desejar. O desenvolvimento fica mais transparente, já que é possível visualizar o fluxo de trabalho, sem preocupações com as iterações e estimativas, como em outros métodos. Caso isso seja relevante para um projeto, no qual o foco vai estar na implementação do produto ou que tenha a necessidade de ter papéis bem definidos, não é indicada a aplicação do kanban. A figura a seguir retrata a definição de uma ferramenta que auxilia implantação desse método. Com um quadro simples e cartões, pode-se criar um controle de fluxo atividades. Figura 3: Quadro ilustrativo Fonte: http://www.devmedia.com.br/desenvolvimento-agil-com-kanban-java-magazine-84/18235 Para começar, é importante mapear o que mais prioritário dentro do software, estabelecendo pontos estratégicos, definindo o trabalho que deverá estar em progresso e montando a estrutura visual que facilitará o acompanhamento. 4. CONCLUSÕES A dificuldade de desenvolver um software que seja utilizável tem sido amenizada com os novos conceitos e soluções propostas pelas metodologias ágeis. O kanban, alvo desse estudo, tem esse foco. Quando o cliente pode definir a prioridade das atividades e mudá-la a qualquer momento, sua satisfação é maior. Quando a equipe pode acompanhar o fluxo de todas as atividades do processo, podendo também controlar o trabalho que está em progresso, esta trabalha de forma mais produtiva e com qualidade. Objetivos são traçados a simplicidade torna-se lei no desenvolvimento do projeto, o que traz como retorno grandes facilidades para todos. Além disso, o
  • 6. ISBN 978-85-62830-10-5 VII CONNEPI©2012 kanban pode ser combinado com outros métodos, bem como adaptado de acordo a realidade da empresa. Não existe uma metodologia padrão a ser adotada em um projeto, que seja mais favorável à sua necessidade. 5. REFERÊNCIAS BIBLIOGRÁFICAS ALMEIDA, Rodrigo. Processos de Desenvolvimento Software. PBJUG, 2012. http://ebookbrowse.com/pbjug-tech-day-processos-de-desenvolvimento-de-software-pdf- d296232956. Data de acesso: 12/06/2012; BASTOS, Aderson et al. Base de conhecimento em teste software. 2ª edição. São Paulo: Martins Editora, 2007; GOMES, André. Desenvolvimento Ágil com kanban. Java magazine, 84. http://www.devmedia.com.br/desenvolvimento-agil-com-kanban-java-magazine-84/18235. Data de acesso: 10/06/2012; Manifesto Ágil de Software, 2012. http://www.agilealliance.org/. Data de acesso: 20/06/2012. SOMMERVILLE, Ian. Engenharia de Software. 8ª edição. São Paulo: Pearson, 2010; ANDERSON, David. Kanban: Successful Evolutionary Change for Your Technology Business. United States, 2010; LADAS, Corey. Scrumban - Essays on Kanban Systems for Lean Software Development. United States: Modus Cooperandi, 2008.