Entries tagged with “timebox”.


sticky-jean-042009-21

In March, Johnny Scarborough, Area VP of Product Engineering with GlobalLogic, and I kicked off a 2-part webinar series, “Using Agile to Cut Development Costs”. We bantered about leaner, meaner and faster product development. You can view our entire 1-hour webinar here Realizing the Promise of Agile: Creating Leaner, Meaner and Faster Product Development.

In this post, I’d like to respond to some questions posed to Johnny and me during the webinar.

JET = Jean Tabaka

What is the measurement of productivity? Is it user stories per lines of code?

JET: We define productivity index with regard to the Michael Mah statistics collected over 7500 products. It is not about lines of code. Rather it is about delivered value. At a very high-level view then, a PI in an Agile team is about the amount of value delivered by a team based on value delivered over the total number of team members.

Michael Mah shows in his studies, which we referenced in our webinar, that Agile teams tend to have a higher ability to delivery value per team member than the norm across all projects he has surveyed. This supports our view that the way to project cut costs is to help team members increase their PI versus cutting team members or off-shoring work.

When you start on Step 1, one team in flow, do you start immediately with 2-week iterations, even if the teams are used to waterfall?

JET: For any team starting its transition to Agile, the important Flow guidance I give is: Choose a timebox, and stick to it. Religiously.

sticky-jean-042009-3I give guidance that a shorter timebox is preferable to a longer one. This gives the team that moment of pause for inspection and adaption sooner rather than later.

A shorter timebox invites earlier improvements on process. It also affords the Product Owner or customer representative the opportunity to re-prioritize, add, or delete items in their backlog.

Given these parameters, the team commits to what the timebox length will be. So what do I advise? If asked, I tell teams that 2 weeks is a good starting point: shorter time to inspection versus longer wait for improvement opportunities.

How would you apply Agile, and particularly Scrum, to security related software where design and reviews typically take longer than one iteration?

JET: Agile asks us to evaluate how much design and review MUST occur before features can begin to be coded and tested. Your question is all the more important in your context.

Think of it this way: Imagine in a security software environment, you implemented something and then slammed all kinds of vulnerability tests against it to discover its actual vulnerability. Imagine that this could be in addition to, or even as a replacement to, extensive review up front.

I once worked in a security related software environment. We spent months and months reviewing documentation attempting to conduct  independent validation and verification about vulnerabilities before any coding began. How I wish we could have just conducted detailed design, code, and test on our riskiest features and applied our hypotheses against these rather than being left to hope our analysis was adequate!

If we want to introduce Agile in a certain project team, what’s the perfect ratio of Agile consultants versus our own personnel?

JET: Perfection is in the eye of the beholder ;-)

I suggest one mentor per team initially. We have also used one mentor for a team of teams, a program. That creates stability and synergy across the teams and encourages all teams to form their own Agile team agreements while also learning from what has worked well with the other teams.

One more thing: Having a mentor at the management/executive-level is also critical. It may be this same person; it may be someone who has more of an executive stature.  In the latter case, be sure the two mentors work tightly with one another.

Would you define ‘user stories’?  Similar to Use Cases?  Difference?

JET: User stories are an expression of a request from the customer or customer representative for a particular function. They are meant to be short, incomplete, and value-based.

They invite conversation and further clarification of completion: “As a < role >, I want to < action > so that I can < benefit >.”

“As a dog, I want access to ‘The Daily Woof” newspaper on my Kindle so that I can flip pages without opposable thumbs.”

This request for action and benefit is  elaborated as it rises in rank among all functions requested. We elaborate these in several ways. One way is to start writing acceptance criteria.

Another way might be to elaborate it through a use case that details actor-system interactions, extensions, and so on. A team makes agreements about how function requests grow in clarity; that is, are use cases our best way to declare DONENESS for this request? Or, in our environment, is a simple description and test case sufficient?

How can we get better reporting metrics for roll-up to the executive level? Are there key mash-ups I should/could use?

JET: without digging into specifics with regard to mashups in our Rally tool, I highly recommend looking at a set of metrics we gathered in our whitepaper: “A CIO Playbook for Adopting for Adopting Scrum” co-authored with Ken Schwaber and Dean Leffingwell.

