DEV Community

Lynn Langit
Lynn Langit

Posted on

Two Types of Consulting

2 views of a bridge

Working with a client recently, I was reminded of what I call the "Two Varieties of Consulting". I've seen this pattern many times over the 10+ years I've been running my own cloud and data consultancy.

Traditional - Solved by Consultant

👩‍💻 Another way to think about this method is based on what I like to call using a focused approach to consulting. The sentence below is another way to think about this idea.

Get the urgent work done as fast as possible.

  • Solve an immediate problem via outside experience
  • Problem will be solved to the level of complexity based on consultant knowledge
  • Focus will be on deploying running code ASAP
  • Minimal (or no) tests or verification of correctness
  • Billing will be deliverable-based
  • Consultant will have minimal interaction with existing team
  • Consultant will complete project and leave

Usual Results: solution works when run by consultant, but solution is often not maintainable by team due to complexity and lack of documentation. Solution code becomes brittle over time and team is unwilling to update it (it breaks when changed). Sometimes the solution is not actually deployable to existing production environment.


Modern - Solved by Team

👨‍💻 👱🏿 👩‍💻 👩‍💻 🧕 Another way to think about this method is based on what I like to call using a consultative approach to consulting. The sentence below is another way to think about this idea.

Do what can be done together

  • First step is listening to access current situation - problem(s), team and code
  • Next agree on priority project with stakeholders and team
  • Conduct detailed assessment of current technical implementation (expect surprises!)
  • Create implementable plan to address top priority problem
  • Present plan which includes information about learning techniques suggested
  • Include path to implement and next suggested project in presentation
  • Include test and verification steps in plan
  • (Optional) work side-by-side with team to implement on their timeline
  • Engage for next round based on team input

Usual Results: When solution is implemented it works as expected and is maintainable (and by association extendable by team).

Top comments (0)