Archive for the ‘Agile’ Category

#SGZA 2016: Kick-off to Lift-off

Posted: January 11, 2017 in Agile, Team
Tags: ,

I recently attended the regional Scrum Gathering for 2016 in Cape Town. This is a post in a series on the talks that I attended. All posts are based on the sketch-notes that I took in the sessions. 

dsc_0465

This talk focused largely on the Context section of the Agile Charter, which is meant to be a living set of artifacts and sessions that help a team clarify their Purpose, Context and Alignment. Alignment, in particular, is a part that will probably adjust frequently as team members interact: often daily. The hypothesis is that a team that starts well may not necessarily finish well; but a team that does not start well will never finish well. In other words, a good kick-off is required for (a team) to lift-off.

The first part of Context is “Boundaries and Interactions“. This is understanding who your team members are; how you will interact with each other; how you will interact with others who are not in the non-core team; who these non-core team parties are; and how we will communicate over differences. Steve described one cool activity to kick this off. For the core team, have everyone create a name-card with a photo/image, their name, their talent, and one fun fact. The team places these cards in the center of a sheet of sorts and then draws a boundary around the group. This indicates the boundary between the core team and anyone who isn’t in the core team.

The team then discusses who else may be

  • Interesting to the team (they can give advice/we value their opinion/they have input);
  • Important to the team or project (key knowledge / have to approve or provide things); and
  • Interested in the team or project

These people or groups are then represented outside of the circle and the team discusses and agrees how the core team will interact with these parties. This could be fleshed out further into some kind of communication plan, however it is necessary to balance too much detail and complexity against something that is quick to review and update as it changes. Remember: the Agile Charter should be a LIVING artifact.

The second part of Context is “Committed Resources“. In this instance, we do mean resources/things and NOT people. The proposed activity for this is to draw a timeline arrow with the end point being the mission for the release (agreed in the Purpose section). The team then makes a list of things / activities / skills they will need to achieve the mission and places them on the timeline depending on when they will be required. These can also be ranked in terms of importance. The team then highlights (e.g. using a red dot) resources that the team does not yet have. The idea is that one needs to confirm the missing resources before the time when they are required is reached.

The third and final part of Context is “Prospective Analysis” or “The analysis of prospects”. Basically this means looking at things that might happen and identifying whether they are risks or opportunities. An easy way to do this, once the team has a list of things that might happen, is to categories them into a quadrant with the vertical axis of [Good]-[Bad] and a horizontal axis of [Won’t Happen]-[Will Happen].

Have you ever done a kick-off with your team? What parts of the Agile Charter have you found particularly useful? Which parts have you not experienced as valuable?

 

I recently attended the regional Scrum Gathering for 2016 in Cape Town. This is a post in a series on the talks that I attended. All posts are based on the sketch-notes that I took in the sessions. 

This key-note was done by the famous Jim Benson and actually spilled over into subsequent impromptu session. Jim is a very entertaining speaker and doesn’t pull any punches when it comes to challenging the “accepted best practices” of Agile/Scrum/Kanban.

His talk started with some context: what do we mean by systems and what should we be optimising them for? His opinion: we want purposeful systems – systems that work towards achieving their purpose. Extending from that, we should be optimising systems to achieve that purpose – and nothing else. Processes can be defined as rules of conduct (for people) that optimise a system to achieve its purpose. If we consider processes as rules of conduct, then it makes sense that an imposed process (your process) would enslave me whereas an inherent/organic process (my process) would help me. Also, the inspect and adapt loop becomes the mechanism to continuously adjust our rules of conduct (process) based on the reality in which the system is operating.

Now, before one can optimise for purpose, one needs to understand what the purpose of the system is. Jim suggested some basic questions one should be able to answer:

  • Who is my customer?
  • What problems are we trying to solve?
  • How do we engage professionalism over professionals?
  • How do we work in small batches?

As mentioned, the key-note extended into another session and I don’t recall exactly where in the talk that happened, however at some point we started discussing how, in the past, we worked in social hierarchies (good old organisational charts) whereas now we tend to operate within social networks. One downside of social networks is that they have some communication challenges, particularly between networks. One tool Jim shared with us to help with this was an exercise to create a shared story for a team (who should be operating as a social network).

A shared story is created by the team and consists of four parts:

  1. The vision of the team: Why are we doing what we’re doing?
  2. Expectations of each other: What are my expectations of you? What are your expectations of me?
  3. Boundaries: When does someone need to talk to me about something that they are working on? When do I need to talk to someone else?
  4. Victory: How do we know when we have succeeded? What does victory look like?

