- Write software solving part of the problem.
- Repeat steps 1-4 until your goals are met.
As consultants our first job is to listen to you, to grasp the problem and understand what matters to you. We learn as much as we can about the problem and use that knowledge to craft an efficient solution. Learning is about identifying the problem constraints to evaluate potential solutions. Software is just a tool. It is the solution provided by thoughtfully constructed software that is valuable. Writing just enough software to move the project towards a solution ensures 1) that we're solving the right problem, and 2) we're doing so in a manner that reduces risk.
Regular stakeholder feedback is essential to crafting software that is usable. We ensure active participation from our clients because good software demands it. The repetition of our process is important. Every iteration allows us to evaluate how much progress we are making and avoid bad decisions.