You are hereWhy ODC?

Why ODC?


The value ODC brings can be captured as:

  • Gain Insight
  • Evaluate Methods
  • Increase Speed
  • Control Costs
  • Empower Workforce

Each is a detailed discussion on its own. But, lets take a high level perspective:

Gain Insight

ODC is to an engineer what an MRI is to a surgeon. You get to look inside - before you cut - to examine, evaluate, and understand. And that's the winning difference.

"Why do a certain class of customers have more difficulty with this product?"


"We focused on requirements, but our testing cycle time has not changed? What's up?"

Software engineering is a complex process, no matter how well defined or agile. A number of factors come to play in creating one of the most challenging and complex human endeavors. Software turns abstraction and desire into the actual. And buried in our code are the complex synergies of product management, architecture, design, engineering, business, and legacy. To understand just what is going on in our development process, tools, and skill is complex. To then relate these to end user quality and cost is more complex.

This is where ODC helps and true engineering insight is born.

Evaluate Methods

"Is tool_A more suited to us than tool_B? By how much?"

The software engineering area has several methods, techniques, tools and processes to help make it better. While each has their individual merits and some work better with some teams than others - there is the tough question of what is best for us. Not from a philosophical point of view, but a practical and objective sense. Not a belief that it is better or worse, but one with numbers that can measure and evaluate - just how much better or how much worse. That last part of "how much" is where ODC comes in. It can tell us in terms that make sense to the engineer and manager so we can contrast technique_1 with technique_2, or method_a with method_b.

Increase Speed
ODC allows us to evaluate the effectiveness of each process phase - be it an agile development, a gated development process, or for that matter any duration of product development. This allows us to study what was intended versus what is. And that is at the core of improving cycle time. To be able to explain in objective terms "activity" versus "performance" give us the tools to explain the human process of software development and find creative ways to enhance the throughput, increasing speed.

Control Costs

There are several cost drivers in software engineering: cycle-time stretch, rework, warranty cost, or post-general-availability quality throttling new features, cost or poor quality, missed opportunity due to functional inadequacies, etc. What ODC allows us to do is to measure these specifically and relate them to actionable issues in development, product management or service policy.

Empower Workforce

ODC helps teams understand the reasons for the performance of their product and process. It illustrates issues, helps identify opportunities, and lays out a set of options. This is the key to growth. As teams get a better hang of their own development, they also have access to the data from other teams and gradually there is greater organizational learning. This is where the huge value is. We are able to predict, learn from the past and develop a perspective that is not fraught with fear or defensiveness, both of which are born from ignorance. And while many a management guru will tell us that, without the tools to learn, action, and evaluate they remain lofty goals. ODC breaks that cycle by taking process data we have an turning that into knowledge that we an act on. This happens at two distinct levels. One is the individual level, when people on an ODC project gain. The other, which is, in my opinion, an independent process is when it happens at an organizational level. The organizational level is not just more people across the organization, but specific functions in the organization that cull this knowledge to generalize across product families.

Tags