Category Archives: Agile

Agile Principles Constellation – A Retrospective

Have you ever wondered if what you are doing is “agile?” Sometimes the work you’re doing doesn’t feel like it has much “agile” to it, especially if you are being asked to do a specific set of work in a specific time frame. Damn you, iron triangle!

Agile Principle of the ManifestoYour workplace isn’t “agile” or “not agile.” Certainly there are parts of your organization that will be aligned with agile principles, and there are some aspects that are likely not. This retrospective is designed to explore your organization’s alignment as it relates to agile.

Here is the outline of the retrospective. Feel free to adapt it as you see fit. If you do adapt it, please let me know what changes you made.  If you use this retrospective, I would like to hear how it went. You will note that the general flow for this retrospective matches the outline in the book Agile Retrospectives – Making Good Teams Great by Esther Derby and Diana Larsen.

Set the Stage With One Word Check In

One word check-in. Consider something like “how did the last sprint feel?” This gets everybody to talk at least once.

Gather Data Using a Constellation

The constellation exercise is a way to visualize the degree to which people feel a principle is present or absent from their work. Here is how to conduct this activity:

The facilitator reads one principle out loud, and then places it on the floor near the center of the room.

People then position themselves relative closer or farther from the statement based on how much they feel the principle is present in their environment (e.g., team, organization, company, whichever you chose). If somebody feels it is strongly present they would stand close to the principle you placed on the ground. If somebody feels it is not present or “anti-present”,  they would stand very far away.

Give people a moment to observe the pattern and perhaps jot down anything they noticed.

Pick up the principle you just used, and move on to the next one. After all twelve principles have been read, move on to generating insights.

Generate Insights

Ask people what they noticed about the constellations that took place during the Gather Data activity. Some question you might consider include:

Which of the principles were strongly present? Which were strongly absent?
What similarities or differences did you notice about those principles?
Which had the most disagreement amongst the group?
Which had disagreement by role?
Which had some individuals who felt differently than the majority of the group? What unique perspective might those individuals have?

Decide What to Do and Closing

I would encourage you to determine what kind of activity makes sense for your team to use for the “Decide What to Do” and “Close”. If you want to get more options for these phases, jump on over to the Retromat and give it a spin.

Retromat Screenshot

Background on some of the decisions

Why did I choose to do all twelve principles before generating insights?

I didn’t want to do a deep dive on each of the principles. I was more interested in having the team see the constellation that formed for each principle, and then generate insights on a subset of the twelve.

Why did I choose not to do a constellation based on the “left side versus the right side” of the Agile Manifesto itself?

Certainly, you could create an activity around the values in the Agile Manifesto. However, I have found that the values of the manifesto are a little too vague for this type of conversation. While the principles are more specific, they are still general enough to generate deep conversation.

Preparation and Supplies

Plan to use a room that is fairly open, leaving enough room for people to move about freely.

In preparation for this retrospective, print out each Manifesto principle on its own sheet of paper.

Have a note-card for each individual participating, so they can make notes about their observations. Maybe pre-print each Manifesto principles on a separate 3×5 or 4×6 card for each person.

Conclusion

It is very important for individuals, teams, and organizations to explore the principles behind how they operate, and not simply follow the rules of the framework-du-jour. The goal of this framework is to explore those principles. Please feel free to add your thoughts.

To Inspire Teams, Forget Goals. Define Purpose.

Howard Schultz on PurposeWhat’s your team’s purpose? Is it a real purpose? Whose life is better because of what you do? What pain do you relieve? What new reality do you make possible? Who would notice if your team stopped delivering? If you easily answered those questions, congratulations. If not, you are like a lot of teams. Many don’t have a connection to a real purpose.

A lot of teams simply have goals. Maybe you are working to improve code coverage with automated tests. Maybe you want to increase code quality, reduce defects, or pair program. Those are worthwhile goals, but they are not purpose. Here is how I see the difference between goals and purpose:

