Many organizations have become adept at identifying what they need from software development projects, based on a keen understanding of their business goals. Even so, they’re often surprised to find out that the end results don’t achieve the transformative impact they were expecting. Their mistake? Overlooking the importance of Conway’s Law.
In 1967, Melvin Conway coined a phrase at the end of his publication ‘How do committees invent?’ that was subsequently made popular by Fred Brooks in his book The Mythical Man-Month, where he dubbed it ‘Conway’s Law’, which states:
Murphy’s Law Probably one of the most famous of all laws, mostly because it is not only applicable to Software Development.
If something can go wrong, it will. First derivation: If it works, you probably didn’t write it. Second derivation: Cursing is the only language all programmers speak fluently. Conclusion: A computer will do what you write, not what you want.
Defensive programming, version control, doom scenario’s (for those damned zombie-server-attacks), TDD, MDD, etc.
The best article I’ve ever read about architecture and the management of IT.
Jeff Bezos’ API Mandate I was at Amazon for about six and a half years, and now I’ve been at Google for that long. One thing that struck me immediately about the two companies – an impression that has been reinforced almost daily – is that Amazon does everything wrong, and Google does everything right. Sure, it’s a sweeping generalization, but a surprisingly accurate one.