Iterations - The newsletter for software professionals who care about quality
  View Web page here.      
 
19 August 2010

In this issue:

Media Spotlight

What's Happening at StickyMinds.com

Agilism: Defining the Movement

Content Pointer
Six Behaviors to Consider for an Agile Team
By Johanna Rothman

Book Review
The Software Project Manager's Bridge
to Agility
By Michele Sliger and Stacia Broderick
Reviewed by Ronald R. Goodwin

PowerPass Pointer
Magazine Archive
How Agile Practices Reduce Requirements Risks
By Ellen Gottesdiener

The Agile Experience
ATDD: Not as Optional as You Think
By Jennitta Andrea


Visit the iterations archives
 
SPONSORED BY: MKS
MKS
Independent Evaluation of the Agile Development Tools Market
In the report, "The Forrester WaveTM: Agile Development Management Tools, Q2 2010," May, 2010, Forrester Research, Inc. found MKS to be one of only two vendors that "… led the pack with the best overall current feature sets." MKS received top score for its current offering in the 'Running a Project' category.

Get your copy of the independent research report today!
 

MEDIA SPOTLIGHT
Agile Development Practices Conference Video
Joshua Kerievsky's "Agile Brushstrokes: The Art of Choosing an Agile Transition Style"
Agile software processes vary in detail, depth, impact, and endurance as much as painting styles like graffiti differ from Baroque or Impressionist art. What can artists teach us about successful agile transitions, and what can past agile transitions teach us about styles that endured or faded away? Joshua Kerievsky maps agile transitions to art styles and identifies elements that lead to success or failure, offering an excellent perspective on the art of agile transitioning and what style(s) will work best for you.

Watch "Agile Brushstrokes: The Art of Choosing an Agile Transition Style" horizontal rule
     
 
WHAT'S HAPPENING AT STICKYMINDS.COM
Blog Pointer
On Being Absolutely Certain—and Wrong
By Naomi Karten
While en route to present a seminar, I had to change planes in Denver. On arrival in Denver, I checked the departure monitor for my connecting flight. There it was: gate B52 at 3:20 p.m., just as I expected. It was a short flight on a tiny plane. I had taken many such flights from Denver, and they had all departed from B gates numbered in the 50s.

Continue reading "On Being Absolutely Certain—and Wrong"

@StickyMinds on Twitter
Want to get a daily dose of what's new and popular on
StickyMinds 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
Agile Game
Playing a game gives people an opportunity to actively participate in unleashing creativity and generating new ideas. Think about it: You do your best work when you're in a creative environment and in "flow." Moreover, we often learn best when we do, observe, discuss, and reflect on the outcomes of the experience.

By any definition, an agile game is simple, adaptable, and quick to play. In the agile software development community, an agile game is also collaborative and provides value—it has a serious purpose.

From Mary Gorman's
"Playing at Work"
 
     
 
FROM THE DOWNLOAD CENTER
Virtual Lab Management Technology Delivers Immediate, Measurable Benefits and ROI
The ability to rapidly provision and deliver an environment for testing, development, sales, marketing, training, technical publications, support, and other constituents in an organization enhances business alignment as it removes barriers and lowers costs, particularly capital expenditures. This voke research, based on interviews from August 2009 to February 2010, identifies market readiness, awareness, use, benefits, and ROI of virtual lab technology.

Download Virtual Lab Management Technology Delivers Immediate, Measurable Benefits and ROI
 
     
 
CONTENT POINTER
Six Behaviors to Consider for an Agile Team
By Johanna Rothman
If you've been tasked with creating an agile team, first consider what differentiates an agile team from a non-agile team. In this column, Johanna Rothman highlights six behaviors of people on successful agile teams that candidates for an agile team should possess.


Read "Six Behaviors to Consider for an Agile Team"
 
     
 
