Iterations eLetter: All Things Agile
 
 
  Iterations: Delivering All Things Agile Straight to Your Inbox  
 
 
 
 

View Web page here.

18 June 2009

In this issue:

Media Spotlight

What's Happening at StickyMinds.com

Agilism—Defining the Movement

Content Pointer
ScrumBut: Failure to Deliver
by Michele Sliger

Book Review
Collaboration Explained
by Jean Tabaka
Reviewed by Lisa Crispin

PowerPass Pointer
Agile and Adaptive Project Management: The Declaration of Interdependence
by Alistair Cockburn

The Agile Experience
One Year Later: Revisiting Johanna Rothman's "Does Exploratory Testing Have a Place on Agile Teams?"


Visit the Iterations Archive
 
 
SPONSORED BY: Rally
Rally
"Agile Champion Toolkit" Presentation

Good teams develop. Great teams ship—on time. Download this ten-minute "Why Agile" PowerPoint presentation that describes:
  • Why Agile teams are 37% faster to market
  • Why Agile teams are able to accurately predict their release dates
Download the "Agile Champion Toolkit" presentation now!
 
MEDIA SPOTLIGHT
Agile Development Practices 2008 Video
Brian Marick's "Seven Years Later: What the Agile Manifesto Left Out"

Although the Agile Manifesto has helped many organizations change how they build software, the agile movement now suffers from backsliding, overselling, and a resulting backlash. Brian Marick believes that is partly because the manifesto is focused outwardly; it tells the business how the development team will work with it. What it does not talk about is how the team must work within itself and with the code. Watch Brian's presentation to find out whether you're really doing agile or if you are agile in name only.
 
     
 
WHAT'S HAPPENING AT STICKYMINDS.COM
Blogs on StickyMinds.com
Check out the blogs section on StickyMinds.com, where you can find blog posts from experts like Daniel Wellman and Naomi Karten.

@StickyMinds on Twitter
Want to get a daily dose of what's new and popular on StickyMinds.com and in Better Software magazine? Follow @StickyMinds on Twitter for regular updates about weekly columns, news, discussion boards, eNewsletters, and more.
 
     
 
AGILISM: DEFINING THE MOVEMENT
User Story
Agility is often described in terms of iterative development. In fact, it's more of an iterative analysis process with the code being written and tested immediately after the requirements are discovered. The heart of this process is the user story, a collection of requirement descriptions, value statements, cost estimates, architecture designs, and test cases—all rolled into one. While at first glance user stories seem simple, they play a key role in all agile methods.

From Introduction to User Stories by Alan Shalloway
 
     
 
FEATURED WHITE PAPER
The Seven Habits of Highly Effective Testing Organizations—Redux
In 2001, author and testing expert Lee Copeland wrote an article uncovering the seven habits of highly effective testing teams, essentially a compilation of industry best practices. Eight years later, Lee brings us a look at the habits that have remained, those that have advanced, and the innovations that we should adopt to take testing to a new level and reap greater value from QA efforts.
 
     
 
CONTENT POINTER
ScrumBut: Failure to Deliver
by Michele Sliger

In this article, Michele Sliger discusses one of the more common "ScrumBut" practices that, while allowing teams to say "We suck less," isn't really in keeping with intended Scrum practices. This ScrumBut practice is the persistent failure of the team to complete the agreed-upon features in the iteration or sprint.
 
     
 
BOOK REVIEW
Collaboration Explained
by Jean Tabaka
Reviewed by Lisa Crispin

We all know that it's not the methodology, tool, or process that makes a project successful. It's the people. Collaboration helps people do their best work and increases the chance of success. That's why the information in this book is so valuable. Once the first section has convinced you of why you need collaboration, the book goes on to explain how to make it happen constructively. The practices and tools in this book will help make any organization's culture one that encourages working together.
 
     
 
POWERPASS POINTER
Conference Archive: Agile and Adaptive Project Management: The Declaration of Interdependence
by Alistair Cockburn

Whereas the Agile Software Development Manifesto is a short and sweet list of principles for developers, the Declaration of Interdependence for Agile Project Management is more of a mouthful. The Declaration of Interdependence was written to provide concrete guidance for software projects and projects in general with applicability to general management. In constructing it, a dozen senior consultants, designers, and managers—project, product, and line—validated that it covered their individual core operating frameworks. In this talk, noted software designer, manager, and methodologist Alistair Cockburn, a co-author of both documents, unravels the six rules of operation in the Declaration of Interdependence.
 
     
 
SOFTWARE QUALITY ENGINEERING OFFERS
Better Software magazine featured article:
Scrum: Using High-impact Teamwork to Tackle Software Development Projects by Laszlo Szalvay

For organizations trying to do more with less in the current economy, knowing where to turn for help can be a big question mark. But as Laszlo Szalvay of Danube explains, Scrum is one possible solution.

Read Laszlo's article about Scrum in the digital May/June issue of Better Software magazine.

Get a complimentary Better Software magazine digital subscription today!
 
     
 

FEATURED WEB SEMINAR

Achieving Full Lifecycle Traceability from Requirements to Code at Boston Scientific
Brought to you by StickyMinds.com and Better Software magazine
Sponsored by IBM


