We could describe my whole career as one of building things.
Early on, these things included software, hardware and tech products such as fax servers, compute clusters, compilers, interpreters, network systems, operating systems, development languages, applications, databases, and so on.
Later, things morphed to building teams, communities, software development and delivery groups, business units and tech companies.
Most recently, the things I build have morphed again, into techniques, approaches, tools and know-how applicable to building things.
This post is mainly concerned with sharing some of the insights I’ve gleaned over the years. Insights into effective ways of building things:
When embarking on building a new thing, I choose to dwell for a while on the purpose of the thing I’m building: Who’s it for? What will they use it for? How will they use it? What needs do they have that this thing willl address?
What does the Needsscape look like? How can we anticipate it changing over time? And how will we monitor and respond to those changes?
Doing things with a clear understnading of where those things fit in the scheme of things. Rather than just spinning the wheels for the sake of feeling busy.
Answer the question: “How will we ensure that what we’re building manifests the quality/qualities needed by all the Folks That Matter?
Manage all key risks facing us in bulding the thing (and in deploying, using it too). See Tom Gilb’s “All Holes In The Boat” principle (any one key risk can sink the whole effort).
Build things in small increments. Get regular feedback from all the Folks That Matter, early and often. Whilst continually remaining open to the system-wide impact of what’s being built.
Clarity of Communication
One can never have too much communication. One can never have too much clarity of communication. I prefer to use Quanitification as the means to improving clarity of communication.
Make Things Visible
Particularly with the kinds of things I’ve been building over the years, things nebuluous and more or less invisible most of the time, it helps to find ways to make e.g. progress visible and clearly understandable to all the Folks That Matter.
Often called the Shewhart Cycle or Deming Cycle. PDCA (Plan-Do-Check-Act) offers a conceptual framework for building things:
- Plan what we’re going to do in the next days or weeks.
- Do stuff according to that plan.
- Check how well we did stuff (identify shortcomings)
- Act to address some shortcomings in our doing, so that the next cycle’s doing goes better.
Deming banged on about the necessity for people to have pride in what they do. I find pride is enhanced through people feeling they own what they’re building.
Build as little a possible. With the lowest tech possible. Commensurate with meeting folks’ needs. Remember YAGNI.
I don’t expect the above list to be of much use to anyone. Because, normative learning. C’est la vie.