One appendix in the paper guides teams in a quick self-assessment of their Agile uptake. The second offers metrics both teams and executives can use as new measures of success.

sticky-quote-jean-042009_03

Altering how we measure and guide success in Agile has a great impact on the “stickiness” and intended benefits of the Agile rollout. Rally tool mashups simply support real-time access to such measures. This “reporting” style deviates from the traditional “reporting up”. Rather, the metrics we recommend are meant to keep the entire organization informed about what is really happening. This creates organizational ownership of amplified learning and continuous improvement.

Have you integrated user centered design (usability practices) into the Agile development process? If yes, what was your approach? If no, why not?

JET: I  believe user-centered design has a place in Agile development. Design emergence doesn’t mean it can only occur in the planning meeting for the next iteration, IMHO.

At Rally, our usability expert is always working one or two releases ahead to help create urgency and clarity about where our usability issues must be addressed. She doesn’t set out a design for the next 2 years. Instead, she:

  • creates a high-level vision (informed by many sources);
  • collaborates with the product owners about how to incorporate this across a product roadmap;
  • provides more detailed guidance about backlog items specific to the user-centered design;
  • then engages actively within Scrum teams when product backlog items specifically impact user design changes (where she is tester or owner or delivery team depending on the item.)

Do Agile practices only apply to software delivery, or have you ever seen them applied to successful service delivery?

JET: Jeff Sutherland tells a great story about helping his wife apply Scrum in her life as a Unitarian minister. I also have a colleague who uses it in his volunteer organization. And there are people in my Certified ScrumMaster classes from non-software parts of software organizations eager to bring Agile in. Here at Rally, we use Scrum in EVERY department in the company, including at the executive level.

It is already challenging to obtain the time of critical resources (shared among various projects and sustaining). Are every day SCRUM meetings practically possible?

JET: Everyday meetings are faster than having to write them extensive documentation. And, they are less costly than not having them involved at all. Still, teams make agreements about how critical it is for “part-time” experts to be engaged in every meeting. They inspect and adapt.

Is Scrum mostly for R&D projects with more unknowns or is it equally effective on projects with extensive functional and technical knowledge and skills.

In other words, is Waterfall totally obsolete?

JET: Rigid methodologies don’t serve environments where any amount of change can occur. If you have projects that have no change in scope, no mis-interpretations of requirements, no defects in design, no defects found in code test or integration that would require re-work, I see no reason for you to change.  I do not know of such projects.

agile-cuts-development-costs-graphic

Using Agile to Cut Development Costs - webinar

You can also view Q&A from Ryan Martens along with Dave West from Forrester regarding their webinar at “Q&A Lean Webinar Part 2” and Q&A Lean Webinar Part 3. And you can watch their entire webinar Scaling Agility with Lean: Proven Methods of Operational Efficiency.

As I watched the Rockies sweep the NLCS I could not help but to think that the Rockies took advantage of Rally’s professional coaching services to help the team achieve success with their agile rollout. Let’s analyze baseball in regards to agile…

During the regular season baseball teams play in 3 or 4 game series, which can be thoughtof as an agile release. Each game in the series can be thought of an individual iteration with a timebox of 27 outs. The user stories don’t really change, a typical baseball iteration has 9 user stories (innings) with 3 story points each. The velocity of the team
really depends on the pitch count. If the pitch count is low we could consider the story to be completed faster than other stories in terms of relative sizing.

Similar to agile, the size of the team is nine players on defensive. These nine players work very closely together to complete each story and focus all of there energy on the current iteration (game). A team member grabs tasks (outs) when they feel they are able to take on more work. Team members regroup in between each inning for a quick stand-up meeting to discuss the next highest priority story (ok this is a long stretch but maybe they have a stand-up).

After the completion of the iteration there is always a retrospective (post game
conference). During the post game press conference (retrospective) the team manager acts as a scrummaster or coach and shields the team from media controversy. The manager is ultimately shielding his team from stakeholders (fans, media, owner) and focusing them on the current iteration (game).

At the end of a game (iteration) the team has completed 9 user stories and the team owner (product owner) either accepts the game or does not accept it (win/lose).

To end this fairly useless analogy we have to consider the post game celebration. Trust me the Rockies had one heck of a release party last night.

GO ROCKIES!