Prototyping a Project Management App

As I was musing on how best to approach project management, I realized that it really helps to have an existing project in mind. Ideally we'd want something with a series of well defined tasks and steps. After playing around with some ideas, I decided to look up a recipe (for food) online. The first one I came across was this one:

https://www.bbcgoodfood.com/recipes/beef-goulash

No idea if this tastes any good, but it has what I need, which is a series of well defined steps with each step having enough meat to it (no pun intended) that we can probably break up each step into a series of smaller sub-steps.

We can start by visualizing how this recipe would look as a simple series of steps:


Here we aren't going into much detail, but we can clearly see the order in which our various tasks will need to be completed. This view also makes our dependencies obvious. We can't "prep" our ingredients before we've "purchased" them. Identifying dependencies is a core component of project management and becomes hugely important as the size of a project increases.

Let's dive a little deeper into the recipe and see if we can flesh out some sub-steps:


I just developed the first 3 steps, but this should give you the basic idea. For the first two steps, all of the sub steps are relatively standalone with no dependencies. For example, buying olive oil is independent from buying flour. If you have some help at the store, you can also complete these tasks asynchronously (I'll grab the steak while you go get an onion). If you wanted to be pedantic, you could go so far as define a sequence to your purchases, using the isle location of each ingredient in the store to determine the order in which you purchase them.

The sub-steps in "Prep Ingredients" also have no dependencies defined, however, the entire step itself is structured to only occur once all sub-steps in "Purchase Ingredients" have been completed. If we wanted to get fancy, we could break out all our purchase and prep steps into their own little sequences like "buy steak" -> "cut steak into chunks".

"Recipe Step 1" shows a nice example of independent tasks mixed with some dependent tasks. Heating the oven is separate from heating the oil in a saucepan on the stove. However, browning the steak and then setting it aside are both steps that can only be completed in a specific order. Neither of those steps care about oven temperature and our diagram above helps to illustrate that.

Comments

Popular Posts