Skip to main content

Posts

Showing posts from 2014

How many people do you need in your team?

How big should your team be? It depends on what your goal is. In my classes, I have been showing the relationship between project size, cost and calendar time forever, based on research I had read, but could no longer find. Well, I think I have found the source, a 2005 paper from Team Size can be the Key to a Successful Software Project.

How big should your team be? Well it depends on what your most important goal is:
If you are trying to keep costs down, a team size of 3 people or less is optimal.If you are trying to get a result as quickly as possible, a team size of 5 to 7 people is optimal.If you are trying to hit a budget or deadline as accurately as possible, again a team size of 5 to 7 people is optimal.If you are trying to burn a large budget, team sizes of 9 and up are best. These effects appear to be exponential. Is item 4 really a goal? Nevermind. Silly question.
I think this data explains the Guidewire approach of keeping teams between 3 and 6 people. In effect, this has th…

Why are you doing Scrum?

I am often asked questions like, "What do I do in Scrum when my team is spread across three locations?" My answer is usually something like, "you will suck." "Don't tell me that! That's insulting! I have to do that." At this point, I smile to myself and think, "that may be true, but you will still suck."

Why do I have conversations like this?

Last week, a got a question about electronic task boards. I could smell another one of these 'yes, but' discussion starting, so I chose to answer the question with a question: Why are you doing Scrum? I drew this picture on a flip chart and invited the participants to put dots on the location corresponding to their (organization's) goals:


Most dots were to the left of middle, the low performance choice, which explains why people did not like the high performance answer.

Scrum is based on the patterns of the 95th percentile of project performance, i.e. those awesome teams that are 3 to 10…

What is the Agile Way to Adopt Agile?

 just posted an interesting question on the Stoos linkedin group. "What is the agile way to adopt agile?" Her answer did not resonate much with me, so I'd like to share how I start a company down the agile path.

Agile is about people, both the people doing the work ("People and Interactions over Process and Tools") and the beneficiaries of the work ("Our highest priority is to satisfy the customer through early and continuous delivery...."). I believe people's own experience makes the most convincing arguments.

So I start by asking the people involved what has worked for them in the past. I ask them to remember their best projects and share the stories of those projects with other people in the room. (See Remembering Heaven for a description of how I do it). After hearing everyone's best projects and identifying the most promising role models for moving forward, we reflect on the patterns that made those projects successful.

Most peop…

Tackle your organization impediments with 59 minute sprints!

As a comment on "How much do you let a new team self organize?" IanJ asked
Why are 59-Minute Scrums cool and what are they good for? The 59 Minute Scrum has been a popular training exercise for years in the Scrum community. The team gets a problem to solve, and goes through a "simulated" sprint to solve the problem. You get to experience real Scrum in a safe environment.

Fifty-nine minute sprints are an excellent learning tool because so much happens in such a short time. Everything that goes wrong in a real sprint can happen in a 59-minute sprint.  They are great for problem solving!

In my classes, I usually simulate a 3-day sprint, using 5 minutes for each half of the Sprint Planning and the Sprint Review, 12 minutes for each day, and 4 minutes for each daily scrum. If you add it up, it comes to 59 minutes. Each Scrum Team has a Scrum Master, a Development Team and a Task Board. Depending on the context, there may be one Product Owner for all the teams in the roo…

On the road to high performance teams

I have been thinking about continuing education for Scrum Masters.

The objective of a Scrum Master is to create a high performance team, which is in turn part of a high performance organization. So both team and Scrum Master must develop their skills moving forward. Just facilitating the Scrum meetings won't get you there.

The Scrum Alliance has defined the Certified Scrum Professional (CSP) program. This is the journeyman-level Scrum certification (think Apprentice -- Journeyman -- Master ). This certification is not achieved by passing a test, but rather by demonstrating a commitment to Scrum by doing Scrum and learning about Scrum.

How do you achieve the continuing education needed to achieve journeyman status? My answer is the Scrum Breakfast Club. The Scrum Breakfast Club is an inexpensive, recurring open-space format for solving problems related to Scrum and Scrum Projects (and learning advanced Scrum as you do). You bring your problems and find solutions, with …

Getting Starting on #POcampCH -- the Product Owner Camp Switzerland

Today, the organization team for the first Product Owner Camp in Switzerland, held its first telco. Here is what we decided:
Our target date is March 2015, the alternative is June, 2015.The open space will be held on a Friday and Saturday.We want to hold a Product Owner Masterclass, one or two days before the Open Space event.The audience is experienced Product Owners, Agile Product Managers and Lean Startup Practitioners. This is by practitioners for practitioners, not for beginners.The event is not profit oriented. We are going to get together on skype roughly once every to two weeks to take the event forward. We are thinking hotel in the mountains, we will start exploring possibilities once the constraints for the workshop are defined. 
We have created a backlog to organize our work: Our first objective is the find a leader for the MasterClass, reserve some dates, and start working on the website. After that, priority will be the venue...

Several other people expressed an in…

How much do you let a new team self organize?

I have a team of 11 developers and 3 Product Owners. Their ideas about how to organize the team are all over the place. Some want to do 1 week sprints. Others want one month sprints. And we pull in resources people so we can get the right velocity to meet our deadlines. This seems like a mess. How much should I let my beginning team self-organize? -- recently asked on a Scrum Discussion Forum.     Modifying a complex technique before you have mastered it is a failure pattern. So when you are just getting started, try to get as close to Scrum by the book as you can, without obsessing over it... much. I call this Pretty Good Scrum(tm). ;-)

Yes the team self-organizes... and the Scrum Master is charged with teaching the team and helping them improve. When the team is just getting started, it should follow the lead the of Scrum Master, and the Scrum Master should stay close to the book. As they get better, they'll be better able to inspect and adapt themselves.

Successful teams learn…

Pair & Share - a simple technique for Sprint Planning

How do you get the team to plan tasks effectively? The second half of sprint planning is often a challenge for teams starting Scrum. It used to be their Project Leader would do the planning for them. Now the team has to figure it out for themselves! (Doesn't the Scrum Master do that? No!) How can you as a Scrum Master encourage your team to plan the Sprint effectively?

Many teams have difficulties doing task planning before they have thought about the technical concept. To address this challenge, I have a strategy I call "Pair and Share".
Preparation Good preparation is half the battle. This means that coming out of Sprint Planning 1, you should have a selected product backlog ("forecast") that consists of reasonably small stories. Six to 10 items in the forecast is a sign that the stories were small enough (assuming it is a good forecast).

Your team has had the conversations with the Product Owner, the Stakeholders, other Subject Matter experts, etc, and the …

Frameworks considered helpful

Jurgen Appelo recently wrote:

I know of no industry in the world that is as infested with methods and frameworks as the software business. Whether it’s RUP, XP, Scrum, AUP, DAD, or SAFe, it seems IT businesses are always looking for yet another method or framework that they can “implement” next month.
As a retailer, how often do you come into contact with filmmaking? Not very often. How often do you come into contact with road building? Except when you are stuck in traffic due to a construction site, not very often.

How often do you come into contact with IT? Every business comes in contact with IT. Whether to sell on online, automate processes, manage work, or whatever, every IT and software are everywhere. And IT projects can be extremely complex and failure is quite common.

And IT is so widespread, there aren't enough experts to go around -- or why does Jurgen tour the world to promote his book and his framework, instead of working with individual companies to help them improve…

Scrumbut, or What could you omit from Scrum?

Jelle van Wieringen recently wrote on LinkedIn:
Next Monday in Mannheim, Germany we will discuss Scrumbut in our open monthly "Scrum Stammtisch". This months topic is the consequences of leaving out elementary elements of Scrum. I'd like to know what [people] think... As perhaps the first person to ask people to take the Nokia test in public, I feel a little bit responsible for the creation of the term "ScrumBut." Is it OK to change Scrum? Certainly there are situations where necessary, and others where it's not OK (and probably some overlap between the two!), so here is my take on changing Scrum:

The core of Scrum is really very small. Inspect and Adapt. At regular intervals. Everything thing Scrum is designed to enable effective inspection and adaptation at regular intervals.

To me, Scrum represents a solution to the challenge of solving complex problems based on those simple principles. It's a reference implementation. You'll never do it exactly …

Z is for Zukunftstag (#AgileFutureDay)

Agile is changing the world, but our schools are still preparing kids for the way world used to be. Would you like your kids to learn the ways of the future?

Thursday, November 13, 2014 is "Future Day" in Switzerland. Originally conceived as "Daughter's Day" to encourage fathers to take their daughters to work to experience non-traditional jobs for women,  it is now an annual opportunity for kids, usually in the 6th grade to get a day off from school so they can experience their parents at work and get a first taste of the real world.

My oldest attended one of my courses a few years ago (her insights were stunning, says the proud father) and this year, I will invite my youngest to attend.

Wouldn't it be cool if kids everywhere got a chance to experience the world of work, the way it should be? I'd like to call on trainers everywhere to invite the middle school aged children of their participants to join in their Agile, Lean or Scrum trainings on Novembe…

A is for Agile... and changing the world

We are uncovering better ways of developing software, by doing it and helping others to do it...

-- The Manifesto for Agile Software Development 
In 2001, seventeen people signed a 73 word statement that changed software development forever. Before: a bunch of guys doing "lightweight project management." After: a set of values which coalesced into a name, "Agile" and later into a movement. People identified with the values and transformed their working worlds with things like Scrum, Extreme Programming, Kanban, Lean Startup, and still other ideas and frameworks we haven't invented yet.

As we got better at developing software, we discovered the need for better ways at lot of things. The Agile movement inspired DevOps, which is looking for better ways to operate computer systems, and Stoos, which is looking for better ways of management. Soon, maybe scientists will look for better ways of conducting research, and maybe you will look for better ways of doing what…

Can you recommend a virtual task board?

The participants of my last course had a lot of questions about working with distributed teams. What tools do you need to work with distributed teams?

I developed echobravo with a team from Brazil. As product owner, I was located (mostly) in Zurich. My team was in Maringa.

One aspect which encouraged the trust between myself and my supplier was the use of a cloud-based source code repository like bitbucket. Knowing that I had access to the source code in the event a dispute took a lot of the worry away from the collaboration.

We found "Web 2.0" tools like Google Docs, Google Hangout, Dropbox and Skype to be essential for collaboration. You can communicate with each other, share screens and access common files, e.g. definition of done. I liked Skype better than hangout for convenience, especially the ability easily recall old chats, but Google Hangout has better video and screen sharing (an extra cost feature on Skype).

In my experience, proprietary tools introduce cost which…

XM Principle 10: Partner Patterns

Deliveries often rely on third party suppliers, and often they are not yet able to deliver a new product that meets our new specification within a single sprint. So what can we do in order to go from an idea to a new product or service in a customer’s hands in less than 7 days?

WIKISPEED first designs a wrapper, usually a plate of aluminum with pre-defined bolt patterns, around the third party supplied part to create a known “interface” that won’t change, even if that third party part changes. You might see how this is enforced by principle 2: Object-Oriented, Modular Architecture and 4: Contract-First Design, and then sped up by principle 6: Agile Hardware Design Patterns.

Once each third party part is wrapped in a known interface, you can iterate between suppliers and in-house prototypes or volume parts at very low cost. The only marginal cost is that of changing the wrapper itself.

Then, to expedite suppliers, ask them to deliver a certain set of performance characteristics as oppo…

XM Principle 9: Scaling Patterns

XM scales as Scrum scales, by adding teams. Coordination can occur through the Product Owners, Scrum Masters or Team Members, depending on the scope of the issues involved.

When multiple teams work on the same module, they each own a sub-module, which will require another finer pass of Contract-First Design to create interfaces for sub-modules before those teams can be created. For example, within the engine module there is the fuel system module, the engine electronics module, the exhaust system module. Each module has an interface that loosely couples it the other modules and clear tests of their value and technical excellence.
Creating Teams Applied at WIKISPEED, the first design decision is the fundamental architecture of the product being created, in their case a car. What are the main modules, e.g. engine, body, drive train, cockpit, etc., and what are the interfaces between them? Once the modules have been identified and the contacts between them created (see XM Principle 4: Co…

XM Principle 8: Continuously Deployed Development

Extreme Manufacturing requires going from an idea to a deliverable, working product or service in 7 days or less. How do you produce a new design in volume in such a compressed timeline?

Let's look at how traditional companies address the problem of new product creation: When a traditional car manufacturer designs a new transmission, they build a new factory.  Step one is to negotiate with various political districts for optimal conditions, e.g. access to roads & power, conditions for taxation, etc. Then they acquire the land, build the facility, hire and train the workforce, and configure the line. After many years of preparation, their customers can finally order a product for delivery.

How do you compress years of lead time down to a one week delivery cycle?

This Principle involves making the mass-manufacturing line flexible, so it can produce different products within a 7 day sprint. These products might be existing products, modified products or completely new products.

A…

XM Principle 7: Continuous Integration Development.

WIKISPEED has team members contributing in 20+ different countries, any time of the day, with variable availability. How does they produce a cohesive, salient product? The answer has two parts, the first part is about engineering practices, and the second about how to scale.

At the engineering level, Extreme Manufacturing employs Continuous Integration Development (CID) to run their test suite frequently (see principle 3, Test Driven Development). Continuously Deployed Development (see principle 8) ensures a tight collaboration between product creation and product manufacturing, so the goal of never being more than 7 days from releasing an improved product can be achieved.

Continuous Integration Development (CID)  ensures that the test suite is automated as much as practical, so that every time a team member sends in an updated design, an extensive test suite is run automatically.

Every time a team member uploads a new 3d drawing to DropBox, Box.net, Windows SkyDrive, or any of the fi…

Call for Participation: Product Owner Camp Switzerland #POCampCH

Following the fantastic Swiss Agile Coach Camp, I thought it would be cool to organize a similar event around of Product Ownership. I put out a tweet and got some good resonance (so much that it is now difficult to keep track of everyone who responded),

The Product Owner Camp in Switzerland #POCampCH will be a 2 day open space event. It is a non-profit community event and this will be reflected in the prices.

I expect it will be held during the first or second quarter of 2015, that it will be in some nice location in the mountains, or at least away from a city, and I expect there will be one or more some optional workshops on Product Ownership around the event.

With this call for participation, I am looking to confirm these expectations, find out who wants to come, who is willing to contribute, and get some guidance for key decisions about the venue and possible non-open space program (workshops or courses).

Are you interested in participating in or organizing the open space Product O…

Scrum Framework, or how do you do Scrum?

Last post I wrote, "Scrum is a simple, team-based framework for solving complex problems." How does the Scrum framework actually work?

Scrum is modelled on successful patterns for product development. The classic phase-driven approach, or "relay-race model" was found to be less effective than the team-oriented, "rugby model", in which an interdisciplinary team solves the whole problem together, without explicit phases or formal leadership roles. (See "The New, New Product Development Game" at HBR for the research which inspired Scrum).

The Scrum Framework The Scrum Framework ensures the core principle of Inspect and Adapt can take place at regular intervals. To achieve this, Scrum introduces a few constraints on the development process:
Time-boxing triggers inspect-and-adapt cycles. So a Sprint is time-boxed to four weeks or less.An interdisciplinary Development Team solves the problem. Outsiders do not tell the Team how to organize or do its wor…

What is Scrum?

The Scrum trainer and coaches community is working on a revision of Core Scrum. It is a passionate group, and each member feels passionate about Scrum. Not surprisingly, there are (at least) as many different understandings of Scrum as there are members of the community. This discussion inspired me the think about what does Scrum mean for me?

My goal is that each project I work on should be the best project I ever worked on. Each project should achieve great results. Scrum helps me achieve both goals.

What follows is my view of Scrum. It is the vision I try to pass on in my courses and the vision I try to live in my own projects. I hope it is also the start of an interesting conversation!
Introduction - What is Scrum? Scrum is a simple, team-based framework for solving complex problems. Scrum is a framework for transforming your working environment into a much better place. Scrum is a mindset.

The core of Scrum can be summarized in two words: Inspect and Adapt. The roles, activities, …

Scrum in a Creative Context

As a "creative" i.e. a designer of things and ideas, not software, is it possible to come to great results that fulfils wishes, excites and comes to market quickly even under the atmosphere of big uncertainty that is characteristic for creative projects?

As a creative, you know the answer has to be "Yes!" Are the approaches that you are using to manage and plan work, create ideas, collaborate with the customer to make the ideas even more awesome, are these practices effective? If you have watched an episode of Mad Men, you know the answer is "No!" Want to find a better way? 

Learn, explore and find a better way with leaders! We are a small team consisting of Design Manager Sandra Islam, Roland Sailer, a partner of the branding agency NOSE, and Peter Stevens. We believe something like Agile and Scrum is going to become the standard approach for creatives.

Software development is a complex and creative process, which is often poorly understood by those ask…

The Three Faces of Done

How can you expect me to test it if it's not done?! I hear this question a lot from people just starting out with Scrum. What does it mean for something to be "Done" in Scrum?
Build the Right Thing, Build it Right, Build Enough Under Scrum, the objective is to produce a potentially shippable product every sprint. Scrum is an incremental framework, which means you achieve your overall goal incrementally. Each sprint, even each backlog item, produces an additional slice of the product. This slice is integrated with all previous slices into a whole. That potentially shippable whole is called the "Increment."

Everything that goes into the Increment has to be "Done" and the increment as whole has to be "Done." If it's not done, you can't ship it. So what does it mean for something to be done? That's what the Definition of Done is for.

The Definition of Done is an agreement between all the members of the Scrum Team: what does it mean …

Bring back the fun! Four tips for the Product Owner...

...when the market isn't buying your product
"Is it OK to pass on market pressure to my team?" This question came up in my last Certified Scrum Product Owner course ("Leading Innovation").  It seems that the company's development efforts, i.e. their products, had not been producing the desired effects in the marketplace. As a result, the finances were not looking so rosy, the investors were getting worried, budget cuts were in the air, and who knows what that means for people's jobs! The PO (recently converted project managers) wanted to put the teams under more pressure to perform, feeling it was both necessary and justified. Scrum says the teams are protected from undue influence, so we have a typical conflict between the classical approach and the Scrum approach.

So let's look at the this pressure, where it comes from, what to do about it, and how to best react to this situations.
Where is the pressure coming from? Most of the time, the market do…

Three things to like about SAFe

I have written skeptically about SAFe and other approaches to scaling Agile. Some people have written even more skeptically (see Daniel GulloRon JeffriesDavid Anderson, Ken Schwaber and Dave Snowden for examples). Last weekend, I was able to take a closer look at SAFe through the eyes of its practitioners, and to my surprise, I found three things to like about it.

The Swiss Agile Coach Coach Camp in Kandersteg was an amazing opportunity for top practitioners to learn from each other. I asked Matthew Caine, who had been doing some SAFe implementations, if he would take half an hour or so to explain the key principles, to which he readily agreed.

I really appreciated Matthew's candor on SAFe's purpose and limitations. SAFe is not for corporate IT environments. It is for (parts of) companies that produce big software products. If your organization is already agile, it will slow you down. So if you are able to deliver functionality at least every two months, SAFe will not hel…

How do you improve the waterfall with Scrum or Agile?

Many Project Managers come to my courses to find out whether Scrum and Agile are something for them and their for organizations. Sometimes the answer regarding Scrum is 'No.' What then? What can you do with the lessons of Scrum to improve your productivity if you're constrained to phase driven development? This is where the values of the Agile Manifesto can be really helpful!

Yvonne Horst, a Project Leader for Swisscom and recent CSM, just sent me a nice example (she also sent a nice recommendation for my course, but I digress):
"I would like to point out one idea. The usual staffing approach for projects in a non-Scrum environment is to send specialists into a project and have them produce the artifacts of the respective phase. At the end of the phase the artifacts are handed over to the next group of specialists, which makes it sometimes extremely difficult to ensure the know-how transfer over the whole lifespan of the project.

"The idea of the Scrum team with …

Agile Scientific Research?

We're doing research. We don't have a customer telling us what to build. Can we do Scrum? What do we put in the backlog? Sometimes questions get asked so often, that they just demand an answer! When a research group at the EPFL asked me to come and teach them Scrum, they also represented the fourth time this year that someone had asked me these questions!

Before we try to answer them, let's take a look at whether scientific research is similar enough to software development for the values and principles of the Agile Manifesto to really apply!
Science is Different, but Similar In a commercial environment, there is usually someone who understands what needs to be done. In Science, figuring out how things really work -- and excluding other ways that things might work but don't -- is the the core business. What they have in common is complex problem solving. The feedback comes from users in case of software development and nature in the case of science (though much scienc…