Speaker Greg Sittler will discuss how an integrated systems and software solution can help you build a coherent development environment, decrease productivity costs and redundancy, meet time-to-market goals, and drive quality by enforcing business processes while controlling content changes. Greg will also review a case study about how Boston Scientific optimizes its production test software development with an integrated process and platform for meeting demands within an integrated application lifecycle management suite. Join us Tuesday, June 30, at 1 p.m. ET.
 
     
 
THE AGILE EXPERIENCE
One Year Later: Revisiting Johanna Rothman's "Does Exploratory Testing Have a Place on Agile Teams?"

Last summer, StickyMinds.com columnist Johanna Rothman took a look at the value of exploratory testing—often seen on waterfall projects—to agile teams. We've reprinted an excerpt below and invite you to visit the article on StickyMinds.com to discuss your experiences with the use of exploratory testing techniques in agile environments.

It's easy to see how exploratory testing works on waterfall projects. In fact, it makes a ton of sense on waterfall projects to do at least a little exploratory testing before you decide where to focus your efforts, design your tests, or consider any automation. That's because on a waterfall project testers are much more likely to be crunched for time at the end of the project. (For ideas on how to use exploratory testing on a waterfall project where you don't have enough time, see my column, "So Many Tests, So Little Time.")

But does exploratory testing make sense on an agile project? Of course. Yet agile exploratory testing doesn't look the same as it does on a waterfall project. There is less of a need for exploratory testing after the product is created and a greater role for exploratory testing as the team defines and develops the product.

Michael Bolton says, "When people talk about exploratory testing, they often mean the process of test execution. But the three pillars of exploratory testing are test design, test execution, and learning." In waterfall projects, the execution is most visible. But on agile projects, the feedback loop between test design, test execution, and learning is quite short—and agile projects require all three pieces.

On agile teams, there is little role for a manual black box tester who waits for the requirements, the design, or the code and finally tests according to a predefined script. That's because there's no waiting for requirements, design, or code. The product owner "defines" a feature or chunk of a feature, but the definition is more like a promise to keep discussing that feature rather than a firm commitment—"This is what the feature will do."

If the developers are using test-driven development, the tests help define the design. Even if the developers aren't using test-driven development, they tend to work in small chunks—no more than a day or so long—which decreases the waiting time for code.

There is still a role for testers who can turn their keen observations into ways to quickly test an area in depth. But those testers are even more valuable if they can develop tests and testing ideas—both manual and automated—before the feature is completely coded.

Roles for Agile Testers
  1. Testers can help the whole team work in a test-driven way by:
    1. Assisting with defining requirements in the form of user stories and generating system-level tests from those requirements. Think of this as a questioning, test-driven approach to development.
    2. Assisting with modeling the requirements (user stories)— by asking questions—and generating system-level tests from these stories.
  2. Testers provide information about each chunk, as the developer delivers it. Sometimes that information is confirmation that the code does what the user story says, does not have side effects, and is releasable at the end of each iteration. Sometimes that information is extra information about the product and other paths the testing could take.
  3. Finally, testers can perform system-level regression testing during an iteration. (To be honest, on well-established agile teams, the developers typically run the low-level regression tests, allowing the testers to do what they do best: explore, question, and learn.) If the organization is new to agile, the testers might run regression system-level testing at the end of the project.
Where Does Exploratory Testing Fit During an Agile Project?

Exploratory testing is helpful when working with the product owner and the project team, trying to define user stories. Imagine you're working on a banking system and want to allow between-account transfers. The developers have a scheme to use checksums to verify the From and To account numbers. You may have heard about the Fossbakk case, an example of insufficient checking for input and confirmation failure. If exploratory testers had been involved at the time of user story definition, testers might have asked, "What happens if we put in a longer account number than the system expects?" Or, during the modeling stage (which I certainly would expect on an agile project with a financial transaction system comprised of databases), an exploratory tester could ask questions such as how many ways can we make the transaction "fail?" Testers who ask questions like that all the time and explore the answers to those questions before the code is written may help the developers write better code. And, they'll have the basis for some great, nasty tests to see what the system really does. The questions lead to the test design, which leads to the test execution, which provides learning for everyone on the project.

Continue reading: Does Exploratory Testing Have a Place on Agile Teams? at StickyMinds.com.

Johanna Rothman is a management consultant and a regular StickyMinds.com and
Better Software magazine columnist.

Visit the Iterations Archive to find out what you may have missed in past issues.
 
     
 
ADVERTISEMENT
Agile Development Practices Conference 2009
November 9-13, 2009 | Shingle Creek Resort| Orlando, Florida

Learn the latest in agile methods, technologies, tools, and leadership principles from thought leaders who deliver inspiring keynote presentations, in-depth tutorials, and a wide range of conference classes. Network with your peers during informal gatherings, and discuss your challenges with experts in agile practices.

Register by August 17, 2009 and get an Amazon Gift Card on top of Super Early Bird savings!
 
     
  Iterations is an extension of StickyMinds.com and Better Software magazine—and a reminder that your "online resource for building better software" is just a click away at www.StickyMinds.com  
     
 
SUBSCRIBER SERVICES
You are receiving this issue of iterations as part of your StickyMinds.com membership, Better Software magazine subscription, or iterations subscription. We hope this publication will be a useful and enjoyable benefit. To ensure optimal receipt of these emails, please add iterations@lists.stickyminds.com to your address book or all messages from @lists.stickyminds.com to your email white list.

SOFTWARE QUALITY ENGINEERING • 330 CORPORATE WAY • STE. 300 • ORANGE PARK, FL 32073