Are you able to make a pot of coffee? I guess you are. At least until you try to plan it. Here is the first version of a plan to make coffee:
- put a filter in the coffee machine
- put coffee in the filter
- put water in the coffee machine
- switch the coffee machine on
- wait until done
But wait, there are tons of things that could go wrong with that plan. So let's make the plan a little more complete:
- ask everybody in shouting distance if he or she want some coffee
- find out if there is a filter available for the coffee machine, if not go buy some. If this takes longer then 5 minutes, restart at 1.
- put the filter in the coffee machine.
- calculate the amount coffee needed for the number of persons determined in the last occurrence of step 1
- find out if there is enough ground coffee available. If not check if enough coffee beans are available and a mill to grind them. If not ask a neighbor if she has enough resources. If not buy some. If this takes longer then 5 minutes, restart at 1.
- if you have coffee beans grind them.
- put the ground coffee in the filter.
- calculate the correct amount of water for the number of people
- put that amount of water in the machine
- make sure the coffee machines power plug is plugged in
- switch the coffee machine on
- find the manual for the coffee machine and find out how to determine that the coffee machine is actually done. If you can't find the manual, download it from the Internet. If you can't find it, buy a new coffee machine and restart at 1.
- wait for the described symptoms to appear
- proceed with the instructions from the manual
Now that is awfully complicated. I'd guess there is a lot of stuff that could go wrong, so we need a Quality Assurance Process. So every step should get done by two independent persons, both well trained in coffee making. The result of each step should get reviewed by a third person. Coffee making is only allowed to proceed when the results of the process of both cooks is within the allowed tolerance of the target values. Target values and acceptable tolerances are to be defined during the project inception phase by a committee of experts.
That looks very promising, but since there are so many people involved there is some risk of problems, so we better setup a project management office for monitoring progress. And while we are at it we get some lawyer involved to proof read contracts made with neighbors or shops selling coffee and filter. Also a chemist might be useful for testing water, coffee, filter and air for pollutions and harmful substances.
In the mean time I'll grab a cup of tea. Let me see what I'll need ...
Wan't to meet me in person to tell me how stupid I am? You can find me at the following events:
- Spring Data JDBC - New Kid on the block.
- Softwaredevelopment in the 21st century.
- Domain Driven Design mit Relationalen Datenbanken und Spring Data JDBC.
- Kerbal Space Program, Glücksspiel und Psychologie und was das mit dem (Berufs)leben zu tun hat.
- Javaland Freeletics
- Domain Driven Design mit relationalen Datenbanken und Spring Data JDBC
- The New Kid on the Block: Spring Data JDBC