The shared story should be regularly updated and revised by the team.

Some other cool snippets/ideas I picked up during the keynote and subsequent continuation:

  • Using a scary scale to help prioritise stories. Teams rank a story as being either a kitten; or a crocodile; or a zombie; or a zombie crocodile (in order of scariness). The idea is that you want to be tackling and learning from the scariest stories first so that you can hopefully make them less scary.
  • When having stakeholders rank work, give them only two options: Do (above the line) and Ignore (below the line).
  • If your team is struggling with poor quality or not-quite-done stories, then inspect and adapt as stories move to done. Ask the question: how do I feel about this finished task/stories? If the person doesn’t feel happy, then unpack what still needs to happen in order to feel happy or comfortable about the story/task. Over time, these things would probably evolve into a more team appropriate definition of done.

What are your thoughts on some of what Jim had to say and share?

#SGZA 2016: “Just Right”

Posted: November 17, 2016 in Agile, Team
Tags: , , , ,

I recently attended the regional Scrum Gathering for 2016 in Cape Town. This is a post in a series on the talks that I attended. All posts are based on the sketch-notes that I took in the sessions. 

Danie Roux gave an entertaining opening keynote which started off with a re-telling of the well-known fairy tale: Goldilocks and the Three Bears. We also touched on the adventures of Cinderella (and her glass slipper) and the Hunchback of Notre Dame during the talk. Danie challenged us to consider the modern versions of the fairy tales (Shu) against the logic they contained (Ha – or huh?) and their actual origins in history (Ri). Besides some fascinating facts about the origins of some fairy tales, other take-outs from his talk were:

  1. Perspective matters.
  2. Roles are meaningless on their own – they need to be considered in the context of a relationship.
  3. A cadence is a pause. Pauses between notes create music.
  4. The three hardest things to get a team to do are: (1) Talk (2) Talk to each other; and (3) Talk to each other about work.
  5. The definition of ScrumBut: (ScrumBut)(Reason)(Workaround)
    1. Translation: When we say Scrum But we usually go “this is what Scrum would recommend”, “but this is why it won’t work for us”, “so this is what we’ll do instead”
    2. Perhaps we should try for Scrum And?

Finally, he told us the story of his friend and the glass Sable antelope… As a reminder that when we give someone a gift, we cannot be upset with what they do with it (even if they destroy it), regardless of what we invested in getting it for them.

Some references from the talk:

Anything in there that you found interesting?

This is a post in a series on the talks that I attended at my first ever Agile Africa Conference in Johannesburg. All posts are based on the sketch-notes that I took in the sessions. 

Some of the slots were really short, which meant speakers couldn’t really go into a lot of detail. These are sketch-notes from some of the shorter talks.

Popcorn Flow

agileafrica.JPG  popcornflow

Find out more: https://popcornflow.com/

 

 

Leader Transformation

agileafrica

The full title of this case study was “Leader Transformation – a side effect of an agile transition”.

Key take-outs for me:

  • Different parties have different motives and often change driven from the top is feared or regarded as a ‘fad’ to ‘survive’.
  • Beware early successes- sometimes they create a false sense of confidence which leads to running before one can properly walk
  • Start from where you are

Mob Programming Case Study

mob

An interesting talk on the before and after effects of having a team practice mob programming. Some of my key take-outs for if you want to try it:

  • Start by following the rules and then inspect and adapt.
  • There are some things where mob programming doesn’t work very well, e.g. doing research, where learning is not an outcome of the work, and problems that are still very large.
  • You need to mob program with a cross-functional team with all the perspectives (problem knowledge, testing expertise, developers, UX, etc.).
  • You also need to create time for team members to do things on their own i.e. not all of their day is spent with the ‘mob’. This “alone time” could be spent on things that aren’t suited to mob programming and/or other creative initiatives.

 

This is a post in a series on the talks that I attended at my first ever Agile Africa Conference in Johannesburg. All posts are based on the sketch-notes that I took in the sessions. 

agileafricaSam and Karen started by clarifying what they meant by distributed teams: teams that don’t sit in the same location. They then categorised distributed teams into three main categories:

  1. Teams that work in the same time zone and/or the majority of their working/office hours overlap
  2. Teams that work in different time zones but there is some overlap of working/office hours
  3. Teams that work in different time zones or have different shifts so that there is no overlap of working/office hours.

For each, they then shared some common characteristics and where best to focus energy.

