At home something quite curious happens: We live as two completely different persons, as though one of us were the sun and the other the moon. I love the software development world, and Mayka loves art. At a first glance, they seem to be two worlds completely apart one from another, but actually, they aren’t.
With the experience that I now have in software development, I realized that visiting a museum has a lot of things in common with the software development world. When we start planning to visit a museum (or some kind of art exhibition), we need to take some concepts into account. Yes, I’m talking about . . .
. . . the time we can or want to spend.
. . . the size of the museum (or exhibition).
. . . the total amount of money we have in our pockets.
. . . what the things are that drive us to this museum.
So, from this point of view, when we are starting to plan a software project, we have to deal with similar concepts.
Set the expectations
The first thought that crosses our minds is to visit the whole museum, spending the minimum time, the minimum amount of money, and, of course, being able to talk to our friends about what we saw with the maximum detail. But after trying to do that once, we realize that it is simply impossible. So we need to agree with our friends, the guys who will be waiting for us to tell them what we saw, about their expectations. And, before that, in order to help us set the right expectations, we need to set what is really a constraint for us and what isn’t.
It is not the same to have the whole day to visit the museum versus having only one hour. We need to get clear our need to get this thing done in a short time period, or whether we are talking about a long time period, or whether this is not an important constraint for us. Maybe we scheduled a dinner with our friends after the visit, so that is important for us because it is a constraint we need to take into account.
The next point we need to explore is the size of the museum. For example, the Museo del Prado is not the same size as a specific art exhibition. The time we need to see the entire thing is greater in the first case than in the second, unless we accept spending less time viewing each piece of artwork in the first case. So, if we want to reach the same quality, the time we need to spend is directly related to the scope we can afford.
In several museums, there are areas that need to be paid for in addition to paying the general entrance fee. Because of that, if we want to see these additional areas, we need to have enough money in our pockets. Maybe it becomes a new constraint for our visit, or maybe it doesn’t.
Last but not least, we need to think about what drives us to the museum. What are our motivations? What are we expecting to get or learn from our visit? These are some of the questions we may ask ourselves in order to set our inner expectations and identify the engines that could help us through difficult times.
What happens in software development?
Simply, the same. Before starting a new project, we need to set the criticality of certain aspects related to the project, such as whether we have to minimize the time to market of our product (the time we could spend in the museum), the scope of the project represented by the total amount of functionality that needs to be developed, the amount of resources we can afford (the money in our pocket), and all the things that drive us to create our brand-new product.
In order to achieve this, Agile provides us a set of values and principles that we can use to create a new software development culture, based on what really matters: giving our customers something they really need, creating sustainable working environments, and, at the head of all of it, adding to the knowledge we have and use in our lives.