Sublime
An inspiration engine for ideas
Suppose that we followed three simple rules. Don’t write any production code until you have written a failing unit test. Don’t write more of a unit test than is sufficient to fail or fail to compile. Don’t write any more production code than is sufficient to pass the failing test. If we worked this way, we’d be working in very short cycles. We’d be
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
Adaptation through rapid trial and error is invaluable.
Ray Dalio • Principles: Life and Work
Pair programming dramatically increases the spread of knowledge throughout the team. Although specialties remain, and tasks that require certain specialties will usually belong to the appropriate specialists, those specialists will pair with nearly everyone else on the team.
Robert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
The dilemma is a cruel one. For efficiency and conceptual integrity, one prefers a few good minds doing design and construction. Yet for large systems one wants a way to bring considerable manpower to bear, so that the product can make a timely appearance. How can these two needs be reconciled? Mills's Proposal A proposal by Harlan Mills offers a
... See moreFrederick P. Brooks Jr. • Mythical Man-Month, Anniversary Edition, The: Essays On Software Engineering
why would we want to improve the structure of working code? What about “If it’s not broken, don’t fix it!”? Every software module has three functions. First is the function it performs while executing. This function is the reason for the module’s existence. The second function of a module is to afford change. Almost all modules will change in the
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)


I’ll leave it to you to determine just how much of the preceding was satirical exaggeration. The point of the story is to show how the design of a program can rapidly degrade in the presence of change. The original design of the Copy program was simple and elegant. Yet after only two changes, it has begun to show the signs of rigidity, fragility,
... See moreRobert C. Martin • Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
The resultant code is designed and authored by both members. Neither can take more than half the credit.