Goals provide a target.

Purpose provides inspiration!

Failing to meet a goal leaves people feeling deflated.

Working for a real purpose gives a rallying point when times get tough!

Goals are used for evaluating individuals.

Purpose is about changing lives!

I hope you see the value in having purpose. For those teams that don’t know their purpose, how do you uncover it? Try these suggestions to help you identify your purpose:

Imagine –This is perhaps most appropriate when you are starting a new venture. How do you see the purpose of the organization? If you can be clear about the purpose early in your team or organization’s life, it can be used as a filter against which to test all the ideas and opportunities that come at you. It will help you say the most important word in the world: “No!” Having a well-defined purpose helps you stay focused and not get distracted by opportunities that don’t fit.

Interview customers – Talking to a customer can have a profound impact on how you see your team’s purpose. What did they struggle with that led them to your product or service? Ask them how you make their life better. Why do they use your product? If the product were no longer in existence, how would their life be less well off?

Visit your customers where they use your product – Interviews can be helpful, but sometimes people are too close to the situation to really see what is happening. When you see your customers “in the wild” you may end up with insights you didn’t have before, and notice behaviors they exhibit that they weren’t even aware of.

Business model canvas – The Business Model Canvas is a convenient way to collect information about how your business operates. There are two aspects of the canvas that apply to the topic of purpose; the Value Proposition and the Customer Segment portions. These will help you articulate what makes you unique from other groups, as well as identifying for whom you are providing that value.

Don’t be efficient about it – All too often, in the name of efficiency, I have seen too few people involved in activities like customer interviews, site visits, and wrestling with the business model canvas. I challenge you to engage the whole team in these activities. You  will get deeper insights when you compare what people saw and heard. You will definitely create a deeper connection between the team and the purpose they saw. Be inefficient, and prepare to be surprised at the positive results.

You might know, but your team might not. How can you help the team to really make the purpose part of their conscious?

Talk about it – Whether you are a team member or a leader, it is important to have a dialog about the purpose of your work. You might have said it before, but there is so much communication noise that it is likely people forgot, especially if it was lost in management mumbo jumbo. Just saying it once is not enough. Invite conversation with your team about the purpose. How might they see it differently? Talk about it, and then talk about it again. There is value in keeping it in the forefront.

Make it relatable by telling a story –Humans have, for millennia, told stories. We are wired to remember stories. PowerPoint slides with bullet points are no substitute for a true story of connection. Ditch the slide deck, and practice telling and rebelling the story. And remember, the good stories need to be told repeatedly. If you don’t have a good story to tell, go see your customers and find the story.

Make it visible – When somebody walks into your business or team area, what do they see? Is it obvious what your purpose is? If not, it is time to do some redecorating. Create visual reminders about the team’s purpose. Make them personal. Do not have eagles soaring over still lakes with motivational phrases on the bottom. Have something that is specific to your team and it’s purpose. Keep the visuals fresh. Don’t let them become wallpaper.

So, ask yourself: Does your team have a goal or a purpose? Goals are, perhaps necessary. Purpose is inspiring. If you find your team has only goals, dig deeper. Identify the purpose for your team’s existence, and unlock the possibilities!

Take a Trip to the Principles Office

Agile Principles PresentationUnderstanding, and embracing, the agile principles is fundamental to becoming Agile. That is why I chose to present my session “take a trip to the principles office” at the Agile and Beyond conference in Dearborn, Michigan. I want to encourage people to consider the principles as they encounter novel situations and work to determine their best path forward.

The presentation Take a Trip to the Principles Office is available for download as a PDF.

The Take a Trip to the Principles Office worksheet is available for download as a PDF.

If you are interested in the journey lines activity, you can find that on the Coaching Agile Teams site.

The Challenge of Getting Components Working Together

