Tuesday, 11 October 2016

Creating an Internal Agile Coaching Capability

Scope:
Recently I attended the Scrum Coaching Retreat Geneva 2016 [1]. It was a great event, mainly due to all the beer drinking. The pipe in the middle below is 5 litres of beer. We were happy ;)


Chris, Rickard, Tom, Mark, John

But back to the title, while we were there we identified a problem within Agile Transformations.

Problem:
The problem is when all the external Agile Coaches arrive, they often leave with more knowledge than they started with. Which is okay for them, but their clients are often left without any internal Agile Coaching capability.

Just like a diet when you come off it you go back to bad old habits and get fat again [2]. So, organisations need to develop their own internal Agile Coaching capability. But how do they do that when they do not have it in the firs place?

Solution:
The solution we came up with at the Retreat was a brand new programme that would train and coach the internal people. Thus growing their capability over weeks and months. It would not be a quick course and then failure. It would be an academic programme of learning and development.

This was done over several sprints within the event, in conjunction with 3 Agile coaches and 3 CST's from the Scrum Alliance.
The end result was an actual output whereby the participant would learn and grow over time, gaining skills and experiences. But they wouldn't have to wait until the end to gain the first benefit. Value would be obtained as they went along. Fruits could be be picked from this Agile tree of knowledge. Such as CSP, CTC and so on. 

The original design at a high level (we went into more detail, such as LO and so on) looked like a tree of knowledge with fruits that could be obtained as you progressed.

Tree of Knowledge

While this was only MVP 1.0, as a group we have decided to take it forward as a whole programme or work. We named it the Agile Coaching Academy. You can find the link below [3]. Watch out for MVP 2.0 as it progresses :)

Agile Link:
Its all Agile baby!

References:
[3] Agile Coaching Academy: https://agilecoachingacademy.org/

Wednesday, 28 September 2016

Agile Team Agreement

Scope:
In Scrum we have the DoD and also if added the DoR. However these set of explicit policies as KanBan would say are made by the team are with a focus on the Product. What about something for the team?

Problem:
We need an Agile Working Team Agreement. But what is an agreement? Who creates the agreement? How do we maintain it? Why do we even really need one?

Solution:
As per usual long before I became enlightened, within a wonderful info poster someone else has already came up with an Agile Working Team Agreement.

However  here I hope I answer some of the questions above by expanding upon the original info-graphic [1].

What is a Work Agreement?
Work agreements aim to forge commitment and an agreed upon shared approach that will help the team meet their goal. The team agrees to follow this as much as possible to make themselves more efficient and successful.

The working agreements do not have to represent a check-list and do not have to tie back to the product. They are sustainable agreements that help the team identify core values and build a shared understanding of what it means to work as a team. They are for the team not the Product and thus are different from the DoR or DoD.

Who creates and owns the agreement?
Team members themselves create and own it. The team also reviews them periodically during retrospective meetings. They set the agreement because we want teams that are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team.

Why would a team need an agreement?
  • To develop a sense of shared responsibility
  • Increase members’ awareness of their own behaviour
  • Empower the facilitator to lead the group according to the agreements.
  • Enhance the quality of the group process
What is the best time to organize this meeting?
Just before the very first Sprint starts and from then on review within the Retrospective meetings. These can also be separate meetings by themselves.

Where should it be placed?
  • Somewhere visible by the team.
  • Next to the KanBan board.
  • On the wiki. Printed out and stuck on the desk of every team member.
  • Tattoed on the left arm. Right arm can be used for the next version and then laser the left arms old version away. From then on swap between arms :P

Agile Working Team Agreement example:
  • Show respect
Don’t interrupt; let people finish what they’re saying. It’s OK to disagree with each other. No personal attacks, attack issues, we debate the merit of ideas, not people. You can be wrong and that’s okay.
  • Contribution
Everyone has an equal voice and valuable contribution. Use every work activity as an opportunity to learn. We make decisions together as One Team.
  • Team Meetings
Be on time by arriving before time (it is the only way), end on time, have an agenda, take away an outcome.
  • Be transparent
