TL; DR: Here, about how one management team wanted to live differently from development, formulated an image of the future, imbued with aspiration, adapted to carve out time and make changes even when it was overwhelmed with rush jobs.
I am Dmitry Denisov, I am responsible for product development at a company whose name is not so important in the context of this article.
For ~ 5 years, our team has been cutting system software. At first, it was very similar to custom development for a single client, and the effectiveness was judged only by whether this client was satisfied (or not).
But the more mature the product became, the more the market became interested in it, the more acute the questions arose of how predictable and manageable it was developing. Actually, to solve them a couple of years ago I came to the company.
In the first year of these two, we grew pretty steeply in features, although we exported it with languages on our shoulders. In particular, thanks to this growth, they began to noticeably more often invite us to tenders (we work in a large B2B business with transactions several quarters long). And it was clear that it would only get more interesting further.
Along with the rise in expectations from the product, more and more questions arose about the maturity of the team and how it does its work. Here, about everything at once: starting with the bass factor and readiness for scaling, ending with the regulator.
Of course, the effect of the first year was not because people supposedly used to code slowly, and then suddenly started quickly. During this time, we have built hygienically necessary product approaches, teamwork, launched and tweaked basic workflows.
It seems that everything is at least not bad, but most of these changes were carried out, firstly, semi-directive, and secondly, only when it was possible to exhale from the routine. And I wanted, on the one hand, consistency and progression, on the other, full involvement at the level of at least leads, and on the third, independence from permanent push from the Varangian manager (that is, me).
Let not the first time, but we have an approach that …
did not bent over ~ six months of combat use,
gives results that are very similar to what it was all started for,
satisfies the above criteria: consistency, progressiveness, involvement and decentralization.
To begin with, we will decompose it into stages (in which there is nothing extraordinary), and below I will dwell on each of them in more detail:
to gather a group of especially not indifferent,
formulate goals for yourself,
decompose goals so that they become achievable,
in fact, to achieve, regardless of the circumstances.
Our team is not very large, around 40 people, moreover, it consists partly of outstaffers (but constant and very involved). And we had a good idea of who was hurting what and what to expect from each other.
So, almost by itself, a group of five came up, ready to emerge from the operating system and embody a bright future: CPO, QA-lead, one of the dev-leads, project manager and me.
In 5 months, one participant dropped out, another arrived.
We identified six main directions (later there were seven) and, briefly, in one phrase, formulated super-goals for each of the directions.
The next step was to concretize these super-goals on the horizon of +9 months (this is how much remained until the end of the company’s financial year). Therefore, for each supergoal, we formulated three options for the image of the future…
And here it is important to dwell on two things in more detail:
“Image of the future” is a definition of done. How our life will look to a conventional outside observer. And what characteristics (qualitative and quantitative) to possess. And not at all what actions need to be performed, what tasks to solve, etc. Actions and tasks will be the same, but later.
Why there are three versions.
The first is where we will go if we continue to live “as it is now.” Conventionally, this is something below which it is impossible to fall in any way and under no circumstances, for this will be pure degradation. In our terminology, it is sloth level…
The second is what we get by applying a high enough, but still reasonable amount of ambition and perseverance. We will not weakly strain ourselves, but we will not tear our navel yet. In our terminology – the level of a healthy person…
The third is what they could come to by rejecting everything worldly and devoting themselves to the achievement of the super-goal without a trace. Like a liberation war. Called it god level… It is important to better see how far from ideal we really are. And so as not to relax if the level of a healthy person suddenly turns out to be too light.
We further agreed that the level of a healthy person is something that, in a realistic look, we are more than satisfied. We focused on that.
The vision for 9 months ahead is great and, it would seem, we now need to roll up our sleeves and turn it into reality.
First laid out the vision three quartersthat remained until hour X. In fact, two milestones were allocated for each DoD. Milestones could include both sequential fulfillment of goals, and incremental, when the goal is large and is achieved gradually.
Also, in some places next to the goals was “control of the establishment of habits”: this is when the practice has already been introduced into use, but for some time it is necessary to make sure that it does not dry out.
There were still a lot of descriptions of the image of the future, but they became more specific, plus some action games began to appear. The result is a mix in a ratio of about two to one.
And, finally, the first of the three quarters was laid out according to the same principle by month…
As a result, we got rather detailed goals for the next 3 months, approximate ones – for another 3 and 6. And, as a guiding star, a card with the level of God. This is where the strategy is over, let’s move on to tactics.
So, the goals are broken down into large iterations. It seemed logical to move with iterations and upon reaching them. We are used to the rhythm of the two-week sprints that our teams live. And for the rest, we often measure life not by calendar weeks or months, but by sprints of 2 weeks each.
But, firstly, it makes no sense to divide the months in this way.
Secondly, the “mighty bunch” has a lot of operating systems with teams, and some are also involved in the turbulent life of our business. It is almost impossible to guess the load two weeks in advance.
Thirdly, there was a serious concern that if we synchronized on development goals only once every two weeks, we would lose focus and habitually go to the operating system.
Therefore, development sprints (called MNGs) were made weekly.
Every Thursday – standard ritual for 1.5-2.5 hours:
reviewing the past MNG sprint,
we select goals for a new sprint from the cards of the current month,
discussing necessary and sufficient solutions,
launching a new sprint.
The tooling is pretty straightforward: the project is in Jira, and the epics are block-level goals. Yes, we are not evaluating tasks in any way, somehow by themselves we came to a consensus that for the sake of development it is possible to overtake it if necessary. While it works.
There are no formal roles in our MNG team, but for each super-goal there is at least one of us who is actually the product owner, and the facilitation is mine. Tasks do absolutely everything. Either with your own hands, or by attracting someone inside the mighty handful or outside of it (but the responsibility for the task is still on the one who took him into the sprint).
Every (almost) morning – standard daily stand-up sync for 3-5 minutes. And connected with this is one more point that I want to talk about.
At first, it was difficult to focus on MNG tasks, the routine was overwhelming. And from time to time it happened that there was nothing to tell about the tasks of the MNG sprint on the daily stand-up. And then we decided … why not add routine tasks to the MNG sprint? A couple of sprints lived like this, but at one of the retrospectives they agreed not to do this anymore: real progress on MNG goals was lost for visibility stormy activity and endless flights.
Well, it is clear that at the end of each month we paint cards depending on the success of achieving what is written on them. And, if the quarter has come to an end, we decompose the next one into months, at the same time checking the goals and priorities for relevance.
Let me remind you that there are still 4 months left before the final of the current race, we barely crossed the equator.
We can definitely say that the approach pays off. Despite the fact that from time to time we are all washed away into another rush, progress in terms of super goals is visible to the naked eye, and in some places it even surpasses expectations: we have tightened up product planning, release management, we are confidently moving towards victory over chaos in the presale and support.
But there are goals for which, by and large, we have scored without receiving support from the parent company where we just cannot cope with it on our own (for example, in streamlining regulations and recruiting).
If we talk about all the goals in general, it seems that now we are somewhere in the area of the lower limit of the level of a healthy person. In some places, we are still lagging behind, in addition to several goals that were deliberately discarded (about them, see above).
Another profit – today we have a common vision of the five of where we run, why we run and how we run. Everyone broadcasts the vision to those with whom they communicate. And the recent departure of one of the participants did not lead to paralysis for the goals that he was pursuing. Those who were able to pick up almost seamlessly were quickly found. Although, of course, everyone had more worries.
Well, if at first there were doubts about the realism of what we imagined on the shore, some small part in the light of global changes really lost its relevance, but the main part turned out to be more than a point.
Absolutely, we will continue to play this game.
In general, the thing looks, firstly, easily scalable for a team of up to ~ 10 people. Secondly, it is universal with respect to the subject area – there are no ties only for development management in it at all.
In the future, I would like to learn how to clearly and easily maintain the logic of decomposition of each major goal, otherwise in a few months the details are lost, and you have to spend time on their recreation. Also, you still need to adjust quantitative estimates and speed measurements. But so far I have not figured out how to do it correctly, given the multitasking of the participants. And, as a “bow”, you need to develop control of “habits”, because now these are just cards interspersed with goals that appear before our eyes in every sprint review. But it seems that they must have some other workflow.
In the article, I deliberately avoided direct references to well-known frameworks. Of course, each of us read something somewhere, heard, saw and stuffed our own bumps. But in general, this is pure home-made from borrowings, blurred by the local context and personal experience. The current maturity of the approach is such that everything was empirically adjusted “in place” without any theoretical research. Far from perfect and only useful.
That is why I sat down at the article in order to sublimate the experience and advance in understanding, due to what this thing works and where to move it further. I really look forward to comments and look forward to criticism and opinions from the outside.