Will the components work together?If you take a large, complex process, break it into components, give separate components to different software team, and then recognize teams for their completion of individual components, you run a risk that when you stick all the pieces together that it won’t work. So, if you are in a component-centric delivery teams, what can you do to help have the best chance of producing a working solution for your users? I’d like to share three tips for giving your team the best chance to build a working solution.

First, make sure that folks are vigilant for the functionality of the whole system. You might opt to have a separate team be the watchdogs for the system, but ideally it is everybody on the individual teams, too. Building a complete system requires a mindset for thinking about the whole, even when working on just a part of it. Without a mindset for the whole, it will be impossible to do anything to retrofit the quality into the work product.

Second, once folks are vigilant for the system as a whole, the next simplest thing to do is to make sure that each team is engaging with the teams that are “upstream” and “downstream” from them. Individual component teams should make sure that the adjacent component, those that you consume or the team(s) that consume the results of you work, work together as intended. Engage those teams to identify the points of interaction and define the behavior that each side expects. It is important to have a conversation that goes deeper than just what the structure of the data is going to be. Be sure to agree on what the data is going to mean, and what the anticipated behavior is going to be based on the data. Once you agree on what the structure is, and the behavior that will be driven from it, you can “mock” the interfaces, creating a dummy interface to work against until the actual system to interface with is in place.

The third bit I would like to share is to move toward an end-to-end suite of automated tests. Consider defining the tests that need to pass before you build the system. Then, you automate the tests, and components are only “done” when the tests for the whole process pass. The test-first approach forces the conversation about what should happen in the system, versus trying to catch all the things that do happen. This type of change will not happen overnight. It takes time and technical skill to put it in place. But, you have to start somewhere, and work toward a robust framework for components to be plugged into.

So, in summary, here are three important elements to have a complete quality picture for your product

  1. Build awareness and a mindset in team members
  2. Get teams to coordinate with the teams who build components that need to be interacted with
  3. Begin working toward test-first automated suites

Being good agilists, it is unrealistic to think that all the behavior will be implemented at once. Agree on the general plan for iterating toward the complete solution. Over time, you will build up a more robust, higher performing, system of people and technology.

5 Global Game Jam Lessons For Your Team

This weekend, I had the experience of participating in Global Game Jam at IUSB. How does an event like “Global Game Jam” relate to your work? Keep reading….

What is Global Game Jam

In short, GGJ is a weekend-long event that starts at 5:00 PM Friday and ends at 3:00 PM on Sunday. Within that 46 hours, participants form teams and each team creates a game that is based on an announced theme. The IUSB Global Game Jam event, in my opinion, an unqualified success. How did we go from largely a group of strangers to two teams that produced  I Dream of Oleg the Unicorn and Heart Maze? This post has some of those observations and some suggestions for your “real” work.

Observations

A Purpose – The goal of the weekend was to create a game in 46 hours. The goal was unambiguous. People who were not interested in supporting that purpose were not present. And we weren’t just a group of folks individuals that were “working.” The purpose allowed us to really get excited about what we were doing.

Embracing Diversity – The event, and fellow participants, welcomed participants who were interested in making a game. Period. Game creation requires a wide range of skills; music, art, software, testing, imagination, organization, and many more. We collectively found ways to contribute, and to encourage others to contribute.

Visible Work Plan at the IUSB Global Game Jam

Loose Organization – The work we had to do was made visible and tracked. A light-weight backlog was on a whiteboard, the name of the person who took on the task was next to the activity. Notice I didn’t say the person who was given the task.We made the work that had to be completed visible, and people took it on. We even had a local reporter for the newspaper hear that we needed the sound of a fish, and she offered up her heretofore under-appreciated “fish” sound to the cause. Loose organization creates room for people to contribute.

Effective Leadership – We had a leader emerge on the team. The leader kept the goal of the weekend in front of us. Ideas were welcomed. Some of those ideas made it into the game, and others were struck from the plan as the weekend went on. The presence of the goal and a leader who could help the team decide, allowed for prioritization of the various ideas.