Full Overlap

These teams are characterised by synchronous communication. Here the best focus would be on technology and tools to ensure that communication is as easy as possible when people are distributed. They suggested some ideas like a video wall (expensive option) or running Skype continuously in the background (cheap option) to allow synchronous communication and cues to happen as naturally as possible.

Partial Overlap

Communication in these teams is largely asynchronous (e.g. email), so time together is valuable. Rather than use this time for things that can be communicated is an asynchronous manner, focus on using team time to create understanding. A practical example in the Scrum world is rather than use overlapping time for something like a stand-up (which can also be done via an update in most cases), use it for things like Grooming and Planning where more complicated conversations are required to flesh out understanding and work through difficult problems.

No Overlap

Their main ideas here related to being creative with

  • Tools e.g. creating a video for reviews and stand-up that can be distributed to the other team(s)
  • Rotating a team member who “takes one for the team” and changes their office hours so that there is some overlap with the other team(s).
  • Planning work to try to keep work where there are dependencies in teams that are working in similar time zones.

Besides the advice above, they also had the following general tips:

  • Use Good Technology
  • Have and Use Working Agreements
    • “Bottom Line” – a phrase used when people start to waffle and need to get to the point
    • Talking Over – agreement on what happens if people talk over each other. One idea is to give the facilitator permission to provide the order of who speaks in what order.
    • Multiple back-up plans – So if (when) the technology fails, everyone automatically knows which one to try next (and it doesn’t need to be discussed)
    • Silence – Silence is OK
  • Good Voice Trumps Bad Video
  • Same Experience for All
    • If one person needs to dial in, then everyone should dial in
  • Prepare
    • Prepare for sessions more than you would for face-to-face: agendas, tools, pre-reading, etc.

You can find more tips at RemoteAgileCoach.com.

I’ve shared some of my thoughts on distributed teams in a previous post. What have your experiences been with working on a Distributed Team?

This is a post in a series on the talks that I attended at my first ever Agile Africa Conference in Johannesburg. All posts are based on the sketch-notes that I took in the sessions. agileafrica

Despite its short length, this was an interesting talk for me. There were two new ideas that I’d not been exposed to before and quite liked. The first was the term “Most Loved Product” (MLPLOL-48). A MLPLOL-48 (rather than MVP) is a slice of a Product that can be used to gather feedback about the user experience i.e. does my Product makes my customer smile? The important part about a MLPLOL-48 is to not forget the smiley!

CaptureSecond, and largely related, was the concept of what a MLPLOL-48 vertical slice needed to consist of. Whereas vertical slices traditionally relate to the stack on which the Product was built, the UX slice needs to include the functional, reliable, usable and emotional design layers to be a full vertical slice.

The presenters also touched on user feedback and how it was important to consider all aspects of the user experience: what they hear, see, say, do, feel and think. They did caution, though, that “not every colourless liquid in a glass is water”, so although user feedback can tell us what they are hearing, seeing, saying, doing, feeling and thinking; we need to probe a little deeper to determine WHY they are having that experience.

Have you ever heard of a MLPLOL-48? What are your thoughts on the UX vertical slice concept?

This is a post in a series on the talks that I attended at my first ever Agile Africa Conference in Johannesburg. All posts are based on the sketch-notes that I took in the sessions. 

Kniberg

I was very excited at the fact that Henrik Kniberg was presenting at Agile Africa this year. And his opening keynote did not disappoint. First, he made it clear what he meant by Scale. He didn’t mean a couple of teams, or even many teams working on different teams working on separate things – he meant numerous team with various inter-dependencies. And then he told us some ways we could avoid becoming “unagile” when working with lots of teams.

 

He said that the first thing to realise is that for such a complicated ecosystem to work, you want everyone to be operating from a space of high autonomy and high alignment. When you achieve that, then everyone understands the problem and also has the mandate to figure out how to solve it. kniberg1

Kniberg then introduced the concept of a “soup” of ingredients required for an environment in which many teams could thrive and continue to operate in an agile fashion. The ingredients of his soup included:

  1. Shared Purpose
  2. Transparency
  3. Feedback Loops
  4. Clear Priorities
  5. Organisational Learning

1. Shared Purpose

Kniberg emphasised that in order for everyone to have a shared purpose, over-communication was essential. Every team member needs to be in a position where they are able to answer the questions:

  • What are you working on?
  • Why are you working on it – what is its impact?
  • How will you measure when it is done?

