2ª EDIÇÃO
Cesar Brod
Novatec
Copyright © 2013, 2015 da Novatec Editora Ltda.
Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998.
É proibida a reprodução desta obra, mesmo parcial, por qualquer processo, sem prévia autorização,
por escrito, do autor e da Editora.
Editor: Rubens Prates
Assistente editorial: Priscila A. Yoshimatsu
Revisão gramatical: Viviane Oshima
Editoração eletrônica: Carolina Kuwabata
Capa: Carolina Kuwabata
ISBN: 978-85-7522-441-0 IG20150625
Histórico de impressões:
Julho/2015
Agosto/2013
Segunda edição
Primeira edição (ISBN: 978-85-7522-376-5)
Novatec Editora Ltda.
Rua Luís Antônio dos Santos 110
02460-000 – São Paulo, SP – Brasil
Tel.: +55 11 2959-6529
E-mail: [email protected]
Site: www.novatec.com.br
Twitter: twitter.com/novateceditora
Facebook: facebook.com/novatec
LinkedIn: linkedin.com/in/novatec
capítulo 1
Contratos em tempos ágeis
Preço e escopo fixo não
combinam com dinamismo.
Não se aprisione a contratos que
tornarão seu trabalho inútil e seu
cliente infeliz.
29
30
Scrum 2ª edição
Trabalho com várias formas de integração de sistemas e desenvolvimento
de soluções desde o final dos anos 80, sempre usando tecnologias novas e
emergentes. Fui apresentado ao livro O mítico homem-mês, do Fred Brooks
Jr., em 1988, e ele foi fundamental na formação do meu pensamento sobre
os meios pelos quais os projetos devem ser desenvolvidos. Quase dez anos
depois, comecei a estudar Extreme Programming, que usei junto com a
UML (Unified Modeling Language) no de desenvolvimento do projeto
Gnuteca1 (um sistema de gestão de acervo e circulação para bibliotecas) a
partir de 2000. Mais adiante, o Scrum passou a fazer parte não só da vida
da minha empresa como também da minha forma de pensar.
Em O projeto do projeto, outro livro de Fred Brooks Jr., o autor cita um
texto de G. Pahl e W. Beitz, especialistas em projetos de engenharia:
Qualquer tentativa de formular todos os requisitos possíveis no
início de um projeto falhará e causará atrasos consideráveis.
Mais adiante, o próprio Fred conclui:
A pressão por um conjunto de requisitos completo e acordado
provém, em última instância, do desejo – com frequência, uma
demanda institucional – por um contrato de preço fixo para
uma entrega específica. Ainda assim, esta demanda está baseada frontalmente na evidência concreta de que é essencialmente
impossível especificar um conjunto completo e preciso de requisitos para qualquer sistema complexo, a não ser através da
interação iterativa com o processo de modelagem.
Parece-me que todos aqueles que desenvolvem alguma experiência com
gestão de projetos acabam chegando a conclusões parecidas. Jeff Sutherland, em sua apresentação “As raízes do Scrum”, comenta que é importante
levar em conta que as metas de um projeto são alcançadas a partir de um
“espaço de navegação” dinâmico, em que uma série de coisas – como mudanças de tecnologia e requisitos – causarão, inevitavelmente, desvios no
rumo dessa navegação, os quais devem ser constantemente considerados.
Eu defendo, sempre, o desenvolvimento de protótipos prematuros, mesmo que não totalmente funcionais, que permitam ao cliente experimentar
seus próprios requisitos e seu atendimento. Dessa forma, junto à equipe de
desenvolvimento, ele é capaz de avaliar, refinar o que está sendo desenvolvido, descobrir o que realmente deseja e, em especial, quais desses desejos
1 http://www.gnuteca.org.br
Capítulo 1 ■ Contratos em tempos ágeis
31
realmente trarão as funcionalidades e vantagens realmente importantes
para o sistema, todas se alinhando cada vez mais a seu negócio, dentro do
espaço de navegação que está sendo explorado.
Vou além. Piamente acredito que contratos de desenvolvimento são absolutamente inúteis e apenas amarram o cliente a definições que ele fez sem
o total conhecimento do que ele realmente desejava. Infelizmente, hoje, os
contratos mais penalizam o cliente do que o auxiliam. Eles dão a desculpa
aos fornecedores de entregar, protegidos por um contrato, exatamente aquilo
que o cliente não conseguirá utilizar na forma em que foi entregue.
Aí está um problema cuja solução não é fácil, e, ainda que exista, ela
não pode simplesmente ser replicada em todas as situações em que tal
problema ocorre. O ideal é que exista uma relação de confiança absoluta
entre cliente e fornecedor, de forma que o cliente não tenha receios em
mudar seus requisitos ao descobrir novas necessidades à medida que o
sistema é desenvolvido e que o fornecedor não fique em desvantagem ao
ter de modificar o que está desenvolvendo – muitas vezes, sendo obrigado
a jogar fora parte de seu código e considerar novas opções.
Há uma cultura muito forte baseada na compra e na venda de produtos finalizados. Infelizmente, tais produtos, especialmente tratando-se de
software, existem cada vez em menor quantidade.
Será que uma empresa que adquiriu uma solução de gestão de relacionamento com seus clientes, há alguns anos, imaginou que esses clientes
passariam a utilizar o Twitter ou o Facebook como a sua forma preferencial
de elogiar ou reclamar dos produtos da empresa? Mais do que isso, eles
esperam que a empresa se manifeste também por meio das redes sociais.
Mas é possível (ou mesmo vantajosa) a integração do sistema atual de
relacionamento, de alguma forma automática ou semiautomática, com
essas redes? Há uma série de outras questões e críticas relativas a graus de
automação e integração entre sistemas. Eliminando humanos de certos
processos, coisas importantes passarão despercebidas.
Isso dá muito pano pra manga, mas, apenas para citar uma coisa, sou
totalmente contra a geração automática de boletins informativos a partir
de material que é colocado em sistemas de gestão de conteúdo em uma
empresa. Por outro lado, acho legal avisar aos seguidores da empresa, no
Twitter, que há publicação de um conteúdo novo em seu portal – desde
que se tenha pleno conhecimento de que estamos tratando de formas
diversas de comunicação.
32
Scrum 2ª edição
Mas divago. A oferta de uma solução que atenda a um cliente deve passar
por uma fase de aquisição de conhecimento de seu negócio. Não total, é
claro. O cliente sempre dominará seu negócio e qualquer ferramenta tecnológica que entregarmos a ele deverá auxiliá-lo a dominá-lo ainda mais.
Ter a pretensão de que entenderemos totalmente o negócio do cliente é a
mesma coisa que imaginar que o cliente virá a dominar a linguagem de
programação, frameworks e métodos que usaremos para desenvolver uma
solução. De novo, devemos navegar, em conjunto com o cliente, no espaço
do projeto, da modelagem e da criação de seus sistemas.
Uma forma de se começar a migrar dos grandes contratos para uma
solução de plena confiança mútua é usar o passo intermediário de minicontratos. Identifica-se, junto ao cliente, uma área específica de seu negócio
para a qual possa ser desenvolvida (ou melhorada) alguma solução, com
segurança e compromisso de ambas as partes e um limite de tempo (e consequente limite de funcionalidades) suficiente. O limite mágico de tempo
é três meses. Ainda há muitas empresas que estão começando a explorar
melhor sua presença web, seus sistemas de relacionamento com clientes
através de aplicativos para dispositivos móveis e muitos outros para os
quais há uma infinidade de opções plenamente customizáveis, modulares,
que darão o espaço necessário para uma compreensão melhor de outras
necessidades. Ao final desse período, sempre em conjunto com o cliente,
exploram-se novas oportunidades. No decorrer do tempo, a navegação
pelo espaço de projetos e soluções torna-se um processo contínuo e de
confiança, em que o fornecedor tem a tranquilidade de sua remuneração
e o cliente reconhece que essa remuneração é justa e traz benefícios a seu
negócio. Essa confiança suplantará, então, a necessidade de um contrato.
Download

Capítulo de Exemplo