Enviar pesquisa
Carregar
Desenvolvimento ágil de software: análise sintética a partir de KANBAN
•
1 gostou
•
5,910 visualizações
Fernando Palma
Seguir
Autor: Ludmila Varela Arruda.
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 6
Baixar agora
Baixar para ler offline
Recomendados
Métodos ágeis
Métodos ágeis
Fernando Palma
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Fernando Palma
Modelo de Dicionário da eap
Modelo de Dicionário da eap
Fernando Palma
Resumo das mudanças no PMBOK 5
Resumo das mudanças no PMBOK 5
Fernando Palma
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Cris Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Cris Fidelix
Guia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de Função
Fernando Palma
Recomendados
Métodos ágeis
Métodos ágeis
Fernando Palma
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Metodologias ágeis de desenvolvimento de software por Givanaldo Rocha
Fernando Palma
Modelo de Dicionário da eap
Modelo de Dicionário da eap
Fernando Palma
Resumo das mudanças no PMBOK 5
Resumo das mudanças no PMBOK 5
Fernando Palma
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane Fidelix
Cris Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Introdução a Engenharia de Software - Prof.ª Cristiane Fidelix
Cris Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 3 - Prof.ª Cristiane Fidelix
Cris Fidelix
Guia Prático em Análise de Ponto de Função
Guia Prático em Análise de Ponto de Função
Fernando Palma
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Cris Fidelix
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento trabalho
Ruan Pozzebon
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Priscilla Aguiar
Plano de projeto de software
Plano de projeto de software
Sigelman Araujo
Requisitos Ágeis
Requisitos Ágeis
André Faria Gomes
Projeto de Software
Projeto de Software
Wagner Zaparoli
Introdução à Iniciação de Projetos de Software
Introdução à Iniciação de Projetos de Software
Camilo Almendra
METODOLOGIA ÁGIL: Família Crystal de Cockbum
METODOLOGIA ÁGIL: Família Crystal de Cockbum
vanessa finoto
Comparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Daniel Ferreira
Requisitos Ágeis um novo mindset
Requisitos Ágeis um novo mindset
Fábio Aguiar
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
Facuuldade Norte Sul
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
Aragon Vieira
Gestão de Projetos Hibrida
Gestão de Projetos Hibrida
Aragon Vieira
Metodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de Projetos
Daniel de Amaral
Métodos Ágeis
Métodos Ágeis
elliando dias
PROPOSTA 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
jrnavarro
Artigo Metodologia ágil: Scrum
Artigo Metodologia ágil: Scrum
Bruno Teixeira
Métodos Ágeis - Guia para Projetos Eficientes
Métodos Ágeis - Guia para Projetos Eficientes
Gabriela Giacomini
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Raphael Donaire Albino
1 apresentacao metodologia rcp
1 apresentacao metodologia rcp
Frank Coelho
Processos de software
Processos de software
Dann Volpato
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
Mais conteúdo relacionado
Mais procurados
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Cris Fidelix
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento trabalho
Ruan Pozzebon
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Priscilla Aguiar
Plano de projeto de software
Plano de projeto de software
Sigelman Araujo
Requisitos Ágeis
Requisitos Ágeis
André Faria Gomes
Projeto de Software
Projeto de Software
Wagner Zaparoli
Introdução à Iniciação de Projetos de Software
Introdução à Iniciação de Projetos de Software
Camilo Almendra
METODOLOGIA ÁGIL: Família Crystal de Cockbum
METODOLOGIA ÁGIL: Família Crystal de Cockbum
vanessa finoto
Comparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Daniel Ferreira
Requisitos Ágeis um novo mindset
Requisitos Ágeis um novo mindset
Fábio Aguiar
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
Facuuldade Norte Sul
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
Aragon Vieira
Gestão de Projetos Hibrida
Gestão de Projetos Hibrida
Aragon Vieira
Metodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de Projetos
Daniel de Amaral
Métodos Ágeis
Métodos Ágeis
elliando dias
PROPOSTA 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
jrnavarro
Artigo Metodologia ágil: Scrum
Artigo Metodologia ágil: Scrum
Bruno Teixeira
Métodos Ágeis - Guia para Projetos Eficientes
Métodos Ágeis - Guia para Projetos Eficientes
Gabriela Giacomini
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Raphael Donaire Albino
1 apresentacao metodologia rcp
1 apresentacao metodologia rcp
Frank Coelho
Mais procurados
(20)
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Modelos de Processo e Desenvolvimento de Software 1 - Prof.ª Cristiane Fidelix
Metodologias ágeis de desenvolvimento trabalho
Metodologias ágeis de desenvolvimento trabalho
Como especificar requisitos em metodologias ágeis?
Como especificar requisitos em metodologias ágeis?
Plano de projeto de software
Plano de projeto de software
Requisitos Ágeis
Requisitos Ágeis
Projeto de Software
Projeto de Software
Introdução à Iniciação de Projetos de Software
Introdução à Iniciação de Projetos de Software
METODOLOGIA ÁGIL: Família Crystal de Cockbum
METODOLOGIA ÁGIL: Família Crystal de Cockbum
Comparativo entre Processos Ágeis
Comparativo entre Processos Ágeis
Requisitos Ágeis um novo mindset
Requisitos Ágeis um novo mindset
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
C:\Documents And Settings\Juliana\Desktop\Palestra 19 03 2010
Metodologia de Desenvolvimento de Softwares
Metodologia de Desenvolvimento de Softwares
Gestão de Projetos Hibrida
Gestão de Projetos Hibrida
Metodologias Ágeis em Gerenciamento de Projetos
Metodologias Ágeis em Gerenciamento de Projetos
Métodos Ágeis
Métodos Ágeis
PROPOSTA 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
Artigo Metodologia ágil: Scrum
Artigo Metodologia ágil: Scrum
Métodos Ágeis - Guia para Projetos Eficientes
Métodos Ágeis - Guia para Projetos Eficientes
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
Gerenciando Projetos De Software De Forma áGil Utilizando Scrum
1 apresentacao metodologia rcp
1 apresentacao metodologia rcp
Semelhante a Desenvolvimento ágil de software: análise sintética a partir de KANBAN
Processos de software
Processos de software
Dann Volpato
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
38484931 questionario-es
38484931 questionario-es
Concurseiro Área de TI
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
Kéllyson Gonçalves da Silva
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
André Luis Celestino
Modelos de processos de software
Modelos de processos de software
Nécio de Lima Veras
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
Henrique Bueno
Implantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SL
Annkatlover
Processos de software
Processos de software
Computação Depressão
Rational Unified Process (RUP)
Rational Unified Process (RUP)
Carlos Henrique Martins da Silva
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
Paulo Ricardo Dalmagro Vinck
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
Everton vitor
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
GrupoAlves - professor
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
Athena542429
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
Ivo M Michalick Vasconcelos, PMP, PMI-SP, CPCC
Este trabalho trata
Este trabalho trata
Roni Reis
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Maicon Zerbielli
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Rebecca Betwel
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
Alan Carlos
T1 g13.modelo cascata
T1 g13.modelo cascata
wilsonguns
Semelhante a Desenvolvimento ágil de software: análise sintética a partir de KANBAN
(20)
Processos de software
Processos de software
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...
38484931 questionario-es
38484931 questionario-es
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
ANÁLISE DO PARADIGMA HÍBRIDO NA INDÚSTRIA DE SOFTWARE
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
Desenvolvimento Ágil: um survey baseado em experiências profissionais @ CONIC...
Modelos de processos de software
Modelos de processos de software
Tradução resumida do livro "The Elements of Scrum"
Tradução resumida do livro "The Elements of Scrum"
Implantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SL
Processos de software
Processos de software
Rational Unified Process (RUP)
Rational Unified Process (RUP)
Metodologias ágeis de desenvolvimento
Metodologias ágeis de desenvolvimento
O uso de metodos ageis no desenvolvimento de software
O uso de metodos ageis no desenvolvimento de software
Métodos ágeis de desenvolvimento2
Métodos ágeis de desenvolvimento2
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O_Ciclo_de_Vida_do_Desenvolvimento_de_Sistemas.pdf
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
O Gerenciamento de Projetos de Software Desenvolvidos à Luz das Metodologias ...
Este trabalho trata
Este trabalho trata
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Desenvolvimento de um microprocesso utilizando métricas e indicadores como a...
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
Engenharia de software aula 6 - Introdução ao Desenvolvimento Ágil
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
T1 g13.modelo cascata
T1 g13.modelo cascata
Mais de Fernando Palma
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
Fernando Palma
Formação em ciência de dados
Formação em ciência de dados
Fernando Palma
Apostila de Introdução ao Arduino
Apostila de Introdução ao Arduino
Fernando Palma
Apostila Arduino Basico
Apostila Arduino Basico
Fernando Palma
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.br
Fernando Palma
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
Fernando Palma
Apostila Zend Framework
Apostila Zend Framework
Fernando Palma
Hacker Ético
Hacker Ético
Fernando Palma
Ebook Governança de TI na Prática
Ebook Governança de TI na Prática
Fernando Palma
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
Fernando Palma
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
Fernando Palma
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
Fernando Palma
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
Fernando Palma
Tutorial memcached
Tutorial memcached
Fernando Palma
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
Fernando Palma
SAN: Storage Area Network
SAN: Storage Area Network
Fernando Palma
Linguagem ABAP
Linguagem ABAP
Fernando Palma
Ebook ITIL Na Prática
Ebook ITIL Na Prática
Fernando Palma
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
Fernando Palma
Apostila Tutorial CakePHP
Apostila Tutorial CakePHP
Fernando Palma
Mais de Fernando Palma
(20)
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
CRM Gerenciamento Do Relacionamento Com Clientes | Prof. Francisco Alves | C...
Formação em ciência de dados
Formação em ciência de dados
Apostila de Introdução ao Arduino
Apostila de Introdução ao Arduino
Apostila Arduino Basico
Apostila Arduino Basico
Cartilha Segurança na Internet - CERT.br
Cartilha Segurança na Internet - CERT.br
Ebook Apache Server: Guia Introdutório
Ebook Apache Server: Guia Introdutório
Apostila Zend Framework
Apostila Zend Framework
Hacker Ético
Hacker Ético
Ebook Governança de TI na Prática
Ebook Governança de TI na Prática
Simulado ITIL Foundation - Questões Comentadas
Simulado ITIL Foundation - Questões Comentadas
Introdução à Aprendizagem de Máquina
Introdução à Aprendizagem de Máquina
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
PDTI - Plano Diretor de Tecnologia da Informação (modelo)
Guia Salarial 2017 Robert Half Brasil
Guia Salarial 2017 Robert Half Brasil
Tutorial memcached
Tutorial memcached
Gerenciamento na nuvem e System Center
Gerenciamento na nuvem e System Center
SAN: Storage Area Network
SAN: Storage Area Network
Linguagem ABAP
Linguagem ABAP
Ebook ITIL Na Prática
Ebook ITIL Na Prática
Exemplo de Plano Estratégico de TI - MEC
Exemplo de Plano Estratégico de TI - MEC
Apostila Tutorial CakePHP
Apostila Tutorial CakePHP
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.
Baixar agora