I don’t believe it! I have high cholesterol? But, I exercise every day, take my vitamins and eat low fat and low sugar foods! How is this possible? But, the results don’t lie. One simple blood test can tell someone a lot about what they thought was true, introducing a new reality.
Many of our customers have the same reaction when we first expose them to application development metrics (ADM), introducing them to a new reality. The reaction is usually something close to, “But, I use Agile methods! I bought my engineers the latest and greatest software tools! I even invested in sending my staff to training to become black belts or something like that! This is outrageous!”
In this case, the simple blood test was a forensic audit of the code. Just like the example blood test above, ADM analytics provide organizations with a good dose of reality in terms of what “ACTUAL” process they are following, not what they profess to follow. The only artifact in sync with your true process is the result of it (the code) and ADM analytics offer reality – and for many, an excellent opportunity to eliminate waste and capitalize on things that are working and providing savings and benefits back to the organization’s business objectives.
Don’t misread this post; I believe in process and not to invest in it would be a big mistake. However, I also believe that not checking how you are executing on that process through some simple “blood tests” or ADM analytics would equally be a big mistake. Building a tangible product using manufacturing processes invented by Henry Ford a century ago is very different from building bits and bytes in cyberspace. One difference is that as an executive, I can walk down to the factory line and pick up the tangible product and feel it, measure it, use it and eat it (if you work for Krispy Kreme – that would be fun).
Software doesn’t always offer these advantages. Instead, we employ some practices and beliefs such as “best efforts” and tools and testing that will identify potential issues. Reality is that management, customers, competition and market demands change our actual implementation of process, mostly in negative ways. Once we accept this fact, then we can accept the reality that those processes and tactics that we believe are there to identify and mitigate such risks have been significantly diluted. What’s my point?
There are many competing demands on organizations, but the one that usually wins is “go faster.” This decision tends to force organizations to shortcut process, which introduces unknown risks (i.e. technical debt) into the process, which manifests in the code. Just like you can’t fit 10 pounds of sugar in a five pound bag, you can’t fit five months of software in a four month cycle and still hit all your targets. By giving yourself a “blood test,” an ADM audit, you will gain transparency into the actual process your organization followed at the consequence of speed – and the opportunity is to correct the mistakes, learn, adjust and keep moving forward!
Next month I’m going to discuss what it might be like to work for Krispy Kreme and being able to eat your work in process!
ProServices, Vice President