Due diligence on a technical platform

A small effort that provides valuable insights

In this post, I will explain some of the benefits from applying a due diligence methodology to improve quality and delivery precision over time. From my experience, we often succeed with technical implementation whereas the greater challenge is to keep great people aligned. Challenges tend to grow as we run into novel challenges or success that drives a scaling organization.

There are several common reasons for doing due diligence on a technical platform or product area:

  • When we enter a new market, we typically start by analyzing business objectives, user needs and the current technical landscape, before embarking on designing and implementing the new product. A key concern is often time to market, whilst still enabling future flexibility to achieve sustainable product success.
  • For existing businesses, the product or service is typically delivered by multiple systems and integrations. Here we can benefit from establishing a clear vision and transitioning gradually, by realizing product capabilities whilst also modernizing the underlying platform.
  • From time to time we may run into new compliance regulations or cost concerns as our business grows. Software models change and data storage design may require rethinking. This needs to be managed in a flexible way in order to enable continuous data and platform flexibility in a secure, data consistent way.
  • Establishing a structure is essential for quality improvement. This can be done both proactively at relatively low expense or reactively once we have developed a concern for reliability, scalability or performance. Typically we have some immediate fixes to address but again, we want to look at the bigger picture and build a sustainable solution.

Due diligence methodology

  • Apply a well thought out review protocol. At Irori, we have gathered common concerns over many years and made a comprehensive review protocol. This helps to quickly agree scope when prioritizing concerns. We want to make conscious decisions regarding which concerns to include and exclude.
  • Use a time box. We are seeking a balance between time and useful insights to achieve consensus around a good way forward. In this way, we ensure that timely results are delivered and don’t waste our time on irrelevant levels of detail.
  • Use experienced people for analysis. No matter how skillful we are, we become better through creative exchange. In the daily race to deliver, it is easy to overlook downstream concerns. These are often conscious prioritizations, but an external perspective can be a big help to avoid repeating mistakes others have made.
  • Use a tiered presentation approach. Our goal is to improve our capability by agreeing on trade offs that impact quality. This involves both insight and collaborative communication. To get the nuances right, I recommend using an initial draft for early feedback followed by an oral presentation and discussion. Based on these loops we can write up a concise report that includes useful practical recommendations.
  • Minimize impact on ongoing work. My preference is to work with customer documentation and some code sampling when relevant. This can be complemented by a few short interviews. The key here is to not burden development teams with time consuming discussions when we are typically under tight delivery schedules.

A small effort provides valuable insights

Personally I have worked both on the supplier and consumer end of due diligence engagements and derived decisive value from this approach. When there are known quality issues and disparate perspectives there is nothing more useful than to unite key people and agree on a direction forward. Considering the fast turn around in calendar time it is possible to glean considerable value from an external perspective. After all, we all know we sometimes need to break the routine and discuss how we can improve.

Johannes Bichel
Agile Coach