The devil's advocate technique

Posted on Apr 3, 2023
tl;dr: Technique that will let you create better solutions

This technique would be more useful for teams rather than freelancers. But I think anybody could take something valuable from using this technique.

Context

Imagine that you are working on some new module in your application, e.g. location module - that could be placed on both client or backend side. So we need to find out the best solution. You also have prepared a design for bot approaches - that takes maintainability, security, and performance into consideration.

The devil’s advocate technique

Once you have all things described above we could start doing a list of questions that you will get from e.g. CTO, Head of IT, team leads, or team members. You should also prepare another list of questions that you potentially receive from managers, marketing, and support teams.

Then you need to try to answer all of these questions to see your solution from different perspectives or angles.

You could also do a call with 1-2 team members that are more experienced than you, to receive questions you weren’t aware of. But don’t do it before preparing your list. Also preparing ADR before doing a call will save your teammates time.

Summary

This technique is very simple, and you don’t need to spend much more time implementing it. But you will produce way better solutions when you will be using it. Also, you will save time by spotting some potential problems or improvements even before starting the implementation stage.

If you will be following this approach for a long time, you will start becoming better and better at finding problems, improvements, or potential bugs that could occur, etc. This technique will also improve your creativity.

Hope you will find this post useful!