No hidden agendas. We will give feedback, we will receive feedback, and we will act on feedback.
  • Impediments
Solve roadblocks within the team. If the impediment cant be solved within the team, give it to the Team Lead to take away.
  • Make commitments as One Team
We as a team will be held accountable to our commitments. – we work as a team to make a commitment and deliver on it. Remember this is the team not one person.  Help the team achieve their task and team-work goals. There is only the team.
  • Incomplete work items are not valuable
It is better to help get an existing work item to “done” than to start another that can’t be finished in the current sprint. Value is what needs to be produced not allocated activity.


Of course agreements will evolve over time and adapted when they are inspected.

Agile Link:
It's for the Agile team and is represented on my Poster by the back drop of One Team [2].

References:
[2] Agile Poster:

Wednesday, 31 August 2016

Agile Pragmatists: Their Latest Excuse


Scope:
I attend many meet-ups and have noticed that the "Agile Pragmatists" [1] are back. Their latest reasoning not to be "purists" as they would put it, is Agile at scale. I often hear the line:
"But this is scaled Agile"
Problem:
The problem with this is that the understanding that Agile is a Mind-Set not a mere process seems to have been lost again.
Agile Mind-Set from ICAgile [2]

How do we get back to Agile as a Mind-Set and away from a purists vs pragmatists battle which no one wins?

Solution:
The solution I believe is education. Once we educate the community that Agile is a Mind-set then it becomes clear you cannot scale one mind, but only many minds. People have to work together, not be fixed and commanded. Luckily it seems I am not the only one [3].

Thus we come to how to educate. Well I would say via the community. Meet-ups, blogs like this. Any avenue to get the message back out there [4].

After this if people still want to be "Agile Pragmatists" as they want to call themselves then they will have to explain what they mean by that alternative Mind-set and how the Agile Mind-set currently does not deliver their so, called pragmatists approach??? If they do manage this, we can then review to see if it is closer to a command and control (waterfall) mind-set [5] than being Agile.

Agile Link:
Its all in the mind :)

References:
[1] Scrum Purists, Posers, and Pragmatists: https://www.solutionsiq.com/scrum-purists-posers-and-pragmatists/

Sunday, 31 July 2016

Agile MeetUps: Be Curious


Scope:
This article presents some examples of an approach to attending Agile Meet Ups.

Problem:
I have attended many Agile meet-ups. In fact I prefer them to conferences as I feel a sense of community. Where as conferences people can come and go.

However I have noticed that at these events people seem to never stretch the topic with the presenter. Most are passive and the ones who do ask questions are few and far between. There is not enough curiosity.

For me this misses a great opportunity to obtain knowledge value from industry veterans. Which seems to be the point of these meet ups, to share knowledge and gain discoveries no?

An opportunity lost.


Solution:
I am suspecting the reason for this is not that people do not know what questions to ask, but rather they do not research the topic beforehand. I often research the presenter before the meet up so, my questions are ready once the Q&A section arrives. One must always remain respectful of course.

Here below are some examples of the questions I have asked:
  1. Fabiola Eyholzer - How can HR adopt an Agile mindset at Adventures with Agile
    Here I asked Fabiola an expert on Agile HR, on an internal mobility conundrum [1].
  2. Craig Larman Q & A - Evening Session
    Here I asked Craig about the Frozen Middle and Dependency Management in relation to LeSS [2].
  3. Lyssa Adkins & Michael Spayd - Want a sustainable agile transformation?
    Here I asked the both of them about a Journey of Coaching [3].
As you can see I ask challenging questions whereby even Lyssa admitted she had been put on the spot. Craig had to eek out, that the answer behind my question was only detailed in his course.

Agile Link:
These questions revealed answers that shared more knowledge with attendees than the mere presentations alone. Without them I believe discoveries for the attendees would have been lost. They have helped progress the local Agile Community.

References:
[3] Lyssa Adkins & Michael Spayd - Want a sustainable agile transformation?: https://www.youtube.com/watch?v=953rtZ9DEYQ&feature=youtu.be&t=4334