Nothing says “light mood” like high-fiving unicorns with an explosion and rainbows! Thank you, Tim Bell, for the awesome art work on this!

Light Mood – I have participated in similar weekend-long events. One reflection on this event relative to the others is that I left Global Game Jam feeling fairly relaxed. While I enjoyed participating in the 2011 Grand Rapids Give Camp and local Startup Weekends, they seemed much more exhausting.  Don’t get me wrong; both Give Camp and Startup Weekend were excellent events. But, the mood was much lighter during Game Jam, despite having a similar weekend-long event with a hard deadline.

Make Your Work Jam

Take the lessons from Global Game Jam, and look for ways to apply them to your work, and improve the effectiveness of your teams:

  • Make sure that the team has a purpose, and that it is kept in front of the team. If you don’t know what the purpose is, go find it.
  • Embrace the diversity of skills and perspectives on your team, and celebrate them. People likely have hidden talents that will make your team stronger. Create space for those talents to emerge.
  • Keep the organization of the work as light as possible. Remove what is unnecessary. Overweight organization is both productivity-killing and soul crushing.
  • Build leadership skills on your teams. Build people who can help share a vision, and rally others around the common goal.
  • Keep the mood light, and the energy high. Whether you are a team member, a stakeholder, or a manager, help foster a lighter mood on your team.

In conclusion, I want to take a moment to appreciate the team: Adam Valdez, Andrew Kroepel, Blake Robertson, Charlie Guse, Jen Purdy, Matt Forsythe, Matt Neumann, Sarah Gradeless, and Tim Bell. Your spirit and talent made a busy weekend very enjoyable.

Agile Sustainability; Culture, Management, and Metrics

What are some keys to sustaining an Agile culture and organization? As part of our coaching, Susan DiFabio and I have been exploring sustainability as we iterate on our session for Agile 2012, entitled  “Keeping the Dream Alive: Keys to Agile Sustainability

As we prepared for the Agile 2012 workshop, we had the opportunity to share at the Agile Cincinnati June meeting. We promised that group that we would share some of the references that we used when creating the workshop. Those references are:

Corporate Culture

The Reengineering Alternative” by William E. Schneider
This book describes the model of corporate cultures that was referenced in the presentation.  It goes into depth about how the research was conducted, how the model emerged, as well as examples and opportunities for how to use this knowledge to help organizations leverage their strengths.

Metrics

Measuring and Managing Performance in Organizations” by Robert D. Austin
Based on his doctoral thesis at Carnegie Mellon University, the author presents the reader with many insights on what actually happens when humans are measured as part of an organizational system.  Robert Austin’s book includes information from interviews with eight software measurement experts who represent a variety of opinions.  “Measuring and Managing Performance in Organizations” provides important information for anyone who is trying to use measurement to guide organizational decision making.

Management

Building Effective Teams: Miss the Start, Miss the End by Esther Derby
Esther is a thought leader in the area of organizations, team dynamics, and leadership. This blog post describes the manager’s role in creating an environment in which teams can become high performing. Susan and I have seen teams that have struggled, at least in part, because they lack the foundational elements of “real team” and “real purpose.”

Summary

To be agile, it is important to think well beyond the ceremonies and roles of a particular agile framework. We hope that this list of references helps you explore the topic of Agile Sustainability in more depth. We would also welcome you to let us know what materials you would recommend people study on this topic.

Lastly, thank you to everybody who attended the workshop in Cincinnati. We look forward to sharing with folks on Thursday afternoon at Agile 2012.

5 Ways to Keep Your Fishbone From Stinking

Do you have a tough problem you are trying to solve? Consider conducting a root cause analysis using a Fishbone Diagram. Here are five tips that can keep your analysis from stinking:

1. Have a sharp problem statement

Get this wrong and you’re wasting your time. Focus on one specific, observable problem. Think about ways you could measure the impact of correcting your problem statement. If the problem is measurable, there’s a good chance that you have a problem statement that is ready to be analyzed.

