Contato com a eTecnologia

Criar e manter uma grande comunidade para o compartilhamento de apresentações e documentos sobre gestão de processos foi a ideia de Rildo Santos em criar a eTecnologia, uma empresa que oferece serviços e produtos em TI baseados na inovação, sustentabilidade e tecnologia desde 2010. Rildo Santos também trabalha com palestras sobre metodologias do Desenvolvimento Ágil e como professor de cursos de MBA e pós-graduação.

 Na minha opinião, os métodos ágeis, como o Scrum, por exemplo, trabalham com o conceito iterativo/incremental que considero fundamental para o desenvolvimento de software, já que sempre temos todas as informações ou requisitos quando começamos a desenvolver um software. Isto também possibilita entregar mais cedo software funcionando ao cliente.

Um fato que julgo importante é que o desenvolvimento de software consiste em um processo empírico (baseado no conhecimento das pessoas) e a melhor forma de controlar estes tipos de processos é a inspeção e adaptação. O foco dos métodos ágeis é entregar valor para o cliente enquanto no modelo cascata é foco é entregar o software. Para ter valor o software tem que atender as necessidades do cliente.

 

Rildo Santos
Consultor, Coach e Instrutor – eTecnologia

< Voltar para a pesquisa


 

Contato com Jim Highsmith

 Veterano em Desenvolvimento Ágil, Jim Highsmith é um dos membros da Agile Alliance e criador da metodologia ágil Adaptive Software Development (ASD), sendo um dos grandes pioneiros na criação e crescimento de técnicas ágeis nas empresas. Entrar em contato com Jim Highsmith não foi uma tarefa fácil, mas após muita persistência, ele atenciosamente retornou o e-mail expondo a sua opinião sobre a utilização do Desenvolvimento Ágil em projetos grandes.

Pergunta: Muitas pessoas dizem que o Desenvolvimento Ágil não é apropriado para grandes projetos, como ERPs e sistemas complexos. Se o Desenvolvimento Ágil é mais confiável e flexível, por que as empresas insistem em usar o Desenvolvimento em Cascata? É uma tradição ou insegurança?

O Desenvolvimento Ágil, sem dúvida, tem sido usado em vários projetos extensos. A HP, por exemplo, utilizou metodologias ágeis em um projeto de programação de um firmware, envolvendo 400 pessoas divididas em cinco locais distintos. Outras empresas também utilizaram Desenvolvimento Ágil em projetos equivalentes ou até maiores. Ao contrário do que afirmam, o Desenvolvimento Ágil também é utilizado em projetos de ERPs, mas a equipe tem que passar por uma série de adaptações para utilizá-lo neste caso. A maioria das pessoas se preocupa principalmente pelo fato de não ter usado metodologias ágeis o suficiente para sentirem-se seguras de utilizá-las em projetos grandes e sistemas distribuídos.

Apesar da minha opinião, as diferenças entre o Desenvolvimento Ágil e o Desenvolvimento em Cascata são questões extremamente abertas que dependem da perspectiva e do âmbito da equipe de desenvolvimento. Existem vários documentos e apresentações disponíveis que discutem sobre essas diferenças, e eu sempre costumo revisá-los para acompanhar a evolução da Engenharia de Software.

 

Jim Highsmith
Consultor Executivo – ThoughtWorks
Criador da metodologia ágil Adaptive Software Development (ASD)

< Voltar para a pesquisa


 

Contato com a TeamWare

 Ao realizar uma pesquisa na web sobre as empresas ágeis no Brasil, os mecanismos de buscas apontaram a TeamWare como uma das empresas que nasceram ágeis e que mais se destacam no ramo. Logo, o próximo passo foi a tentativa de conseguir algum contato interno que pudesse expressar os motivos de utilização e a visão profissional em relação ao Desenvolvimento Ágil. Uma semana após o contato, o fundador da TeamWare gentilmente retornou o e-mail agendando uma audioconferência via Skype para explicar o que fosse necessário para o trabalho. Em uma hora e meia de conversa, Juan Bernabó mencionou o seu ponto de vista profissional, a história da TeamWare e destacou os pontos principais do Desenvolvimento Ágil no cenário atual.

A ideia de ser ágil ou não ser ágil está especificamente na cabeça das pessoas. Quando eu trabalhava com desenvolvimento, enxerguei a oportunidade de montar uma empresa não voltada para a venda de produtos, mas uma empresa de serviços. Nunca tinha feito consultoria e nem treinamentos, mas o propósito era simplesmente tentar resolver o paradigma do desenvolvimento de sistemas. Minha ideia então foi desenvolver uma metodologia que ajudasse as pessoas a enxergarem o próprio conflito que elas tinham. E foi assim que comecei a apresentar duas palestras que se chamavam “Manifesto Ágil e Declaração de Interdependência – O que eles significam para nós” e “Desmistificando Scrum – Agile & Lean” durante três anos, totalizando aproximadamente 130 palestras.

