What happens when you have a product too big to be built by
one team within the timeframe needed by your business?
You might answer: Well, I allocate more teams and then create
an organization structure where each team is accountable for their part and
with a project staff, headed by an expert project manager, to coordinate
everything.
I do not want to judge this answer. However let’s have a
look at the Agile principles:
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done
- The best architectures, requirements, and designs emerge from self-organizing teams.
What do I get out of this??
Well, first that SW development is a collaborative game by its
nature: there’s no complex problem which can be solved by one person in a time
which is compatible with modern business needs.
Secondly that self-organization and servant leadership are
some how embedded in being Agile.
Furthermore, if you look at Scrum, you will find only 3
roles: Scrum Master, Product Owner and Development Team.
I'm sorry: no project manager whatsoever.
Beware! I’m not talking about people here: there are plenty
of great project managers serving with passion and competence their
organization.
I’m rather referring to roles and their effectiveness in an Agile
context, in terms of: What is the probability I might have success in an evolving reality?
Said that, what I would suggest to a Scrum organization is
to setup a Product Owner Team.
Yes: a self-organized team formed by all development teams’
Product Owners collaboratively working together. And I’m suggesting that,
because I’m currently coaching a PO Team and I would like to tell my experience
through this and some other post I’m planning to write.
Of course a team does not make sense if they do not have a
product to build: the PO Team’s job is to develop a unique Product Backlog to
feed all development teams, so that the following is ensured:
- the whole organization is focusing at any point in time on the most important items
- the development teams are as much independent as possible so they can move fast with little need to coordinate each other
- the overall architecture of the system is preserved
Like any other Scrum team, a PO Team might better have a
Scrum Master or Team coach (it’s just me in our case) and a Product Owner, who
is in charge to give a final word on the overall priority in case of conflicts.
To tell you our story I will start from the beginning and
that’s the team setup.
In a recent post I described how it is important for a
team’s success to set the stage to high performance and that’s just the same
crucial if we’re talking about a group of normally quite senior people who need
to learn how to collaborate for serving the entire organization at best,
instead of only cultivating the silos they felt responsible for.
And we really started from the foundation by writing
together our team vision and the ground values we wanted to build our team
upon, as you see in the pictures below. After few months I really recognize that
this exercise had proved to be tremendously effective.
So we set the first draft of our working agreements.
Since I wanted to introduce the Scrum values in the team in
an organic way, I let them decide completely how to organize in the first place
and here come our ceremonies:
- Global Backlog grooming once a week
- Global Release planning once a week
- 15-min daily standup everyday
- Review of work done at least by another team member according to our Definition of Ready
- Team retrospective once a month
I will describe each of these ceremonies, make you see our
awesome task board and tell you how we build our backlog starting from customer
needs in a number of coming posts.
Talk to you soon!