Throwing nuts
Created on 2017-09-28 11:45
Published on 2017-09-29 12:03
In Andrey Tarkovsky's movie Stalker (but also in S.T.A.L.K.E.R game and Strugatsky's book), the way of detecting gravitational anomalies in the Zone is by throwing nuts and watching how they fall down. This is how they were able to create a safe path in an area full of unknown.
Starting a new project, especially when there is not enough experience and expertise in the team or organisation, or in a new field should always start by throwing some nuts and charting a safe path. People should prepare for some failures but also for some success and use the experience gained through direct experience.
How the nuts are thrown in software projects? I reckon that prototypes that explore some of the project's goals is the answer. Small teams do the probing and draw conclusions about the results of their investigation. They would be able to rule out bad choices in technology, scope and effort. I have done this kind of nut throwing in fields like choosing a UI technology/framework, architectural styles, version control system choice and cloud infrastructure. Not all the actions were successful but at least we took some informed decisions and we avoided worse choices.
Throwing nuts also reveals what are the weak spots of the project, what possible problems might arise, and create some safety boundaries. The defined path is a better estimator of the difficulty and price of the project than any of the forecasts done when there is no concrete data on some action. It is much like "scientific method" - create hypotheses, make experiments, draw conclusions and validate the initial hypotheses.
The "nut throwing" creates proofs that can be used in steering projects. Nothing is more eloquent and informative than a proof, it is the argument that creates the "aha! moment". Quite recently I was in a situation where several architects were debating over architectural styles but the proofs made us conclude on one direction. Proofs also are an extremely important point to build upon and give to the stakeholders some insights (As a matter of fact the printing industry has a culture of proofing, soft proofing and hard proofing, that ensures that the product is inline with the customer's expectations).
Probing should be done also from time to time in order to keep the project fit and check if the surroundings changed in a way that would influence it in some way. Periodic probing of the environment also enables "plan-b" scenarios and fast recovery from uninspired choices.
Although this kind of activities seem to be an overkill and increase the cost this is not true as they make people learn by discovery and provides a way of keeping overall costs under control by avoiding the "gravity traps" that would cause extreme consequences in the project.
No comments:
Post a Comment