Em proporção às constantes mudanças no cenário de desenvolvimento de softwares, os gestores de projeto passaram a pensar da seguinte forma: Primeiro eu preciso entender o que tenho que desenvolver, depois analisar, projetar, construir e então avaliar se desenvolvi corretamente. Faz todo o sentido, mas o fato é que infelizmente não funciona, pois são modelos lineares. O que funciona para certo tipo de situação não funciona para a realidade de desenvolvimento de um software.

A premissa é conseguir saber o que o cliente precisa antes de começar a desenvolver o sistema. Teoricamente é fácil, mas na prática começa a entrar outras variáveis que dificultam o processo. Nós da TeamWare trabalhamos com extrema incerteza e extrema volatilidade. As coisas são muito incertas, ou seja, eu acho que sei o que o cliente quer, ele acha que também sabe, mas nenhum dos dois sabe o que realmente deve ser feito. No final do projeto o produto é apresentado e não era nada do que o cliente precisava.

Quanto maior o projeto, mais o pessoal tenta usar métodos formais e tradicionais de controle, e isso aumenta o risco de falhas. Os métodos formais e tradicionais passam uma falsa impressão de segurança. Quando eu analiso um projeto desses, avalio qual é a taxa e o volume de requisitos não validados que o projeto possui. Portanto, tentamos trabalhar com a taxa e velocidade na qual podemos validar os requisitos de forma precisa e funcional. Temos ciência de que, dos requisitos que o cliente coloca no início do projeto, 65% deles raramente (ou nunca) serão utilizados.

Quando vamos desenvolver um sistema, desconhecemos o problema, as necessidades, e o ambiente no qual vamos trabalhar. O Desenvolvimento Ágil permite obter conhecimento e adaptação de todas essas variáveis, ou seja, passamos a conhecer todas as regras de negócio, as formas de desenvolver as funcionalidades, os processos, a cultura da empresa e o cliente.

O pessoal que tem dificuldade em entender o Desenvolvimento Ágil são pessoas que possuem modelos mentais constantes e invariáveis. Geralmente as pessoas aprendem na teoria uma forma de desenvolver o sistema, mas depois quando aplicam na prática concluem que surgem grandes imprevistos e contratempos. Normalmente a explicação que se tem é que a equipe não tem disciplina ou as pessoas não seguem o processo de forma correta. Eu uso uma forma de divulgar o Desenvolvimento Ágil: através de diálogo socrático com os clientes. Eu faço o cliente observar as disfunções, os atrasos nos projetos e as mudanças constantes de requisitos, e assim o deixo chegar às próprias conclusões.

O que nós vemos hoje é uma taxa impressionante de fracassos em projetos de software, e a coincidência é que eles são muito parecidos. Então, se nós analisarmos o motivo no qual os projetos falham tão similarmente, vamos concluir que talvez eles estejam utilizando algo inadequado, como o Desenvolvimento em Cascata, por exemplo.

 

Juan Bernabó
Fundador e Diretor Executivo – TeamWare

< Voltar para a pesquisa


 

AndreCelestino.com

Saudações a todos os amigos e visitantes do site!
Esta mensagem marca o início das postagens do blog AndreCelestino.com, reunindo artigos, idéias, notícias e experiências sobre o mundo da Tecnologia da Informação, especificamente voltado à area de desenvolvimento e engenharia de software. Apesar de já ser um colunista sobre tecnologia em outros portais, decidi criar este espaço individual para expor meus conceitos particulares sobre a área de tecnologia da informação.
Trabalhei algum tempo neste site para deixá-lo o mais simples e objetivo possível, dispensando recursos avançados de um site profissional. Observe que logo no início da página há um menu com os principais links do site:

Agile – Página relacionada ao meu projeto de pesquisa sobre Desenvolvimento Ágil
Artigos – Lista com todos os artigos publicados no blog até o momento
Dicas e Exemplos – Links para alguns exemplos de funcionalidades (com código-fonte)
English Articles – Versões em inglês dos artigos publicados no blog
Ferramentas – Aplicativos úteis para o desenvolvimento de software
Sobre o autor – Um breve resumo da minha biografia incluindo alguns links para contato

Ao lado, há também alguns links para navegar entre as postagens por data ou categoria, além de uma opção para pesquisa e um link para todos os artigos publicados. Confira também os meus últimos tweets e os vídeos do YouTube que acho interessantes.

Embora eu tenha outros compromissos, pretendo postar artigos todas as segundas-feiras para manter o site sempre atualizado. Espero que gostem do meu trabalho!

Agradeço a todos pela visita! Abraço!