He described the following top-down model as an example:

  1. The company agrees on their beliefs. This belief relates to how they are to remain a viable operation. It could be around how the company believes they make money; who their customers are; or what is likely to happen in the future.
  2. Beliefs then break down into North Star Goals. This is a goal that the organisation wants to achieve in order to realise a belief. It needs to have metrics.
  3. Goals are then broken down into “Bets“. It is called a bet because it is a hypothesis: if we do this, then we think (bet) that this will be the impact on our goal.
  4. And, finally, teams have goals which contribute to proving or disproving bets (Kniberg called these tribe goals).

2. Transparency

Being clear about what everyone is working on and why helps to provide context that enables autonomous teams to make intentional rather than accidental decisions. One of the tools Kniberg shared with us was the DIBB Framework.

DIBB Framework

DIBB stands for Data, Insights, Belief and Bets. Basically you have a single space listing all the prioritised Bets and it is very clear what data was used to generate insights that led to the Bets, and then the Belief that particular Bet relates too. Bets can be tracked on a single Kanban taskboard with the columns: Now (what we’re working on now); Next (the Bets we will work on next); and Later (not priority for now). Kniberg emphasised that all of this information should be in a simple format that was easy to share with all (one of the companies he worked for used a simple spreadsheet).

3. Feedback Loops

We all know feedback loops are important. Feedback loops help us adjust our course. Scrum and other Agile frameworks already have built-in feedback loops for single teams. It is necessary to increase the feedback loops to cover multiple teams when scaling. Examples of multi-team feedback loops could be a Scrum of Scrums, multi-team retrospectives, Friday demos, Whole Product Review or Alignment Events, and Management Reviews.

Whole Product Review

A whole product review is when all the teams working on a particular product (whether building features or working as a support team) get together to plan for their next timebox. It includes the following components:

  • A demo by each team of what they have done since the last Product Review (to create context)
  • Break-outs per team to plan ahead for the next timebox.
  • Creation of Team Boards that include
    • The goals for the next timebox ordered by impact
    • Stretch goals for the next timebox – these may not be achieved
    • Risks in the next timebox
    • The deliverables that will be delivered at the end of the next timebox
  • A management review of the team boards on the same day before the next timebox starts

Triple Feedback Loop

This actually came out of a conversation I was listening to during one of the Fish Bowl sessions at the conference (and not from Kniberg), but an idea for these multi-level feedback loops could be:

  1. Normal team reviews (Loop 1)
  2. Monthly product reviews (Loop 2 – with all the teams)
  3. Quarterly Sponsor review (Loop 3 whole day with team and management)

4. Ordered Clear Priorities

Ordered priorities help teams make the right decisions when trade-offs are required. Priorities should feed down into teams from the Company Beliefs and North Star Goals. Clear priorities help teams answer the questions “If we can only do one, which one would we do and why?”.

5. Organisational Learning

In order to improve, we need to learn. We cannot learn if we don’t have time to stop and process feedback that we receive. Or have time to practice skills we are growing. Kniberg suggested a couple of ways to create slack time in teams:

  • A pull team schedule where teams pull work as they have capacity to do it
  • Scheduled slack time e.g. retrospectives, gaps in sprints, etc.
  • A culture of promoting learning over busyness

Some ideas for cross-team learning:

  • Holding “Lunch and Learn” events where teams get together in an informal session to discuss a particular topic
  • Cross-team retrospectives
  • Embedding team members i.e. having a team member from the team that is sharing temporarily sit with the team that is learning

chef The last part of the keynote dealt with the “chef”. The chef is the person who ensures all the ingredients are available for the soup and continuously tweaks them to ensure the soup is as tasty as possible. In traditional organisations, we used to call this person or persons “leaders”. Leaders are not there to tell the team how to solve the problem. They are there to ensure that the team environment contains the ingredients for autonomy and alignments.

Leader chefs:

  • Create a shared sense of accountability
  • Enable teams to align their decisions to company goals and with other teams
  • Ensure that decisions can be made through transparency and clear ordering of priorities
  • Create slack

My main take-outs were:

  • Intentional rather than accidental decisions
  • Scaling needs autonomous teams that are aligned
  • Some cool ideas for creating top-down goal alignment and transparency
  • Some cool ideas for creating peer-alignment and transparency
  • The role of leaders in an Agile set-up

What were yours?

 

https://sketchingscrummaster.files.wordpress.com/2016/08/hendrik-kniberg1.jpg?w=648

With thanks to sketchingscrummaster.com