Tuesday, 21 June 2016

Coaching the Frozen Middle to be Agile


Scope:
This is an article which presents some quick fire ideas for agile coaching the “Frozen Middle”.

Problem:
The “Frozen Middle” is a term used for middle-management who do not wish to become Agile. They want to avoid this situation at all costs. This is because unless there are incentives, there is nothing in it for them except massive risk. That is their perception anyway.

It becomes a problem as it is middle management who really support and lead real cultural change within an organisation. We need them to be Agile or an Agile transformation will fail.

Some approaches for dealing with the problem of the “Frozen Middle” look at work around process or removal techniques [1]. But this does not deal with the systemic existence of that mindset. The change for the change agents has not really happened.

The problem therefore remains under the surface and is often the reason why a lot of Agile Transformations fail to evolve. They are moderately successful but then hit a ceiling and freeze with no thaw.

Solution:
The solution is one of culture change [2]. To create a new cultural mindset within middle-management. One technique or approach is not enough. There is not a one size fits all. If only!

As with so, many coaching situations it depends upon the details of the situation. This can become frustrating as there is no clear answer, but we can look at some options that together may help us progress a cultural change. Which ones are useful then?

Before coaching can commence though, we actually need to train people in the basics of Agile and also Lean techniques. Often leaders are great at leadership, but have not had exposure to the fundamentals of a topic. Thus they do not know it. However rather than express this as sometimes people can feel this is a weakness, they avoid it. Becoming in denial. They need a starter point as they are Shu [3].

This could take the form of training upon Agile Fundamentals [4] and also the Cost of Delay [5]. Fundamentals explains what Agile is to them and Cost of Delay is nice starter of why they need it. Then we can move onto the "Coaching" and look for Ha and "Mentoring" for the Ri.
ShuHaRi
ShuHaRi [4]
After which we can provide:
  • Coaching on immediate Goals.
  • Coaching on organisational structure.
  • Coaching on adding Business value.
  • Coach them to learn all by themselves.
  • And many other topics as they arise [5].
    We need to be curious when coaching them.
One major caveat that should be in place beforehand is that there must already be an Agile Transformation vision being endorsed and championed by the senior leadership. If Agile has to bubble up, it will fail as it is not seen as addressing the wishes of executive. You always need to "feed the machine".

The end result is that we can help middle management change themselves faster 
through coaching and thus treat them with respect by following the…….

Agile Link:
Agile Manifesto where it states:
“Individuals and interactions over processes and tools” [6]
Processes and tools can help but as they are Individuals too, this is why we need through interactions Coach the Frozen Middle to be Agile.
This is also evident on my Agile Poster as Value of Respect [7].

References:
[2] Galvanize the “Frozen Middle”: http://lithespeed.com/lean-pmo-galvanize-middle/
[4] Agile Fundamentals training: https://icagile.com/icagile-certified-professional
[8] Agile Manifesto:


Tuesday, 31 May 2016

Implementing an Agile Follow-The-Sun Model


Scope:
This article looks at the problems of Implementing an Agile Follow-The-Sun Model.

Problem:
The world these days seems as if everyone is on-line, constantly connected. Therefore there is no downtime any more for Products that wish to survive in a 24/5.5 working week.

These products must be built, enhanced and maintained. As we know from experience Waterfall cannot solve this problem, only Agile can. This has been documented in many places [1] and [2].

However it is not that simple:
  • How can a follow the sun model work for Agile teams spread across the globe?
  • What happens when we come to demo/psi to the Product owner across global teams review meetings?
  • How do we perform global retros?
  • How do we refine the product backlog? 

Solution:
What is required are multiple teams that work upon the same product. With this advocated as the solution it is not surprising that scaling frameworks have come to the fore.
Many hands make light work. [3]
The point they miss is that modern Agile teams are now global. The flow does not stop when one teams Iteration/Sprint Ends. The Product flow must be handed to the next team to continue the Value Stream/Chain [4].

Agile Follow The Sun Model
Follow The Sun - Value Stream
As we can see from the above diagram a team in Singapore will have had their daily team meeting/scrum and at the end of the day will have another scrum meeting to hand over to the London team.

