Desenvolvimento Orientado por README (2010)
(tom.preston-werner.com)- Desenvolvimento orientado por README: uma abordagem em que o README é escrito primeiro no desenvolvimento de software
- É comum ouvir falar de várias metodologias e técnicas de desenvolvimento, como TDD, BDD, Extreme Programming e SCRUM
- Mas, se o software que desenvolvemos não atender às necessidades do usuário, tudo isso perde o sentido
- Mesmo uma implementação perfeita não tem valor se seguir uma especificação errada, e uma biblioteca bonita sem documentação também quase não tem valor
- Se o software resolver o problema errado ou não for possível saber como usá-lo, isso gera um problema sério
Solução: escrever o README primeiro
- Por que o README deve ser escrito primeiro
- Antes de escrever código, testes ou histórias, escreva primeiro o README
- Escrever o README é uma etapa essencial para criar um bom software
- Até que você escreva sobre o software em palavras, não fica claro o que deve ser codificado
- O README ajuda a pensar no projeto de forma estruturada
- Benefícios de escrever o README primeiro:
- Oportunidade de pensar no projeto de forma estruturada:
- É possível pensar no projeto de forma estruturada sem precisar alterar o código
- Antes de programar, você pode refletir sobre a estrutura do projeto e as APIs que ele incluirá
- Garantia de boa documentação:
- É possível escrever a documentação no início do projeto, quando a motivação e o interesse ainda estão altos
- Escrever o README depois tende a ser entediante e pode fazer com que detalhes importantes sejam esquecidos
- Aumento da eficiência no trabalho em equipe:
- Outros desenvolvedores da equipe podem compartilhar informações sobre a interface antes da conclusão do projeto e começar outras tarefas com confiança
- Trabalhar sem uma interface clara pode exigir uma grande reescrita de código
- Fornece uma base concreta para discussão:
- O simples ato de escrever em texto a solução proposta permite que todos discutam com uma ideia clara em mente
- Oportunidade de pensar no projeto de forma estruturada:
- Características do desenvolvimento orientado por README (RDD):
- O RDD pode ser visto como um subconjunto ou uma versão mais limitada de Documentation Driven Development (DDD)
- O RDD evita o problema de especificações excessivas ao limitar o documento de design a um único arquivo
- Incentiva a manutenção de bibliotecas pequenas e modularizadas
Conclusão
- Pense no processo de escrever o README como um verdadeiro "ato de criação"
- Todas as suas ideias brilhantes devem ser expressas nesse documento, e o próprio documento deve servir como prova de criatividade e capacidade de expressão
- O README deve ser o documento mais importante da base de código, e escrevê-lo primeiro é a abordagem correta
9 comentários
Seja software, romance ou filme, ao criar qualquer tipo de obra, acho que, se fizermos com planejamento e concepção no papel antes, fica mais fácil cuidar de detalhes mais minuciosos.. :)
Eu vinha esquecendo o mais básico por todo esse tempo, mas agora preciso começar a colocar isso em prática.
Nós decidimos chamar isso de "projeto básico".
Sem querer, isso é bem parecido com a forma como eu trabalho e com o contexto em que atuo.
Parece que essa parte acaba sendo produzida no formato de um
README.Quando trabalho, costumo definir claramente o What, Why e How e ir avançando enquanto vou dando forma ao que precisa ser feito, então é algo bem parecido.
Desenvolvimento orientado por README
Somos uma organização de pesquisa, então eu tinha muitas dúvidas sobre lançar o que foi pesquisado em forma de código, mas estou pensando que o desenvolvimento orientado por README pode combinar bem com a gente. Parece um método que vale a pena considerar desde a fase inicial da pesquisa.
De forma parecida, quando trabalho no backend, costumo começar escrevendo uma documentação mais rascunhada da API olhando para a tela,
e isso ajudou bastante a reduzir tentativas e erros.
De certa forma, isso me passa a sensação da importância de definir com precisão, antes de tudo, o problema que precisa ser resolvido.
É um texto de 2010, mas encontrei enquanto lia outra coisa e resolvi compartilhar aqui.