1. Innovation is Agile Development

    Eu estava lendo sobre modelagem ágil de softwares, pensando em como desenvolver melhor, como conseguir entender as necessidades dos clientes (de modo geral) e me deparei com esse artigo do Scott Ambler, muito bom por sinal, em que ele cita (indiretamente) práticas simples e interessantes que podem ser facilmente adotadas em nosso dia-a-dia de desenvolvedor macaco de software:

    “My experience is that the vast majority of modeling sessions involve a few people, usually just two or three, who discuss an issue while sketching on paper or a whiteboard.  These “model storming sessions” are typically impromptu events, one project team member will ask another to model with them, typically lasting for five to ten minutes (it’s rare to model storm for more than thirty minutes).  The people get together, gather around a shared modeling tool (e.g. the whiteboard), explore the issue until their satisfied that they understand it, then they continue on (often coding).”

    Me veio em mente como a prática de usar ferramentas de modelagem “artesanais” (quadro branco, pedaços de papel, ou outro material que possa se ter contato físico), tem sido citado por esses pensadores. Realmente, usar uma “ferramenta” como essa facilita o entendimento de ambas as partes que estão envolvidas no desenvolvimento. Como todo bom mamífero, temos memória sensorial, o que nos permite associar conversas, discuções e momentos à imagens e sons.

    Por falar em pedaços de papel, Dan Roan escreveu um livro exatamente sobre isso: a arte de expressar-se com um pedaço de guardanapo. Em seu livro ele cita vários casos de sucesso do uso da expressão visual para atingir os objetivos. Segundo Roan “é possível resolver (ou esboçar a solução dele) através de figuras”.

    Fugindo um pouco (não muito) das ideias de apelos visuais, lembrei do Scrum (desenvolvido por Ken Schwaber) tem como principal objetivo melhorar drasticamente em time de desenvolvimento que até então estavam amarrados aos pesados e decadentes processos de engenharia de software. Ele ainda prevê que seu uso seja adotado em paralelo com outras práticas como o XP (eXtreme programming).

    Enfim, a ideia não é encher os seus olhos com nomes bonitos de técnicas adotadas pelas macacadas mais experiêntes com “Agile”, a verdade é que é preciso reciclar-se diariamente, buscar novas técnicas, procurar ouvir e entender o cliente (mesmo que o cliente seja a sua empresa), adotar novos conceitos para esboçar uma solução que atenda a necessidade deste cliente. Mudar e inovar sempre, mesmo que para isso seja necessário voltar às passado, e tentar enchergar as coisas como um usuário comum; ou seremos apenas macacos que escrevem códigos aleatórios que funcionam por sorte.

    Nice readings, Monkeys!

    2 years ago  /  Notes