Agile Customer Cookbook

ArticleForComments

This is the frontpage of a project, working on creating some advice for customers.

Let's agree, that the audience for everything on this/these pages is the "customer-side" - including project sponsor, customer project manager and business expert....

AngelaMartin: Ok, but will it be written for the business expert, what they need to do, how they need to be involved etc as the primary audience? I think we should try to steer away from creating agile project management advice, what do others think? From here I was wondering how the business sponsor may fit in, I think it would be "how and/or what and maybe even why the business expert needs to communicate with the business sponsor" ... OleJepsen: In my experience, most business project managers usually turn out to play the role of the business expert. They are often picked to participate in the project because of their business knowledge (as opposed to their leadership skills). The IT-project manager is often more experienced as a project manager than the business project manager - so no matter how the "project organization" is defined - usually the IT project manager takes over the PM-responsibilities in the project. This leaves us with a business sponsor and a business expert... Often the business sponsor is the one that understand, that "business value" can be created in many ways - and that a close and flexible collaboration amongst business and IT within the project group is most likely to give most business value. But where does that leave the business expert? In my experience the general picture is, that most business experts has more to learn from Agile than business sponsor. This is because the business expert is (and should be) more into the details. And when you know exactly what you want in details - then you tend to be more "closed", which is not a good state of mind in an Agile project...

KourosGoodarzi: According to Scott's original statement of purpose for the groups, I believe we have to assume a customer perspective and also a process approach.

Audience

KourosGoodarzi: So let's say audience is customer project/product managers, decision making management, and staff dealing with agile vendors.

Customer situation

MaryPoppendieck: Too bad we have to work in the context of a project. To me agile development is best done in the context of a complete software lifecycle - which includes the 70% of code written after the first project is over.

AngelaMartin: Good point, my initial focus is always projects as my experience is project based. What sort of things would be different for the customer if we also considered the entire lifecycle?

MaryPoppendieck: At the Agile Customer Workshop at OOPSLA one group developed a poster session on treating development as a project vs. a product. You can see the poster at: . Basically finding is different, success is defined differently, and the customer of a product development program is the well defined role of product manager.

KourosGoodarzi: As mentioned earlier we have a mandate to take a process approach to this exercise. This means we have to cover the whole of the life cycle. Requirements, release, and testing would have major effects on customers in agile methodologies. We can focus on those and leave the rest of development to whatever sub-group would be responsible for standardizing agile methodology itself (from a dev point of view).

OleJepsen: You definitely have an advantage, when you have a team, that is mature and well integrated. Once I was working as the PM on a project, and suddenly Anne said: "I have started writing the test-cases". I had not thought of test-cases yet, but when Anne brought it up, I could see, that the timing was perfect. It fitted perfectly with what the other team-members were doing at that point. This team had been working together for 2 years at that time. I started to play with the thought, that you should keep the project teams and assign development projects to teams along the way... But: There's also a good thing about creating teams for each development project: You can mix a cocktail of the right people with the right skills (technical and collaborative) for the task. You often get a good energy, when you bring people together. It's flexible: You can create teams, when you need them. Etc...

KourosGoodarzi: It would be nice to inform customers of the dangers of dealing with a team of novices that claim agile development as their approach to software development.

Organization

KourosGoodarzi: I see too much emphasize on IT, in the comments and read even more of that between the lines. There are many embedded and telecom (my personal background) projects also being done using agile. Would we need to cover them too?

Value

KourosGoodarzi: This specifically, and many other customer expectation issues are being dealt with in Nancy's Sub-group which I am a member of. I would act as a double agent and let you know of items discussed there.

KourosGoodarzi: Maybe we should add the following: Requirements and changes

  I can not type tabs. Please ConvertSpacesToTabs for me * Understand that 'the developer builds what he has understood' - rather than what is in the specs?

OleJepsen: At least prioritizing is different - because in a traditional project you do not prioritize - because you have to have a system, that meets all of the requirements... Actually I also think, that "communicating requirements" is new to Agile - because in traditional projects some would say, that it is enough to "specify" the requirements. Or - in other words: In an Agile project you should - as a customer - focus very much on "communicating requirements". Make sure that you are explaining yourself clearly - AND that they REALLY understand you. This is where you can make a big difference...

KourosGoodarzi: I agree with Ole, that all three are different in Agile. Requirements are made to be understood, prioritization is ongoing, and software is accepted in multiple releases. Maybe it would be a good idea to base the whole document on these three pillars.

Iterative development

Responsibility

KourosGoodarzi: Many customers (or their reps) don't understand much of the technical stuff, it is therefore very helpful (specially to everyones time and schedule) to have special meetings with customers (or their rep) to discuss issues in non-technical terms and ask for their decisions. This usually happens after the dev team has discussed all the details of an issue and prepared a non-technical (even though verbal) report of the problem at hand.

KourosGoodarzi: In the Customer Expectation sub-group, we have agreed on the terms Customer, Vendor (agile software development team), iteration (internal builds coming from dev), release (builds with specific feature sets delivered to customer). I suggest we either use them or come up with our own and then coordinate with that sub-group.

Overview

KourosGoodarzi: I suggest we draw an outline of the sections of the document. If everyone agrees we can use the existing heading structure of the wiki page.


CategoryAgileMethodology, CategoryCustomer


EditText of this page (last edited August 27, 2010) or FindPage with title or text search