In the Space, on the Earth, everywhere Gravity works! It's nature principle. Simple and beautiful in its simplicity. But what common this physic rule has with Software Development. Might be said, it's something strange and curious.
Let's think about Gravity in depth and translate it to something useful for Developers. When you look into rules that play with Gravity, you can see some kind similarity in relation to our everyday work.
Gravity is constant.
First thing that you think about Gravity: it's constant. You know it. Someone at school drummed it home. Constant, the word you know from Programming Language very well. It means something you have not to change.
In the Team context, you can think about it as constant set of rules that apply to the Team but anyone outside has not to change it. Rules are created by the Team and enforced by each team member. Set of rules should be known by developers. By this environment, in which they work, is simplified, clear and enables may interactions.
Here is sample set of rules (only few points):
- Every commits requires code review and PMD checking
- Every tasks need to be tested before completed
- We do all best to provide solution
The most important that list is built by team members and agreed by everyone.
You can play Gravity
As there is no rule without exception, there is no set of rules that cannot be modified. Described set of rules can be treated as game guidebook. Everyone has to play according to rules. And as in every game players (teammates and stack-holders) want to win. To achieve success they try to interpret rules according self point of view, situation, some context. It means that they can incline Gravity for self in some situation. On the other hand, their 'opponents' need to be flexible too. It means that they need to adopt self to the "current" Gravity. It's true life. For example the Team has following rule: “We have everyday stand-up with our remote-working Business Analysts” but from some reason they have every Wednesday meeting with Management in the same time. Of course we have try to schedule other time but we can be flexible and sent virtual meeting notices at these days. Every depends on deal between the Team and Business Analyst.
Gravity (value) depends on context (place)
Seemingly above two rules are mutual excluded. That is the greatest mistake we could make!
Let's return to physic for the moment. It's the same as for planets. Planets have different Gravity. During building the Team, it's necessary to create proper context that describes team situation pretty precisely. Context can be different for teammates interactions, different for Analysts contacts etc.
These 3 simple rules about Gravity are enough to build the Team. They don't describe technical skills but allow the Team build relations which are as much important as technical skills.
How to you use it in practice?
In few next articles that is coming soon, I'll explain more deeply above point. Stay tuned!