Interacting customers are the way I learn; each time I go on the road I have the chance to interact with my customer; see the challenges they face and the ways in which they attempt to solve them. So with reflection, what are the top 3 things I learn from customers.
Number 1: Clear is only clear in hindsight
Model-Based Design processes involve many design patterns (small work objects) and workflows (multiple patterns executed in a logical sequence). Customer patterns and workflows, both the good and bad, evolved over time in response to challenges they faced. Often the work that I am brought in to do is to help my customers both simplify and improve their existing workflows.
Often the work that I am brought in to do is to help my customers analyze then simplify and their existing patterns and workflows. This analysis both allows me to learn from the customer as well as share the lessons I have learned over time from other customers.
Number 2: Teams matter
The development process is only as strong as the team working on the project. Ideal teams have a coordinated objective and a unified understanding of how the Model-Based Design process should proceed. Communication of both the lessons learned and the obstacles encountered makes is a major key to succeeding.
Number 3: Deadlines can shift …
At the start of an MBD adoption process deadlines are set, often, with a limited understanding of the full set of tasks involved in migration. They are estimates. The way customers evaluate and update deadlines should be based on the following rationale.
- Unexpected efficiencies found post migration
- Additional tasks required to validate migration
- Increased or decreased scope of project
- Are there externally mandated deadlines: Some deadlines are attached to other projects
One of the great joys of being a consultant is having the chance to work with a wide range of individuals, each of whom brings a unique insight into the software development process. I look forward to my next 20 years of interactions.