Pular para o conteúdo principal

Uma pergunta para melhorar seu legado

Já falei aqui no blog, em outras ocasiões, acerca do meu trabalho em sistemas legados. Pois agora, após de acumular mais algumas experiências, discussões e refinamentos creio que cheguei em uma forma mais sucinta [mas não definitiva] de explicar a lógica que sigo. Tal raciocínio me levou a levantar esta questão no Agile Trends e Agile Brazil deste ano.


Na apresentação cobri diversos exemplos e consequências que derivam do raciocínio. Mas em todos eles existe uma idéia central guiando o processo. Uma pergunta, que ajuda a sumarizar como penso. É sobre ela que quero falar hoje.

Qual o menor passo sustentável que eu consigo executar agora.

Esta pergunta poder ser decomposta em quatro partes.

O menor passso

Sempre somos tentados a pensar na melhor solução. Nossa educação nos treinou a sempre buscar a resposta certa para as perguntas que nos são apresentadas. Porém nem toda pergunta nasce igual. Sendo assim, um mesmo problema [em software] pode ter soluções distintas, de acordo com seu contexto. Dar um passo menor consiste em não apenas quebrar o problema (e solução) em partes mais digestíveis. Mas entender que cada uma delas fornece pequenas dicas de que estamos indo na direção correta. Quanto menor, mais rápido conseguimos verificar e ajustar o curso.

Sustentável

Idealmente uma decisão sustentável seria aquela que não te causa problemas no futuro. Essa é uma tarefa difícil de se alcançar. Isso porque, toda linha de código que se constrói, enquanto resolve um problema, abre portas para uma infinidade de outros. Por isso, prefiro reconstruir a definição de sustentável como as decisões que você se sente confortável com as conseqüências no futuro. Isso implica em se pensar nos desdobramentos e estar ciente da dívida técnica (e negocial) que nossas decisões de software geram.

Eu consigo executar

Ter consciência de nossas limitações é importante. Por muitas vezes não temos o conhecimento ou domínio para executar nosso melhor plano. Entender essa limitação e decidir como ela influencia o caminho a ser seguido. Qual o custo de se adiquirir essa capacidade em relação as necessidades do projeto?

Agora

Por fim, é importante ter em mente durante a tomada de decisão, não somente o que queremos pro sistema no futuro. É rpeciso balancear suas necessidades baseando-se também no agora. Nada adianta decidirmos a melhor solução [sustentável] se a mesma só estará disponível depois de uma capacitação de seis meses, quando a necessidade do negócio é para o mês seguinte. Temos que balancear nossas decisões e planos com o que nos é apresentado no presente e construir o caminho a partir daí.




Como exemplos de extratégias de como melhorar seu legado indico os artigos do Marting Fowler sobre Sacrificial ArchitectureStrangler Application .

Comentários

Postagens mais visitadas deste blog

WorkChopp Intacto

Olá pessoal! Sou o @andersonfer_ e tô invadindo o blog do Fabricio pra contar sobre um evento muito legal que organizamos na @IntactoSoftware . Como eu ainda não tenho blog (shame on me), pedi permissão pra falar por aqui! Espero que gostem! Depois do #agileBR , todos nós voltamos naquela vontade de distribuir o conhecimento adquirido lá entre toda galera. Então tivemos a ideia de organizar um workshop baseado em uma dinâmica que eu assisti, apresentada pelo Emilio Gutter e pela Alejandra Alfonso . Eu sempre fui muito favorável às dinâmicas, jogos e afins pq acho que têm um poder muito grande de quebrar as resistências das pessoas e fazê-las enxergar os benefícios das metodologias e técnicas ágeis para além dos contextos e projetos em que estão inseridas e consequentemente tentar aplicar esses conceitos no seu dia-a-dia. Optamos por relizar a dinâmica Construindo A Cidade Ágil. Os 2 grupos tinham à disposição papeis coloridos, tesoura e cola pra construir, em 4 sprints de 3 min

Formando pessoas desenvolvedoras na bxblue

Eu sempre fui apaixonado por ensinar. Trabalho com a formação e ensino desde 2003, indo desde o ensino das bases de computação até lecionar em cursos de pós-graduação. Estar no dia-a-dia com pessoas que estão no começo da carreira é um mix de satisfação e desafio. Satisfação por você ter a oportunidade de contribuir com um pedacinho tão especial da história daquela que será uma pessoa desenvolvedora no futuro. Desafiadora pelo fato de precisarmos nos despir de aprendizados já superados em nossas mentes e nos esforçamos por enxergar novamente pelos olhos de quem ainda não tem a mesma vivência que você. Por onde passei, eu sempre acreditei que um bom equilíbrio entre profissionais experientes e em formação é a melhor combinação para um time de tecnologia. Isso é benéfico não apenas para a retenção, como também é estímulo para uma cultura de aprendizado e humildade. Cultura essa que favorece o compartilhamento e interação não apenas entre quem faz o software, mas também as demais áreas da

Aceleração de Startups - Parte 2 - Como é o ecossistema ?

Continuando a série sobre aceleradoras, onde na primeira parte  eu falei sobre o que é uma. Hoje vou contar um pouco de como é o ecossistema que a rodeia. Vale ressaltar que o tipo de aceleradora descrita seria melhor definida como sendo uma aceleradora de estágio semente ( seed stage accelerator ) e desempenha um papel bem específico nos "degraus" da escalada empreendedora. Uma das formas visuais mais interessantes de desenhar este caminho é a feita pela Techstars para explicar ela participa nos mais diversos estágios do ecossistema. Jornada empreendedora de acordo com a Techstars. Usando esse desenho como base, vou tentar delinear como alguns elementos se encaixam nesse ecossistema. Vale ressaltar que essa não é uma relação exaustiva, novos tipos de intervenções são criadas a todo momento, antigas caem em desuso mostrando sua constante evolução e adpatação. Aprendizado No nível de aprendizado, o foco está em fomentar o empreendedorismo e a ensinar o básico de al