Predictability – Achieving the project holy grail
Predictability in project management is often regarded as the holy grail. Especially in fields like research and development (R&D) and software delivery, achieving consistent, repeatable outcomes can seem elusive. These activities are inherently unpredictable, with countless variables that can influence the final result. However, understanding and applying certain principles can significantly reduce this unpredictability. A practical example of this is my recent experience building garden planters for a greenhouse.
Predictability in the garden
I embarked on making two planters, planning meticulously and utilising a tool to automate the cut calculations. Despite this preparation, I found that planning isn’t perfect. I miscalculated some dimensions, leading to errors. Traditional project planning methods would have me cut all pieces up front, manufacture sub-components, and only discover issues during the final construction stages. Instead, I adopted a more iterative approach.
I began by cutting just enough wood for one side panel. This allowed me to learn and adjust before moving on to the bottom and the other side. As I progressed, I pivoted the design for the ends based on what I had learned from the initial cuts. By the time I finished the first planter, I had gained confidence and refined my process, making the second planter easier to construct.
In an ideal scenario, producing a third or more planters would become progressively simpler as I accumulated more knowledge. However, in R&D or software delivery, projects are rarely repeated exactly. Each project is unique, and the learnings from one may only sometimes be directly transferable to the next. Therefore, thinking about process optimisations is crucial to embed these learnings effectively.
So, how can we reduce unpredictability in R&D to narrow the range of outcomes to the positive? Here are some strategies, inspired by my garden planter project:
1. Reduce Consequences Through Prototyping
One of the key lessons from my project was the importance of minimising the risk of errors through prototyping. By cutting just enough wood for one side panel first, I could make adjustments without committing all my materials at once. This approach is analogous to prototyping in R&D and software development. Building a prototype allows you to identify and fix issues early, reducing the impact of any mistakes.
2. Embrace Modular Design
My planters were designed with modularity in mind, featuring repeating patterns and elements. This modular approach simplifies construction and makes it easier to manage changes. In software development, modular design means breaking down the system into smaller, manageable components (e.g., using object-oriented programming, APIs, and microservices). This allows for easier maintenance and scalability, as individual modules can be swapped out or updated without affecting the entire system.
3. Utilise Simulation and Modelling
Before ordering the wood, I drew my design, which helped me visualise the construction and verify the materials needed. In R&D and software development, simulation and modelling can play a similar role. Creating models or simulations of the project can help anticipate potential issues and validate requirements before actual implementation, thereby reducing risk.
4. Standardise Processes
To ensure consistency, I used a circular saw for making precise cuts and a tool to calculate the wood needed. In software development, coding standards serve this purpose. They make it easier for team members to understand and build upon each other’s work. Standardising elements of the process ensures that the final product is cohesive and reduces the likelihood of errors.
5. Learn from Each Iteration
While each R&D or software project is unique, the principles learned from one project can inform the next. It’s crucial to document and analyse each project’s successes and failures. This continuous learning process helps refine methods and approaches over time, improving predictability.
Some customers may believe that their projects are too unique for these principles to apply. However, I have found that the foundational principles of modularity, prototyping, simulation, and standardisation are universally applicable. They provide a structured approach to managing projects, making the unpredictable nature of R&D and software development more manageable.
In conclusion, while absolute predictability may be unattainable, adopting these strategies can significantly reduce uncertainty and improve project outcomes. Just as building my garden planters became easier with each step, so too can managing R&D and software projects become more predictable through thoughtful application of these principles.







