Scaling Technical Investigation

March 9, 2018

In the last couple of months, I have been working with our architects, managers, and tech leads in the engineering group to improve our ability to ramp up and complete technical investigations on time. By doing this, we will be able to make informed decisions before committing our developers into product implementation. This blog post describes the approach that we will take in the group this year.

Background

With our architects focusing more on architecture solutions in the engineering group, it is unlikely that our architects will be available for performing an increasing number of technical investigations that are traditionally done by them. We considered other options to address this need, such as recruiting or grooming more architects in the short term and prioritizing and saying no to new projects.

Delegating and Overseeing Design and Investigation

To scale up the number of technical investigations in the group, our architects will delegate design and research to an engineer, ideally a more senior engineer. Architects remain accountable for the entire design and investigation. They will provide directions and guidance. To get a sense of how this may work, here is an approach that an architect may take.

  1. The architect works with the product manager and UX designer to understand use cases. The architect ensures capturing the use cases in a written document for product implementation. This document can also link to other relevant documentation.
  2. The architect drafts a document that clearly defines the objectives, timebox, and conceptual architecture, and lays out technical ideas to be validated with prototypes during the research.
  3. The architect coordinates with the development manager, and have an engineer to take the technical problem and perform research. The engineer builds prototypes to validate ideas and reports new findings by adding updates to the document. The architect continues to supervise and discuss any relevant technical issues with the engineer, including future work.
    • The manager and the engineer can discuss how similar delegation can happen in their team. That is, while the architect holds the engineer accountable, this engineer could divide the technical research tasks further and delegate appropriate portions to other team members. This work will have to be accounted for when planning a quarter.
  4. The architect ensures completion of the technical investigation that is sufficient to make a recommendation for decisions and implementation.
  5. Upon complete, the architect publishes the research document and performs an architecture review.
    • The document should capture ideas, risks, and results from the technical investigation, which will ultimately drive out an architecture design for implementation.
  6. At this point, the architecture handoff already began because an engineer is already involved in the early phase of this process. The engineer may then coordinate with the development manager to give a technical walkthrough and guide other members in the implementation team.

Steps 1-6 can be iterative. Jeff Patton explains in his article Dual Track Development is not Duel Track about how we perform discovery and development in two tracks, not two teams.

By delegating and supervising technical projects, the architects can contribute to employee mentoring, especially grooming technical talent. In practice, both architect and engineer will complement each other, e.g. the architects will also receive feedback from the engineer on architectural guidance and engineering challenges.