Welcome to my web site.
Over my last career, I have come to believe in a set of core principles:
- Embrace, not ignore or avoid the uncertainty of software development efforts. Dealing with the uncertainty entails applying Bayesian methods and Monte Carlo analytics.
- Pick the right set of analytics. This is critical to success: “You can’t control what you don’t measure, and you shouldn’t measure what you don’t intend to measure”
- The right set of measures promote trust between the leadership and the staff
- The wrong measures not only breed mistrust, but are a waste of time and money
- Software development is an economic activity—account for the monetary impact of your decisions. Whenever, possible, assign monetary values not only to costs, not also to business intangibles.
- Software development is an artifact-centric business process (http://en.wikipedia.org/wiki/Artifact-centric_business_process_model). One plans and measures progress not by activities performed, but by the states of the project work products.
- There must be the right amount of team communication. Too much communication reduces individual productivity (this is a form of Brook’s law, http://en.wikipedia.org/wiki/Brooks’s_law). Too little communication results in poor quality. One way to reach the right level is to organize teams around the component architecture, i.e. Conway’s law (http://en.wikipedia.org/wiki/Conway%27s_law).
I believe these principles are structural and eternal. They apply across range of contexts for software development and help explain the success and failure of development methods such as agile and waterfall. They inform the successful application of lean and DevOps practices. The art and science of software leadership is to apply these principles in your context.
My personal mission for the past three decades has been to develop tools and methods that can be applied in the ‘real world’ by real teams. I have consulted with customers world-wide, written books and articles on these topics, presented to large and small audiences, blogged on software analytics, and even made a couple of videos. This site collects those resources and is a place for you to discuss the application of these thoughts. In particular, there is a blog, news, and links to related materials (mine and others).