The objective of this handover should be hopefully to hand over as little as possible. Thus giving a clear run to the next team. A relay race if you will, where the baton is handed over cleanly. London then hands over to San Fran, San Fran to Singapore and so on at the end of the day.

For the events that an Agile team has to perform nothing changes. They still perform the same activities at the same time, however they will need multiple Product Owners, multiple Team Leads/Scrum Masters.  These many will have to co-ordinate (tel/video-conferences) together to make it work. To make this scale there will either have to be a Product Manager as in SAFe [5] or one of the PO’s will wear a dual hat as a the Lead PO.

A single accountable person is always needed to make the final decision. They should of course be totally empowered and available to make that decision. No silent and disengaged stake holders.

The same goes for the Team leads and if possible get the teams together. Sometimes fly them out during quite times, video conferences for the teams. Bring them together during industry events. There are many activities that can be done.[6]

Flowing Global Agile Delivery is possible but not easy as the teams must evolve to act as One Team.

Agile Link:
This is also represented on my Poster, whereby the background image is of 3 different types of people (teams) and has the words One Team to represent this. [7]
References:
[7] Agile Poster: https://agiledogma.blogspot.co.uk/2014/04/agile-development-poster-there-are.html

Saturday, 30 April 2016

Coaching Lean Teams on Scrum


Scope:
This article looks at how one could coach Lean teams on Scrum.

Problem:
Sometimes I get the great opportunity to Coach teams that are not software development teams. Such as a Lean team working within the Business, tasked with finding Waste [1].

One such occasion where my organization had a cultural Agile transformation going on, I was able to do just that. When I first started talking to the Lean team, I pointed out to them that historically Scrum and Agile borrow heavily from Lean. As a result they asked me to come in and present Scrum to them.

So, how does one coach a Lean team on Scrum?

Solution:
Well I went back to the basics, presenting all the activities, events, principles, values, and more of Scrum. But this was merely consulting via a presentation. It is not coaching.

One of the techniques that a Coach uses is to ask questions so, that the client team finds their own answers by themselves. People are more likely to accept these findings if they discover them on their own. Rather than ones that are force-fed to them. As they have made these discoveries through their own experiences. This is one of the many differences of Coaching compared to Consultation.

To enable the Lean team in this, after the presentation I facilitated a “game” with them. Whereby I provided them with a familiar Lean diagram of PDCA [2].
PDCA [3]

I then asked them as part of the game to place the Scrum activities, events, artifacts and anything else they thought relevant from Scrum on the picture to see where they thought it matched.

By observing the teams conversations, I could see the debates going back and forth. I made no effort to interfere. I let them get on with it, whereby the team made its own discoveries.

Anyway here is what this particular team came up with:

As long as the team were not too far off, for me it didn't really matter what they came up with. The point was to get them to learn, understand and converse as a team on Scrum. How it maybe useful for them and learn this all by themselves. Becoming a self-organizing team.

Agile Link:
I presented Scrum to the team, then coached them using a Lean approach they were familiar with (PDCA), asking them to map Scrum to it. The game enabled them to think and learn about Scrum. A successful outcome was obtained as the team went away with the idea of implementing Scrum.

For me my personal learning was the power of Coaching over Consulting.
That is, while there is value in the items on the right, we value the items on the left more. [5]
Scrum of course is on my Agile Poster [6]

References:
[5] Agile Manifesto: http://agilemanifesto.org/
[6] Agile Poster:
https://agiledogma.blogspot.co.uk/2014/04/agile-development-poster-there-are.html

Saturday, 26 March 2016

Agile Vendor Management

Scope:
Sometimes it makes sense to outsource a delivery or augment an existing Agile delivery using a people externally to your company from a Vendor. This article talks about how to still be Agile once the people come on board for your delivery.

Problem:
While there are many great articles on the net about how to engage a Vendor to supply people, few discuss what happens how to manage when the Vendor is on board. The often talk about how to get them in not how it works once the engagement is authorised.