2. Find the right people

A former manager of mine use to say “availability is not a skill.” Get participants who will have the context and experience to generate quality insights. Make sure you get a diverse group of participants that will view the problem statements from a variety of perspectives.

3. Make time for it

Like so many things in life, the objective is not to rush through the activity. Schedule enough time whereby participants do not feel rushed. Do the analysis in one contiguous block of time. Make sure that participants are giving their full attention to the matter at hand, and that they are not disengaging either physically or mentally.2

4. Make it Visible

Be vigilant for conversation that is not captured in writing. A team can easily get into a dialog about the problem’s causes and forget to capture insights that are mentioned. Don’t let potential causes get missed. Make sure that all the participants have a pen and encourage them to write their observations on the diagram. If you hear a cause mentioned that isn’t captured, stop the conversation, get it written, and then go on with the analysis.

5. Get a Facilitator

Last but not least! Find a neutral party that has facilitation skills that can engage with your team. A facilitator will be focused on the mechanics of the activity, allowing participants to immerse themselves in the actual problem that they are trying to solve. A facilitator is instrumental in helping bring out the voice of all the participants, and can guard against the conversation going down paths that are not focused on the stated problem.

Summary

Using a Fishbone Diagram to visualize a root cause analysis session can yield powerful insights. Give your efforts the best chance of success by setting it up with a solid problem statement, and investing in facilitation to shepherd the team through the analysis.

Please share your thoughts on what helps or hinders the effectiveness of a root cause analysis.

Additional Information

1. A Fishbone diagram is the result of an analysis in which a team of individuals articulates possible causes of a specific problem statement, and then enumerates the possible causes of that cause. The individuals involved continue to do this activity recursively until they identify candidate root causes. The visual that results from this analysis will take on a fish-like shape.
2. Esther Derby and Diane Larson have some ideas on how to “Check In” in their book Agile Retrospectives: Making Good Teams Great. The book is definitely worth buying. Make sure people check their distractions at the door, and that you have the attention required for the activity.

Agile Sustainability

What makes an organization that has decided to “go agile” one that is able to sustain the transition?

This week, Susan DiFabio and I presented on the topic of Agile Sustainability to the Chicago Agile Project Manager Meetup. The objective of the presentation was to have people leave the presentation with some ways that they could take action to make their Agile environments more likely to be sustained.

Click below to download the presentation and speaker notes.

Agile Sustainability

Activity Bingo – Make a game out of promoting cross-functional behavior

Are siloed activities hampering your Agile team’s ability deliver work within an iteration? If so, consider encouraging more cross-functional activities. But, how do we make that happen? Let’s start by making cross-functional activities visible, and making it fun. We can set it up as a Bingo game.

Setup

Create a table with each team member’s name on the left column of each row, and the activities required to deliver the iteration work at the top of each column.

Make the charts big and visible. The more aware team members are regarding how they stand, the more motivated they will be to fill in the gaps.

Now let’s play the game

During the iteration, track the types of work that each team member contributes to meeting the overall iteration goal. To track the contribution, simply put a mark at the intersection of the activity and the person’s name. At the end of the iteration, look at the pattern that has shown up on your Activity Bingo board. If you are like some new Agile teams, the grid starts out sparsely populated (a holdover from siloed organizations).

Horizontal Bingo

As team members increase the number of ways in which they contribute to the team, your team may score a horizontal BINGO.

Vertical Bingo

Similarly as more team members swarm on specific activities and you develop real depth on the team, you may score a vertical BINGO.

Speed

If you want to try to build on the game, consider seeing how early in the iteration the team can end up with either a row or a column filled up.

Celebrate

Be sure to recognize the team’s accomplishments toward being a more effective team.

What techniques have you used to foster cross-functional behavior?

A special thank you to Susan DiFabio, Agile Coach, for co-authoring this blog. Thanks, Maria Matarelli, for your assistance in naming the game.

