Pythagoras was undeniably smart. Very smart, actually. Perhaps the smartest guy around.
And that’s probably the reason he came up with the quote in the title of this post, because, indeed, “Numbers Rule the Universe”.
And that’s true not just for the whole world, but especially for the Software Architecture world.
One of the most important step in the Software Architecture process is the non-functional requirements analysis. As part of this step, the architect usually asks a lot of questions along the lines of:
- How many concurrent users do you expect?
- What is the expected data volume?
- What is the expected uptime of the system?
Now, many times the responses I get for these questions are:
- Not many
- A lot!
This is not what we want to hear.
Talk to me in numbers
We, as architects, have nothing to do with this information.
What the hell is “a lot” of data? 500MB? 900GB? 7.5TB?
How many users are “not many”? 10? 100? 1000?
As Einstein, another smart man, said a century ago – everything is relative. But we must design the architecture with hard, emotionless numbers.
Now, sometimes we don’t have a choice, and we have to educate the customer about Software Architecture. And one of the first things I always tell to my customers is “Talk in numbers”. I don’t care if your data is “a lot” of data. I care about the exact amount. This is the part the architecture will be based on, and it has to be as accurate as possible.
So remember – are you working on some architecture? Insist on getting the exact numbers, and avoid the words!