Examples Include:
  • Agile Vendor Management [1]
  • Agile can’t be adapted to manage/control vendors. [2]
  • Create a Vendor Contract While Keeping Agile [3]
  • Making agile work for clients and vendors [4]
  • Managing Client and Vendor Expectations [5]
While these are fantastic articles, one you have them in? What do you do?
The the real problem with Vendor Management is the same for all teams whether they are internal or external. How do you keep them Agile on the delivery?

We need an Agile approach for Vendor management set-up. But what does that mean? Let us look at the tangibles.

As most organisation often do, when creating a new team, to ensure that it remains Agile we can use proven prescribed methods such as Scrum to help us here. Scrum Theory as advocated within the Scrum guide has:
“Three pillars uphold every implementation of empirical process control transparency, inspection, and adaptation” [6]
Scrum Pillars
Scrum Pillars [7]

Team Augmentation Set-Up:
For augmentation when using Vendor product as an enabler for the overall end product, it is wise to have at least one member of the delivery team from the Vendor. This means that Vendor enabler for delivery can be set-up, integrated and supported by the Vendor itself with visibility of transparency to the team, from within the team as it delivers. It also allows the team to inspect and adapt to the underlying product as knowledge is transferred from Vendor to the rest of the team.

Examples of this could be a racing team that uses a different underlying engine from a Vendor manufacturer. Having the Vendors expertise on site will greatly help the racing team integrate the engine correctly and fine tune it overall as the racing car is raced again and again. Similarly for a micro-services team leveraging a Vendors ESB product. Having a Vendors expertise working with the team to set-up, integrate and maintain the product allows transparency and the opportunity for the team to inspect and adapt with the underlying technology.

The augmented member of the team must become one with team and the team one with them.

External Team Set-Up:
In the situation when the team is supplied by a Vendor, things get more complicated naturally with more external people. Thus a different approach to leveraging Scrum is required.

When looking to on-board a team, co-location is paramount. However how does one gain transparency to the team if co-location is challenging? Including the technical delivery level, when the team is not part of the organisation? Here the reverse of augmentation can be applied. Whereby an internal employee joins the team, preferably as the Team Lead/Scrum Master.

If you cannot supply a trained, experienced Scrum Master then it is better to have Vendor face off. Whereby one Vendor supplies the Scrum Master and the other supplies the team. The Scrum Master then should be able to provide the transparency into the teams Agile capability at all times. Their job will be to servant lead the other Vendor team. Make it clear that they will never be able to supply their own team so, they must work together to make it work. This should stop the risk of mini-waterfall happening under the covers.

Most Vendors do not like this as they often over the long term want to keep all their failings hidden, having their own lead allows them to arbitrage the Client when they need too. Do not let them get away with it. If they won't comply then do not give them the Business. It's that simple.

Next, if you can possibly do this, is to interview everyone who is in the team. Often Vendors will hoodwink the Clint by supplying one or two top people as loss leaders and the rest are so, junior they might as well be off the street. Why would you want to hire a mediocre team? Make sure the team is stocked with senior people in the expertise that is required. Creating an Elite team is the only way to provide a delivery on time, to budget and to quality. If you cannot do this, then once again get another Vendor to interview them. Bring the expertise in, but in the right way.

Once again most Vendors will be aghast at this. Often stating that:
“we supply a managed service, we do not allow body shopping”
Actually this is how Vendors recruit themselves, one person at a time. They hardly ever recruit whole teams. Remind them of this, because if its good enough for them. It is should be acceptable and good enough for their Clients. 

As a side note when recruiting software engineers/developers it has been my experience that rather than asking for Agile ones, asking for people that are experienced in TDD is more beneficial for the delivery. Agile methods seem to be quicker to teach than TDD. Thus I find TDD experts learn Agile faster, than the other way around. Focus on this first for skills in recruiting developers if you can.

TDD Source [8]

The other excuse is:
“How can we ever develop our people if the more junior people are never allows to work with the customer?”
Their miss-management of their Business, should not be your problem. If they want to develop junior staff, then you may be willing to risk allowing them in the team your paying for if they are supplied for free. If not, then that is their problem. It is not up to you to manage their Business. You have your own to worry about. Do not let them place sub-standard people within the delivery team your paying for. If this costs extra, then it is worth it to avoid the risk of failure.

