Don't give in to the quality, speed, cost tradeoff
There is an old project management mantra that states: Good, fast, cheap – pick two. This reflects the belief that the three primary competing components of a project -- quality, development speed, and development cost -- fight each other in such a way that only two of them can be chosen for any given project. For example, a project that needs to be developed very rapidly and retain a high level of quality will not be able to be developed at a low cost. The logic goes that it is impossible to do all three. This is a fundamental rule that is taught not only to students at the university level but is consistently repeated throughout the corporate world. Unfortunately it is in complete error and results in an incorrect mindset towards product development.
Let’s review the basics before diving into an alternative mindset to take when considering these three components. Quality, speed, and cost are often represented in a triangular form, but this really doesn’t provide any insight. Instead, consider drawing their relationship as a Venn diagram. An example of this can be seen in Figure 1.
Figure 1 – Quality, Speed, and Cost Venn Diagram
The figure shows that there are different overlaps between quality and speed, quality and cost, cost and speed, and finally quality, speed, and cost. In the figure, region A identifies where quality and speed intersect. A project in this region of the graph is concerned with rapidly developing a high quality product with little concern for the cost. This is the pricy region of product development.
Region B is where speed and cost intersect. The most important feature of such a project is to spend as little as possible and get done as quickly as possible. Quality has little to no bearing on the project. This can be considered the buggy region of the diagram. This is where proof-of-concepts and prototypes normally live.
Region C is the intersection between quality and cost. This could be considered the snail region because quality is important and cost is important but the timeframe in which the project is completed is not a driving factor. These projects tend to live in a state of start-stop-start and run a high risk of never coming to market.
Finally, region D is the intersection of quality, speed, and cost which, using traditional wisdom, has been deemed to be impossible. The saying goes pick two but only two! Yet shouldn’t region D be considered the sweet spot of project development? This region appears to be the perfect balance between cost, quality, and speed. Shouldn’t every project balance these three to reach “the harmony zone” rather than ignoring one of them?
There are many ways to hit the harmony zone when developing an embedded system. First, choose only the level of quality for the product that is actually necessary. What level allows for success? There is no reason to develop space shuttle quality software for a coffee pot.
Second, realize that development speed is often directly related to project scope. Narrow the scope to the minimum set of features required to launch the product in order to meet a tight schedule.
Finally, consider utilizing proven open source or commercially available hardware components and software frameworks. These sources are not only tried and true but will also assist in striking a balance with decreased cost and increased development speed. A tested and validated component will always cost more and take longer to develop from scratch than simply buying one. So why reinvent the wheel?
We are entering an era of embedded systems development where product refresh rates and development times are steadily decreasing. At the same time feature sets are dramatically rising and so are the expectations for quality. But the excuses for only choosing two components in the shortened, budget-constrained, and feature-bloated development cycle are also quickly melting away. Focus on a core set of requirements, choose the right level of quality, and build a boot-loader into the system. Once the revenue streams from the product are flowing it will greatly ease your cost pressures and allow a steady flow of updates to the product to further harmonize quality, speed, and cost.
Don’t consider quality, speed, and cost to be a choice of only two. In today’s high tech environment, the tools exist to take advantage and select all three.
Jacob Beningo is a Certified Software Development Professional (CSDP) whose expertise is in embedded software. He works with companies to decrease costs and time to market while maintaining a quality and robust product. Feel free to contact him at firstname.lastname@example.org, at his website www.beningo.com, and sign-up for his monthly Embedded Bytes Newsletter here.