BOOK REVIEW
The Software Project Manager's Bridge to Agility
By Michele Sliger and Stacia Broderick
Reviewed by Ronald R. Goodwin
Normally, project managers (PM) who practice their craft using PMI, Prince, Ten-Step, or any other PM methodology run their projects using "command and control" methods. (It's not as harsh as it sounds, because it usually works with only a little nudging.) As more and more software development lifecycles move to agile development, more and more "old-hat" PMs ("plan-driven" managers) struggle to adapt.


Continue reading the review of The Software Project Manager's Bridge to Agility
 
     
 
POWERPASS POINTER
Magazine Archive
How Agile Practices Reduce Requirements Risks
By Ellen Gottesdiener
Requirements risks are among the most insidious risks threatening software projects. Whether it is having unclear requirements, lack of customer involvement in requirements development, or defective requirements, these troubles are a major culprit in projects that go awry. As requirements expert and agile coach Ellen Gottesdiener explains, agile practice can go a long way in mitigating those risks.


Read "How Agile Practices Reduce Requirements Risks"
 
     
 
SOFTWARE QUALITY ENGINEERING OFFERS
Agile Development Training Available at the Agile Development Practices Conference
November 14-16, 2010 | Orlando, FL

Join SQE Training at the Agile Development Practices conference to assist teams in creating a more effective software development process and encourage personal success and self-improvement. Choose from these courses:
  • ScrumMaster Certification
  • Practical Test Driven Development
  • Product Owner Certification
Combine any of these training classes with the Agile Development Practices conference and save $500!

For more information, visit www.sqetraining.com.
 
     
 

FEATURED WEB SEMINAR

Harness the Power of Cloud-based Testing
Sponsored by Micro Focus

Are you confident your business applications can meet demand peaks? As organizations develop applications used by many thousands of worldwide users, traditional load testing methods simply don't measure up. Demanding expensive and complex infrastructures, performance testing is unable to scale up to meet the volumes required by today's Web applications. The cost and complexity of managing these tests makes it imperative to find cost-effective and powerful alternatives. The answer lies in taking testing to the cloud. Join us to learn more about peak-load, cloud-based testing on Tuesday, August 24 at 2 PM EDT.

Register now for
Harness the Power of Cloud-based Testing
 
     
     
 
THE AGILE EXPERIENCE
ATDD: Not as Optional as You Think
With Jennitta Andrea

As a practitioner, I prefer to define agile by its visible outcome, rather than focusing on the collection of practices performed by a team. I define agile as: "delivering running tested features to the user community on a regular basis to maximize business value and to respond to timely feedback with strategic product adaptation." [1] I believe it's healthy for different agile projects to make different decisions about their practices, as long as the outcome is achieved and sustained. Successful projects understand that project context (criticality, complexity, duration, team composition, etc.) is key to making good decisions about their agile process.

That said, it concerns me that far too many teams treat the acceptance-test-driven development (ATDD) practice as optional.

What is ATDD?

ATDD (a.k.a. story-test-driven development, functional-test-driven development, behavior-driven development, etc.) is the practice of expressing functional story requirements as concrete examples or expectations prior to story development. During story development, a collaborative workflow occurs in which: examples written and then automated; granular automated unit tests are developed; and the system code is written and integrated with the rest of the running, tested software. The story is "done"—deemed ready for exploratory and other testing—when these scope-defining automated checks pass.[2]

Why should we practice ATDD?

Software processes are like an ecosystem; all of the components—activities, practices, roles, workflows, tempo, tools, and work products—depend upon and enable each other in complex and unexpected ways.

ATDD enables:

Trustworthy specifications—ATDD requirements specifications are trusted because they are concrete, thus bringing areas of ambiguity and inconsistency to light very early. They are living (automated) documents that will not get out of sync with the code. Whenever the code is changed, immediate feedback is provided about mismatches between the two. This level of trust exists for the lifetime of the system, facilitating the transition to operational support for maintenance and enhancements.

Short iterations—Given the above definition, the key to an agile project is incrementally building the system, feature by feature. Everything—requirements, design, development, integration, testing, and review—is condensed in order to fit an entire cycle into a short, fixed-sized iteration (typically two weeks). ATDD helps the team maintain a concrete, clear focus and provides an unambiguous definition of what "done" means for each piece of work in the iteration.

Incremental development—Working incrementally means different people will revisit and integrate the same code many times. This approach is not practical unless there is a safety net of automated checks to ensure unintended side effects have not been introduced. ATDD builds such a safety net at both the business-and technology-facing levels. [3]

Enriched tester role—In the early days of agile, it was thought that ATDD would make testers obsolete. Early agile projects found out the hard way that the tester role is needed more than ever. Ironically ATDD makes the tester role much more enriched and valuable. Automated examples and unit tests take care of the "checking," guaranteeing a stable system for the testers to perform their creative, skilled, and value-added work of "testing." [4]

Highly testable system—ATDD produces a highly testable system. Having examples and unit tests drive development ensures that the system can be accessed and validated from any possible angle, facilitating future automation as well as manual testing and operational diagnosis.

But, there is a cost to achieving these ATDD benefits. ATDD depends on collaboration, skill, and discipline. Examples are the result of the collaborative effort of many different roles (subject matter experts, analysts, testers, and developers). Skill and discipline are required to make examples locatable, readable, maintainable, and efficient. Discipline is needed to consistently embed examples and unit tests into the development and integration activities, and to apply design for testability strategies and patterns. Selecting the appropriate tool for expressing, automating, and maintaining examples is a critical success factor. [5]

What if we don’t practice ATDD?

An ecosystem shows signs of distress when balance is disrupted; having too much or too little of something can have serious consequences in other areas. All of the benefits described above quickly unravel if ATDD is missing. In particular, incremental story d evelopment puts high demands on the tester role due to constant demands to manually regression test an ever-changing system. If you've experienced or heard of a "bad" agile project, chances are good that the way they performed ATDD (if at all) is one of the root causes of their problems.

What’s next?

On August 8, 2010, a community of practice retrospective was held to share the successes and reflect on the challenges a variety of different teams have experienced with ATDD. [6] The goal of this workshop was to increase overall community learning so that we can effectively focus our energy on individual, team, tool, and AAFTT-program improvements. The key findings from this event will be summarized in my next contribution to the Iterations eNewsletter (October 2010).

* * *

Read ATDD: Not as Optional as you Think on StickyMinds where you can comment on the article and read the article references and Jennitta's bio.

Visit the Iterations Archive to find out what you may have missed in past issues.
 
     
 
ADVERTISEMENT
Agile Development Practices East 2010 Brochure
November 14-19, 2010 | Orlando, Florida

The Agile Development Practices brochure is now ready in its digital form! Explore all that is being offered, and choose from 100 learning and networking sessions over six days. Check it out, and save by registering early.

*Register by August 27, 2010, and receive a $50 Amazon.com gift card PLUS up to $400 off!*

Click
here for more information.
 
     
  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.  
     
 
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 your email white list.

horizontal rule

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