The Product Owner must be from your Business. This role cannot be outsourced. It is too critical. From the principles of the Agile Manifesto:
“Business people and developers must work together daily throughout the project.” [9]
Which leaves us to apply the some standard Agile/Scrum framework techniques:
  • Single PBI system to track all work. This avoids arbitrage of priorities.
  • Independent Scrum Master supporting the team, whilst also being loyal to the Client.
  • Team is empowered to get on with the delivery and is not hit by any politics of Vendor vs Client.
  • Agreed Ready state (not Scrum, but you can use a DoR) that evolves as the team makes discoveries. Avoiding Garbage In.
  • Agreed DoD that evolves as the team makes discoveries. Avoiding Garbage Out.
  • Review Event has two inputs, a demo for sign off in an independent environment and potentially shippable product.
  • As the Product is delivered, then document the delivery. Preferably in the company Wiki and knowledge transfer everything. How everything is enabled, set-up, maintained. Everything to do with the Product and around the Product.
  • Provide collaboration tools, chat, tele/video conferencing not just email or issue trackers. Work as a team. This allows Inspect and Adapt, with Transparency.
Scrum States of Ready and Done
Scrum States of Ready and Done source [10]

Charging Model:
Fixed Price never works, unless you know the Future. Either the Client gets a deal and the Vendor sacrifices Quality to make a profit or the Vendor gets a deal and the Client over pays. There is no in between and anyone who has done it successfully has gotten lucky. Luck is not a professional way to run a Business, it is gambling.

Time and Materials gives you a complete breakdown transparency of costs as you go along. With fixed team sizes in Scrum one see costs upfront for 3-6 months in advance. Here the Client has the lead and the Vendor gets paid for the work they actually deliver, not what everyone guesses they may deliver or not!

It also allows you to see a breakdown of the costs per person and allows you to hire by each team member as eluded to above. As long as the Scrum Master and Product Owner are internally your people, then they can also prevent the risk of the Backlog growing forever with perceived never ending work.

Here both sides win as the details of the delivery are not constrained by the contract but by collaboration. As the Agile Manifesto states:
“Customer collaboration over contract negotiation” [11]
Client leadership, by renewing when needed or off-boarding the team after any 2-week Sprint.

Off-boarding:
Very few Agile articles talk about this. Even with long-lived teams at some point either you will provide your own team members or the delivery is done, done. At this point the Vendor has to go. If you have followed the approach above, with Time and Materials, independent Scrum Master, Business Product Owner, full transparency, documented Product whereby the artifacts are all owned in-house. Then it is as simple as just ending the Business contract.

This is why the above approach is optimal for delivery, as it mitigates the risk and puts most of the power back in the Clients hands without crippling the delivery team.

Do we have to use Scrum?
No we do not. Kanban for example is quite affective for flow based deliveries. However Kanban can quickly turn into “throw it over the wall” for immature teams, then quality is lost and it becomes an Agile cargo cult.

Thus a prescribed approach at the start with a Vendor lets everyone know where they stand. Scrum is also well known and understood. Re-use what we know works.

Agile Link:
The link is to leverage Scrum, to utilise a Time and Materials approach whereby the Roles and Responsibilities are defined up front without sacrificing the capability of the team being Agile. This is why Scrum is a part of my Agile poster [12].

While Elite teams often move towards a more flow based Kanban approach over time, some of us have to deal with Vendors. In this case Scrum comes ready made Out Of The Box. If we are careful we can have the best of both worlds.

References:
[3] Create a Vendor Contract While Keeping Agile: https://www.techwell.com/2013/05/create-vendor-contract-while-keeping-agile
[9] Agile Manifesto Principles: http://agilemanifesto.org/principles.html
[10] Scrum States of Ready and Done image: http://www.innolution.com/blog/definition-of-ready
[11] Agile Manifesto: http://agilemanifesto.org/