p.s. Check out another article on Agile teams, tasks, and limiting WIP.

Is Kanban really Agile?

Short Answer

Honestly, it doesn’t matters. If it helps an organization create value for its customers in a way that allows employees to experience freedom while solving challenging problems, it doesn’t matter what label the method carries! But, that would be too short a response.

Longer Answer

One way to decide if something should wear the label “agile” is to look at how it reflects the values stated in the Agile Manifesto. Of the Agile Manifesto statements, this is how Kanban values the “items on the left” over those on the right.

Individuals and Interactions over Processes and Tools

The visibility that Kanban provides to teams is a key contributor to facilitating interaction amongst individuals. The kanban board gives visibility to impediments that individuals are encountering makes resolving the impediment of prime importance.

Unlike Scrum, Kanban does not explicitly encourage generalization of skill sets. While Kanban does not force you to have a role for every queue, it is often easy to start by mapping the roles to queues and then inspect the bottlenecks and address those by helping the team develop more generalized skills.

Kanban is not a tool or a process that supersedes the importance of the individuals and their interactions. Yes, Kanban provides a lot of metrics that can be used to inform planning. However, the metrics are to facilitate interaction among team members, between team and stakeholders, and between team and customers.

Working Software over Comprehensive Documentation

When using Kanban to produce software, there are specific characteristics of Kanban that allow you to value working software over comprehensive documentation; small batches, WIP limits, measuring and managing flow. Perhaps your workflow will have a step or steps related to creating documentation.

Kanban does not prescribe working software, other than through mapping your value stream. If the last step in the value stream is working software, you can use Kanban as a tool to make sure you do that.

Customer Collaboration over Contract Negotiation

Kanban encourages customer collaboration through the prioritization of the backlog. Prioritization of the backlog is an ongoing process. Agile Kanban practitioners often use user stories or minimal marketable features (MMF). Use of either of these approaches supports customer collaboration in creating those items. The person who provides the detail on the stories or MMF is also available to the team to respond to questions.

As in Agile, daily standups are also present in Kanban. Unlike Agile, only people with issues speak in the daily standup. The standup meeting is an opportunity to speak up, whereas in Agile the traditional “three questions” are often present. This gives the team an opportunity to elevate issues to the Product Management representative’s attention, allowing them to be a partner in the process.

Silver Bullet Policy (see slide 20 for a brief overview) allows the customer to swap out an extremely high priority item for the current work in progress. There needs to be a swap so that WIP limits are not exceeded. Silver Bullet Policy may never be used, but can give the business the feeling that if there is an emergency, they can use this policy.

Responding to Change over Following a Plan

Agile teams often plan on a regular cadence. In Kanban, planning events can be triggered on an event. For example, your team may have a rule as follows: When the backlog backlog has dwindled to ten stories, a planning event will be held.

Unlike Scrum or XP, where the teams try to identify a piece of stability to work on for a period of time, Kanban allows the team to re-prioritize the backlog at any time and take something new off the backlog. This allows the team to respond to change sooner than if they were locked into a set sprint duration.

Summary

While Agile is primarily focused on software, Kanban is more focused on developing a lean organization . In fact, the business-oriented language that surrounds Kanban may make it an easier Agile model to embrace than Scrum.

While an organization or team can claim to be using Kanban and use it in non-agile ways, that will not be the case when done well. If the team and management use visualization, set WIP limits, and iterate on the value stream, Kanban is an excellent option for Agile teams.

Find More Information

There are lots of excellent resources on Kanban. My favorite reference is a book called Kanban – Successful Evolutionary Change for Your Technology Business. Thank you, Eric Landes, for loaning me your copy for a while. For further reading, check out the InfoQ version of the Kanban and Scrum Book.

A special thank you to Eric and Susan for co-authoring this blog.

Susan DiFabio, Agile Coach

Eric Landes, Agile Coach