There is a powerful and quite simple technique to make a plan for complex tasks. I’ve used it many times at work. Let’s say you’re given a rough business description of a feature. * How are we going to deliver it? Release a new version of an app. * How can we make sure that release is a success? Check logs, metrics and other stuff. * How do we ship it? Hide feature with toggle, make a deploy on production, test it, enable the toggle …and so on, until we reach the very first steps. These steps may be to develop necessary components, and then to integrate them, and so on. Here’s a simple example of such a plan: “The Chat Bot Widget Feature”: