Need training, coaching, or help leading an agile transformation?
email: mike@cottmeyer.com or call: 404.312.1471

Monday, July 28, 2008

iPhones and Blackberries

So… if you happening to be following me on Twitter or Plaxo, you'll know that I just switched from a Blackberry to an iPhone. The Blackberry was a fixture in my life for many years. My six year old even knew what it meant to be Crackberry Addict and thought it was funny to give me grief over my addiction.

I am sure I am going through some sort of post-Blackberry traumatic stress syndrome. I may very well be dealing with a high-tech version of the shakes. That said, humor me while I share a few observations about this new iPhone and how it compares to the old Blackberry.

The latest Blackberry in my possession (I had 5 different models at one time or another) was Blackberry Curve 8310. The Curve is a very cool device. Great form factor and small with a full Qwerty keyboard. I thought it was a great device until I found out version 4.2 of the OS has a memory leak. After a few days of normal use, the device would start deleting my email messages. This is how the device is designed to behave when it runs out of memory.

It was impossible to use Telenav for more than a few minutes, Google Maps was problematic, and much to my chagrin I was unable to use Guitar Hero III Mobile Edition. That was the straw that broke the camel's back. No Guitar Hero III? What kind of crap is that!

After waiting for months for a patch I got fed up and started looking for other devices. Now that the iPhone has GPS and support for Active Synch it became a viable candidate and now I have a new iPhone. And by the way, my old Curve is listed on eBay. If you happen to be interested, and you might be after this post, you can click here to Buy It Now.

My overall opinion of the iPhone is that it is the coolest piece of consumer electronics I have ever owned. It is beautiful, the interface is slick, I love its seamless integration with iTunes, the audio is fantastic, the web browsing is great, and I can pour a virtual beer and pretend to drink it. I have not found Guitar Hero III yet, but other than that, what more could you ask for in a business device?

Wait a minute… none of that stuff I mentioned makes it particularly good for business. It makes it fun, it makes it cool, and it makes it neat, but it does not make it good for business. Your business might be different from mine, so who am I to judge. I do want to share with you a few things that the iPhone does not do that I think are going to kill it for the business user:

  • No ability to do a full text search through anything. That includes your address book, your email, your calendar, or your todo list. It is very fast scrolling through data and I admit maybe that should be enough. I miss full text searching
  • No ability to cut and paste. Someone told me that is supposed to be included in release 2.1.
  • No ability to invite a user to a meeting from the calendar. Sure, I have my calendar synched with Outlook but am unable to create a new invitation and ask someone to join me in one motion.
  • I miss the integrated mailbox of the Blackberry. I have to go to too many places to find new messages. SMS is in one application, email in another, instant messages in yet another.
  • It generally takes me about 6 clicks to get from one inbox (for work email) to another inbox (for personal email). I find that very frustrating.
  • Blackberry was able to push my personal email, no matter who my provider was. iPhone is selling push email but you have to do Exchange integration or use their MobileMe. Both work fine but I want to be able to push Gmail too!
  • Someone told me you could do background Instant Messaging but I have yet to see it work. I want to be able to be working in email and get an alert that someone is trying to message me. This could be a user training issue, but no one had to train me on the Blackberry.
  • Best I can tell, I am unable to tell the maibox to delete all messages, mark all read, mark all unread, or delete messages prior to a certain date. Not a huge deal, but seems it should be easy to implement.
  • eMail comes in its native format. If it is HTML, the message is HTML. If it is plain text, I get plain text. Rich text, I get rich text. That is cool… but… if the message is HTML sometimes the text is really small. In the Safari browser I can rotate the device and the screen will rotate. In the mail client this is not the case. My only option is to resize the message and then use my fingers to scroll around and read the message. Not so cool.
I also find the iPhone much harder to use one handed. Where this really aggravates me is when I am driving. I have decided that this is a feature that will probably keep me alive so I am going to give Apple a pass. I am using my iPhone much less on the road than I used my Blackberry. The Blackberry was so easy to use one handed, it encouraged bad habits. If you like to use your Blackberry while you drive, and you know who you are BCS, you might really want to reconsider this device.

One last thing... I find the virtual keyboard very difficult to type on. That said, the iPhone is excellent at figuring out what word I actually wanted to type, so this has been okay, but is not helping me get more accurate.

So… in summary:

The iPhone is totally cool. I am happy I have it and am willing to change how I think about mobile devices. If I were still in mainstream corporate America, I would not be able to use it. There is just too much basic business functionality it is missing to make it a viable alternative.

Subscribe to this blog Subscribe to Leading Agile

Saturday, July 26, 2008

The Agile Business Analyst

A few months ago I co-authored a white paper (with V. Lee Henson) on the role of the Agile Business Analyst.

That paper has finally made its way through editing, pre-production, post-production, marketing, etc. It is up on InfoQ and has already been downloaded over 1000 times. VersionOne is getting ready to get the paper out through more channels, including the VersionOne website.

If you are interested in downloading the paper, it can be had for free at InfoQ. There is an accompanying podcast that is up at Requirements.net. You can also find the podcast on iTunes.

Subscribe to this blog Subscribe to Leading Agile

Thursday, July 24, 2008

Announcing the APLN Atlanta Leadership Summit

"Leading the Agile Transition"
September 25th and 26th
Marriott Atlanta Perimeter Center
summit.aplnatlanta.org

We are proud to announce that the next APLN Leadership Summit is coming to Atlanta!

For the past few years, local APLN chapters have organized and hosted regional Leadership Summits. These events have been very well received and attract fantastic speakers and exceptional local thought leaders.

This is your chance to attend an Agile conference specifically designed to address the needs of the Agile community in Atlanta and the Southeast. Our speakers will discuss topics ranging from Product and Portfolio management to Agile Architecture and Metrics. Each speaker will present two talks, one geared toward the practitioner that is looking for tools and techniques they can use on a daily basis, the other toward leaders considering, or leading, a switch to Agile.

The summit is geared toward new and seasoned Agile leaders at all levels: organizational leaders, product leaders, development leaders, and project leaders. This is your chance to spend a whole day with some of the leading experts in the area of Agile Leadership, to network with with other agile leaders, and to share your experiences and concerns with those who are in the same situation as yourself.

The Dallas and Seattle Summits were a huge success! Next up is Atlanta!

The APLN Leadership Summit format includes:

  • Networking opportunities throughout the day
  • Speakers addressing how to lead their organizations to become agile.
  • "Think Tank" sessions on Agile Leadership with topics addressing advanced leadership tools, experiences, lessons learned, and issues yet to be resolved.
  • Networking social at the end of the first day to review think tank solutions and suggestions.

The APLN Atlanta planning committee has lined up an all star group of speakers and local Agile leaders. The conference is limited to 120 participants so you need to act now. If you are in the area, or able to make a the trip, the Atlanta Summit will be well worth attending.

For more information (including speaker bios and abstracts) and information on how to register, please visit the APLN Summit home page: http://summit.aplnatlanta.org

Subscribe to this blog Subscribe to Leading Agile

Wednesday, July 23, 2008

Understanding Real Options

I had the distinct pleasure of spending time with Chris Matts and Olav Maassen last week at the Seattle APLN Leadership Summit. It was a good time all around.

We explored the impolite topics of religion and politics and even shared an idea or two about Agile Leadership. Talking with Chris and Olav was the first time I had anyone sit down and explain to me the concept of Real Options. I was fortunate that I got to hear it straight from the guys that are driving some of the thought leadership in this area.

There is no better way to solidify a concept in your brain than to write about it and teach it others. I am no expert on Real Options but would like to see if I can share with you what I learned. Hopefully we'll generate some conversation along the way.

The concept of Real Options is very straightforward. It is so straightforward that you can summarize it on the back of a business card:

Options have value
Options expire

Never commit early unless you know why


Like most things that appear simple, I think there is a little more to the story, a little more that needs to be explained.

Options Have Value

An option is a choice. It is a decision to select one strategy over another strategy. To buy one product over another product. To build one feature over another feature. To decide on one course of action over another course of action.

Every choice we make has the possibility to yield a particular return on our investment. Our goal is to maximize the value that we derive from our decision making.

Our options, the decisions we make, have value. The interesting thing here is that it is not just the options we know about that have value, the options we don't know about have value too. We are generally pretty good at determining the value of the known options, but what about the value of the unknown options? That's just it… we can't know the value of an option that isn't there yet.

We need time to learn about what we don't know. We need time to understand the value of the unknown.

Options Expire

Options have value, but that value does not live forever, it expires. We cannot wait indefinitely to make a decision and we can't wait until we know everything. At some point in time, the window of opportunity for a particular option will close, and the value of that choice will no longer be available to us.

Our goal is to keep our options open until just the point they are ready to expire. We use that time to gather more information and to learn about new options that might present themselves.

Waiting to the last responsible moment, just before the option is ready to expire, allows us to make decisions when we have the most possible information available to us. Decisions cannot be held indefinitely... but they can be deferred.

Never commit early unless you know why

Most people want to make good decisions. Unfortunately, most people would rather make a wrong decision than to live with uncertainty.

This was probably the most clarifying concept I learned during my time with Chris and Olav. We would rather be wrong than to defer a decision. Our need for certainty drives us to make decisions before we have to. Sometimes it drives us to make bad decisions.

Waiting helps us make better decisions. Knowing how long we can wait helps us be more disciplined about waiting. Using Real Options theory can help us determine how long we can wait.

If you need to make an early decision, the key is to understand why. Don't make a decision early for the sole purpose of making the decision. Wait and gather more information. If there is a good reason to make the decision early, and you are comfortable with the outcome, make the decision.

Sometimes there are good reasons for making an early decision. If the value of the option is low or of little risk, you might consider making an early decision. In that case you are making the decision to focus your energy on higher value options. Alternatively, if a situation is high risk and making an early decision would yield an acceptable outcome, that might be a good time to make a decision early. Making the decision would mitigate risk.

Understand why you are making the decision and be aware the limits that decision will place on any current or future options.

So… that is my take on Real Options. If any of you are experts on this topic, please weigh in. I found the concept intriguing and wanted to share with you my understanding.

Thanks!

Subscribe to this blog Subscribe to Leading Agile

Friday, July 11, 2008

Refactor Your PMP: Communications Management

As promised… next up we're talking about Communications Management.

According to PMI, Project Communications Management employs the processes required to ensure timely and appropriate generation, collection, distribution, storage, retrieval, and ultimate disposition of project information. This knowledge area provides the critical links between people and information that are necessary for successful project communications.

There is a neat little book by Andy Crowe called "Alpha Project Managers: What the Top 2% Know That Everyone Else Does Not". This book surveyed over 5000 project managers to find out what the best project managers are doing differently. One of Andy's conclusions is that top project managers spend significantly more time communicating than their less successful brethren.

In some cases these top project managers spent up to 90% of their time communicating in one form or another. I have to say, that is certainly consistent with my personal experience. If something is going wrong on one of my projects, it is usually because people are not talking to each other.

But maybe I am taking a naïve view of what it means to communicate on a project? It seems to me that the PMI definition of Communications Management is a little broader than just making sure the team is talking to each other. Communications management deals with documents and plans and stakeholders. Communications management is really about managing the flow of information.

Since it's common knowledge that Agile teams don't do documents, I am guessing we have some work ahead of us to reconciling these points of view.

Okay… I was kidding with the Agile documentation comment. That said, there is clearly a difference in how these two project management perspectives treat the issue of documentation, reporting, and even interpersonal communication.

Both PMI and Agile have quite a bit to say about how to manage project communications so let's get started.

Communications Planning

PMI Definition: Determining the information and communication needs of the projects stakeholders

When Agile teams talk about communications, they are usually talking about communications within the team. Agile puts a great deal of emphasis on the free flow of information between team members, between team members and the product owner, and even between the team and the direct customer. In some ways, the Agile community has really abstracted the entire stakeholder community behind the role of Product Owner.

Communication between team members, and between the team and its customers, is essential but it is not the only component of communication that must be planned. Sometimes there are other stakeholders that we must take into consideration.

At the team level, we usually deal with team member communication through collocation, whiteboards, wikis, and other rich and collaborative workspaces. Agile teams trade a great deal of written documentation for these more osmotic forms of information exchange. On a small team with a single customer, it might be sufficient to suggest that customers get all the information they need from attending planning meetings, daily stand-ups, and iteration reviews.

When there is more than one stakeholder, or possibly a hierarchy of stakeholders , sometimes it is not sufficient to suggest that these stakeholders come down to the team room and check out the team's progress on the Kanban board. Sometimes we need to do some roll-up reporting across a portfolio of projects or even programs. Sometimes we need to report status at a much higher level of abstraction for a more senior audience.

The key to planning communications on an Agile project is to follow the principle of simplicity. Don't write documentation for the sake of documentation. Find out what your stakeholders really need and provide it as quickly and as simply as possible. Make use of natural information sources that the team is already producing (task boards, burndown charts, architectural representations) and create documentation that enables your business to make decisions.

Keep things light, go for face to face whenever possible, and when your stakeholders require more; make things as simple, clear, and accurate as possible.

Information Distribution

PMI Definition: Making needed information available to project stakeholders in a timely manner

At the team level, information distribution focuses on those rich channels of communication I mentioned in the last section. Agile teams keep their status up to date using large, visible information radiators that everyone in the team room has access to and can update themselves. These repositories of information are there for the team to know where it is at all times and so they can manage their work. The side effect of these radiators for the Project Manager is that you have instant access to real time information about the health of the project, release, or iteration.

Often, design and architecture will be worked out on whiteboards and then minimally documented on a Wiki or Sharepoint so they can be easily changed as we learn more about the evolving system. Agile teams lean toward lightweight artifacts and central, universally accessible document repositories. Agile teams recognize that the only truly accurate representation of the product is the code itself ; therefore documentation is kept light and at a pretty high level.

Sometimes a customer has a need for more detailed documentation to manage an external dependency or possibly an audit requirement. In these cases, that increased level of documentation is built into the estimate for the feature. Documentation is not free and it will slow down the creation of working software.

The key once again is to figure out what is the minimum amount of documentation needed to satisfy the requirement. Document systems at the highest level of abstraction you can get away with. Make sure you understand the information needs of the external stakeholder, make sure that work is represented in the backlog, and that it is prioritized to meet the needs of the organization.

Use the same collaborative techniques you would use to build features to create the documentation required by the business.

Performance Reporting

PMI Definition: Collecting and distributing performance information. This includes status reporting, progress measurement, and forecasting

Okay… so we've already talked about things like burndown charts and Kanban boards. These are tools that a team will use to organically manage their work and make sure they are on track. As an Agile project manager is your responsibility to help the team and encourage that these tools are kept up to date. For the most part, these are the only tools you will need to understand the health of your project, and you largely get them for free.

Performance on Agile projects is pretty simple. You know how big your backlog is and you know how much you are able to complete each iteration. Based on these two variables you are able to predict how many features you will be able to complete before the end of the project, release, or iteration. I personally like to keep a high level project roadmap that helps me understand where the project is expected to be at certain points as it progresses to completion. This is also useful for managing external dependencies.

These simple tools help you understand what progress you are making against expectations and if you'll need to extend the release, adjust scope, or request additional funding. Since you are an agile team, you'll more than likely be communicating how early you'll be, how much more you'll be able to do, and how much more value you've delivered to the organization.

Either way, you have a tremendous amount of information at your disposal to communicate project to the project stakeholders. Think EVM based on delivery of working product.

Manage Stakeholders

PMI Definition: Managing communications to satisfy the requirements and resolve issues with project stakeholders.

Managing stakeholders is really about managing the issues that come up during the life of the project. A significant benefit of Agile is that nothing is hidden. This level of visibility gives the project manager the information they need to resolve problems and remove impediments.

Issues can arise during iteration planning, execution, closedown, or just in the course of day to day work. Just like on any project, these need to get tracked and dealt with as soon as possible. Issues are reviewed during the daily stand-up meetings and retrospectives.

There are always going to be some issues that cannot be dealt with by the team. I typically hold a weekly or bi-weekly meeting with senior stakeholders where they get a distillation of significant impediments and what I need them to do to help me resolve the issue.

It is my opinion that stakeholders need to be managed and issues resolved no matter what your software development methodology.

I think that does it for this installment. That was much longer than I had expected. I figured communications management would be one of the easier topics to discuss. Maybe I just need to go home for the day.

Let see… next up… Quality Management.

Subscribe to this blog Subscribe to Leading Agile

Wednesday, July 9, 2008

Managing Too Much Complexity

"Any fool can make things bigger, more complex, and more violent. It takes a touch of genius - and a lot of courage - to move in the opposite direction" - Albert Einstein.

Why is managing an enterprise portfolio so hard? It is hard because we make things too damn complicated. We have fragmented our organizations to the point that getting anything done is nearly impossible. We are so focused on optimizing the subcomponents of our organizations we forget about making a cohesive whole.

Let me give you an example. It is pretty common for development organizations to create silos of people organized around a particular skill set. You have a manager for the BA team, the QA team, one for the Java developers, and another for the Cobol folks. The idea is that we want the best group of QA people we can possibly get. We want to establish best practice and consistency. We want managers that know how to train and develop QA talent.

Now what happens when we need to get a project done? Well... we reach out to each of the functional managers and request resources. Sounds reasonable until you realize that each of these resources is not required on the project 100% of the time. I only need that QA person part time during a few specific months of the project. What does that person do with the rest of their time? They work on something else.

You have just established your first two dimensions of complexity.

When you look at a project portfolio this way, you create a series of interdependencies between projects that are very complicated to manage. The likelihood of any one project, deliverable, or task landing exactly when it is planned is generally pretty low. Any deviation from plan creates a chain reaction through the portfolio that decreases the likelihood that anything will get done when you planned.

Most companies are not content to stop with two dimensions of complexity, they want more. I routinely see organizations trying to manage 5 or more. Let's explore some of these dimensions before we talk about how to detangle this mess.

Organizational Complexity

This is the functional silo arrangement that we already discussed. This results from a desire to optimize for individual skills over team work or product alignment.

Project Complexity

Project complexity results when we create dependencies between projects due to tight coupling of resources or shared components. Projects are essentially investment decisions. Tight project coupling limits the organizations ability to take advantage of new market opportunities.

Team Complexity

This one is related to Project Complexity in the sense that it results from building teams of matrixed resources. Often organizations will see value in building teams but fail to align them with a particular initiative or product line.

Architectural Complexity

To some degree, most companies take advantage of reusable system components and other shared services. I am loosely referring to this set of shared components as the Architecture of the system. Unless you have total shared ownership of the code, it creates another dimension that has to be managed.

Product Complexity


Product complexity results from matrixing the product roadmap across any of the other dimensions of complexity. This type of complexity results from lack of consistent investment in the product line.

These are the five I see most frequently but please let me know if there are others I am missing.

Okay… back to our original question. Why is managing an enterprise portfolio so difficult? It is because we are trying to manage across too many dimensions of complexity. We are creating too many tightly coupled entities that all have to operate in perfect synchronicity.

We know this is complex and nearly impossible to manage so what do we do? We create huge bureaucracies to deal with the complexity. We have to make sure that people are in the right place at the right time working on the right things that all the interdependencies are managed and the schedules are kept up to date. Phew!

This is a crushing amount of work. Even if you can model it, the people in your organization either can't or won't invest the time to understand it. It is a complex abstraction of reality but it isn't real. People don't believe it, don't have any ownership of it, and therefore it gets ignored.

People will pay lips service to the model until it gets to be crunch time. When crunch time hits, people will simplify your organization for you. They work on their number one initiative and everything else will get put on the back burner. If your lucky, your organization will deliver its highest priority, but everything else will suffer.

The Solution

Let's get intentional about how we manage complexity in our organizations. I believe that a well run organization can deal with maybe two dimensions of complexity. Most management systems can adequately deal with two dimensions of complexity. It is something people can get their heads around and own.

So… what does this mean? It means that you have to pick two dimensions and align the rest of the variables in accordance with the two you choose to manage.

For example, you could choose to align your Organization, Team, and Architecture on one axis and align your Product and Project structure on the other. An alternative might be to align your Organization, Team, Architecture, and Product while keeping Projects on a separate axis. Most agile literature assumes one axis with all the dimensions of complexity in alignment.

This is part of what makes Agile so hard to implement in many companies. Its just not how we are currently structured.

Every organization is different and operates under different constraints. You will have to decide for yourself what dimensions of complexity you business can really handle. The goal is to reduce complexity than to try to manage it.

Good luck!

Subscribe to this blog Subscribe to Leading Agile

Tuesday, July 8, 2008

Mike's Abstract for Agile Development Practices 2008

If anyone is going to be down in Orlando for Agile Development Practices, it is shaping up to be a great event. The conference is November 10-14 at the Shingle Creek Resort. Click here for more information or to register.

I will be speaking this year on the whole Agile/PMP thing I have been rambling on about the past few months. The talk is called "The Agile PMP: Teaching an Old Dog New Tricks". If you are coming to town for the event, come look me up, I would love to meet you.

Here is the abstract and my bio for the event in case you are interested:

Agile methods put a great deal of emphasis on trust, empowerment, and collaboration. Agile moves us away from command and control project management towards an approach designed to harness the passion, creativity, and enthusiasm of the team. A successful transition to agile project management hinges largely on how well traditional project managers are able to adopt new ways of thinking about project structure and control. Building on the principles of PMI® and the Project Management Body of Knowledge (PMBOK), Mike will explore how a PMP can adapt their knowledge and experience to become an effective agile project leader. Mike will tackle the hidden assumptions behind the PMBOK and explore a more agile approach to managing time, cost, and scope. He will take an in-depth look at the PMI Processes and Knowledge areas and explore how to adapt them on agile projects. Project managers, business analysts, and other stakeholders will leave with new way of thinking about project management best practices and new tools for delivering value in the face of uncertainty.

Mike Cottmeyer is a product consultant and agile evangelist for VersionOne. Prior to joining VersionOne, Mike was a senior project manager for CheckFree Corporation where he managed a portfolio of projects for their online banking and bill payment business unit. Mike has a background in traditional project management but has worked primarily with agile methodologies for the past four years. Mike is a certified PMP Project Manager and a Certified ScrumMaster. Mike co-created the DSDM Agile Project Leader certification. He holds this certification at the Foundation, Practitioner, and Examiner levels and was recently named an honorary member of the DSDM consortium. Mike is currently on the board of APLN as Treasurer.

Subscribe to this blog Subscribe to Leading Agile

Refactor Your PMP: Scope Management

Okay… let's get back to our discussion on how to look at the PMI knowledge areas from a more Agile point of view. Last time we tackled Cost Management, this post let's look at Scope Management

According to the third edition of the Project Management Body of Knowledge, Scope Management includes the processes required to ensure that the project includes all the work required, and only the work required, to complete the project successfully. PMI states that project scope management is primarily concerned with defining and controlling what is and is not included in the project.

I find it a little entertaining how these statements seem to be universally interpreted as "define everything you are going to do up front and make sure you deliver what was originally defined". While that may have been the intent of the PMBOK Guide, some projects don't lend themselves to that kind of up front planning. Some projects must allow for discovery. Some projects must adapt to changing markets, or at the very least, adapt based on the teams understanding of the emerging product.

For some of us working in more dynamic problem domains, ensuring that "the project includes all the work required", is a process of discovery. Controlling what is included, and what is not included, is an ongoing concern rather than something done once for the entire project. We need a project management framework that embraces this uncertainty rather than wishing it away or pretending it doesn't exist.

I am becoming convinced that Project Managers default to this static point of view because we have never been taught another way of managing projects. We just don't have the tools to deliver projects any other way. So… that said, let's take a moment to look at the PMI Scope Management processes from a more Agile point of view. I bet we find another way of approaching Scope Management that does not involve defining everything up front and then locking it down for the duration of the project.

Scope Planning

PMI Definition: Creating a project scope management plan that documents how the scope will be defined, verified, controlled, and how the Work Breakdown Structure will be created and defined

Agile project management practices are really the embodiment of a scope planning approach. As a project manager, especially a traditional project manager making the switch to Agile, I have no problem documenting this for my organization. An Agile Scope Management Plan is going to address things like creating the backlog, characteristics of a good backlog item, how we are going to establish velocity or throughput, how we are going to measure burndown against the backlog, and how we are going to deal with changes to the backlog.

Scope Definition

PMI Definition: Developing a detailed project scope statement as the basis for future project discussions

Scope on an Agile project is defined in the product backlog. The backlog is a listing of the features that your product owner would like to have included in their project. One of the most important considerations to keep in mind is that every item in the backlog should be independent of each other. This is the secret sauce that makes it possible to reprioritize and make changes on the fly. Bill Wake has a great explanation of what makes a good backlog item on his website: http://xp123.com/xplor/xp0308/index.shtml.

Rather than looking at the product backlog as a static indicator of what WILL be built, look at it as the baseline for further adaptation. It is expected to change as we learn more about the emerging product.

Create WBS

PMI Definition: Subdividing the major project deliverables and project work into smaller, more manageable components

This is one of the toughest things for traditional project managers to get their heads around. There is no WBS on an Agile project, at least not one in the traditional sense. From the Scope Definition section, we learned that our backlog represents the scope of the project and that each of the backlog items should be independent of each other. Independence is key because it allows us to do just in time scheduling.

Agile projects are broken down into smaller projects called releases. Project releases are broken down into smaller time-boxes called iterations. Content is pulled into a release just prior to its start, and only as the previous release is winding down. Likewise, content is only pulled into the upcoming iteration as the previous iteration is coming to a close. The idea here is that we are going to review what the team was able to complete and make decisions about the next increment based on what we learned from delivering the previous increment.

As an Agile Project Manager, I am generally comfortable laying out a high level plan to understand where I expect to be at certain points in the project. I am also comfortable keeping a chart of external and internal dependencies to help manage commitments. The key is to use these as guidance for decision making and indicators of progress. Problems arise when these tools restrict our ability to learn and adapt to the realities of our projects.

Scope Verification

PMI Definition: Formalizing acceptance of the completed project deliverables

Each iteration we will decide the next best increment to build and then review the outcome once we are complete. The stakeholders either accept or reject the outcome of the iteration and work with the team to decide the next best set of features to build.

Because we want to maintain the ability to adjust the product as we learn more about the emerging solution, we focus on making and meeting commitments in smaller increments. Scope verification is done based on the outcome of these small increments of product and how they align with the product vision and the goals of the release.

Scope Control

PMI Definition: Controlling changes to project scope

Agile teams take a value driven approach to delivery rather than an activity based, or even deliverables based, approach to delivering projects. The product owner can change the scope of the product at will, but is always focused on delivering the most value possible given the available times and resources.

Agile teams give the product owner a tremendous amount of discretion over how the system is constructed and even accommodate changes even late into the life of the project. It is understood by Agile teams that changing scope involves tradeoffs. The product owner is substituting features that add greater value for those that provide less. To add one thing, something often has to be taken away.

Next Up… Communications Management

Subscribe to this blog Subscribe to Leading Agile

Monday, July 7, 2008

Delivering Value

Last week I was out on a client visit to do a couple days of product training. The customer was not only new to VersionOne but also new to Agile. The idea for the engagement was to blend product training with some targeted methodology training to see if we could get them jumpstarted and on their way.

It became pretty obvious by the middle of the first day that our original training plan was not going to suit their needs. While I was prepared to deliver exactly what they asked for, the training would not have delivered the value that they expected.

Had we followed the original training plan, I would have left the customer unable to effectively use our software.

Coming from a traditional project background, I am a firm believer that some degree of up front planning is essential. The problems start when we are so confident in our plans that we stop listening. When we stop listening, we stop learning. When we are unable to learn, we are unable to adapt.

I met with the customer and shared with them my observations. We discussed an alternative approach for our second day and agreed to take the training in a different direction. We came up with a new plan that better met their needs and put them in a much better position to be successful.

Did changing course introduce some risk? Absolutely. Change always introduces some risk and following the original agreement would have been the safer approach. By taking that risk we were able to generate greater value for both the customer and ultimately for VersionOne.

At the end of the day, isn't that what it is really all about?

Subscribe to this blog Subscribe to Leading Agile