December 23, 2008

Agile Testing: A Practical Guide for Testers and Agile Teams

Product Description
“As Agile methods have entered the mainstream, we’ve learned a lot about how the testing discipline fits into Agile projects. Lisa and Janet give us a solid look at what to do, and what to avoid, in Agile testing.”
—Ron Jeffries,

“An excellent introduction to agile and how it affects the software test community!”
—Gerard Meszaros, Agile Practice Lead and Chief Test Strategist at Solution Frameworks, Inc., an agile coaching and lean software development consultancy

“In sports and music, people know the importance of practicing technique until it becomes a part of the way they do things. This book is about some of the most fundamental techniques in software development—how to build quality into code—techniques that should become second nature to every development team. The book provides both broad and in-depth coverage of how to move testing to the front of the development process, along with a liberal sprinkling of real-life examples that bring the book to life.”
—Mary Poppendieck, Author of Lean Software Development and Implementing Lean Software Development

“Refreshingly pragmatic. Chock-full of wisdom. Absent of dogma. This book is a gamechanger. Every software professional should read it.”
—Uncle Bob Martin, Object Mentor, Inc.

“With Agile Testing, Lisa and Janet have used their holistic sensibility of testing to describe a culture shift for testers and teams willing to elevate their test effectiveness. The combination of real-life project experiences and specific techniques provide an excellent way to learn and adapt to continually changing project needs.”
—Adam Geras, M.Sc. Developer-Tester, Ideaca Knowledge Services

“On Agile projects, everyone seems to ask, ‘But, what about testing?’ Is it the development team’s responsibility entirely, the testing team, or a collaborative effort between developers and testers? Or, ‘How much testing should we automate?’ Lisa and Janet have written a book that finally answers these types of questions and more! Whether you’re a tester, developer, or manager, you’ll learn many great examples and stories from the real-world work experiences they’ve shared in this excellent book.”
—Paul Duvall, CTO of Stelligent and co-author of Continuous Integration: Improving Software Quality and Reducing Risk

“Finally a book for testers on Agile teams that acknowledges there is not just one right way! Agile Testing provides comprehensive coverage of the issues testers face when they move to Agile: from tools and metrics to roles and process. Illustrated with numerous stories and examples from many contributors, it gives a clear picture of what successful Agile testers are doing today.”
—Bret Pettichord, Chief Technical Officer of WatirCraft and Lead Developer of Watir

Testing is a key component of agile development. The widespread adoption of agile methods has brought the need for effective testing into the limelight, and agile projects have transformed the role of testers. Much of a tester’s function, however, remains largely misunderstood. What is the true role of a tester? Do agile teams actually need members with QA backgrounds? What does it really mean to be an “agile tester?” 

Two of the industry’s most experienced agile testing practitioners and consultants, Lisa Crispin and Janet Gregory, have teamed up to bring you the definitive answers to these questions and many others. InAgile Testing, Crispin and Gregory define agile testing and illustrate the tester’s role with examples from real agile teams. They teach you how to use the agile testing quadrants to identify what testing is needed, who should do it, and what tools might help. The book chronicles an agile software development iteration from the viewpoint of a tester and explains the seven key success factors 
of agile testing.

Readers will come away from this book understanding
  • How to get testers engaged in agile development
  • Where testers and QA managers fit on an agile team
  • What to look for when hiring an agile tester
  • How to transition from a traditional cycle to agile development
  • How to complete testing activities in short iterations
  • How to use tests to successfully guide development
  • How to overcome barriers to test automation
This book is a must for agile testers, agile teams, their managers, and their customers.

About the Author
Lisa Crispin is dedicated to helping agile teams and testers discover good ways to deliver the best possible product. She specializes in showing testers and agile teams how testers can add value and how to guide development with business-facing tests. Since 2003, she’s been a tester on a Scrum/XP team at ePlan Services, Inc., and frequently leads tutorials and workshops on agile testing at conferences. Lisa regularly contributes articles about agile testing to publications such as Better Software magazine, IEEE Software, and Methods and Tools. Lisa also coauthored Testing Extreme Programming (Addison-Wesley, 2002) with Tip House.

Janet Gregory is the founder of DragonFire, Inc., an agile quality process consultancy and training firm. Her passion is helping teams build quality systems. Since 1998, she has worked as a coach and tester introducing agile practices into both large and small companies. Her focus is working with business users and testers to understand their role in agile projects. Janet is a frequent speaker at agile and testing software conferences, and she is a major contributor to the North American agile testing community.

December 22, 2008

Agile Documentation: A Pattern Guide to Producing Lightweight Documents for Software Projects

A"A...many (Test Documents) would benefit from this treatmentA...A" (Professional Tester, October 03) "...applicable to documentation for any project...highly recommended..." (CVu, Vol 16(4), August 2004)

many (Test Documents) would benefit from this treatment (Professional Tester, October 03)

"...applicable to documentation for any project...highly recommended..." (CVu, Vol 16(4), August 2004) 

Product Description
Documentation is the castor oil of programming. Managers think it is good for programmers, and programmers hate it! Jerry Weinberg in Psychology of Computer Programming

Andreas RĂ¼ping sugars the pill by giving sound advice on how to produce lean and lightweight software documentation. It will be welcomed by all project team members who want to cut out the fat from this time consuming task. Guidance given in pattern form, easily digested and cross-referenced, provides solutions to common problems. Straightforward advice will help you to judge:

  • What details should be left in and what left out
  • When communication face-to-face would be better than paper or online
  • How to adapt the documentation process to the requirements of individual projects and build in change
  • How to organise documents and make them easily accessible
  • When to use diagrams rather than text
  • How to choose the right tools and techniques
  • How documentation impacts the customer

Better than offering pat answers or prescriptions, this book will help you to understand the elements and processes that can be found repeatedly in good project documentation and which can be shaped and designed to address your individual circumstance. The author uses real-world examples and utilises agile principles to provide an accessible, practical pattern-based guide which shows how to produce necessary and high quality documentation. 

December 21, 2008

Agile Software Development

Product Description
Lightweight methodologies are exploding in popularity because their flexibility is ideal for today's fast-changing development environments. In Agile Software Development, legendary software expert Alistair Cockburn reviews the advantages and disadvantages of lightweight methods, synthesizing the field's key lessons into a simplified approach that allows developers to focus on building quality software rapidly, cost-effectively, and without burnout. Ideal for managers seeking to transcend yesterday's failed approaches, the agile movement views software development as a cooperative game. As players move throughout the game, they use markers and props to inform, remind, and inspire themselves and each other. The goal of the game: to deliver a working software system -- and to use the lessons of each project to build a new, smarter "game" for the next project. For every IT executive and manager, software developer, team leader, team member, and client concerned with building robust, cost-effective software. 

From the Back Cover

"Coming of age for software developers means understanding that software is a cooperative effort, not something individuals do in isolation. This is a book that teams of software developers can thrive upon, full of sensible advice for a cooperative development approach."

--Tom DeMarco, The Atlantic Systems Guild

Software development paradigms are shifting. The development group's "team" ability, and the effects of the individual developer, become more important as organizations recognize that the traditional approach of increasing process pressure and overworking team members is not meeting getting the job done. The pioneers of Agile methodologies question the preconceived processes within which development teams work. Rather than adding to the burden of the individual developer, Agile asks "how can we change the process so that the team is more productive, while also improving quality?" The answer is in learning to play the "game."

Written for developers and project managers, Agile Software Development compares software development to a game. Team members play the game knowing that the ultimate goal is to win--always remembering what they have learned along the way, and always keeping in mind that they will never play the same way twice. Players must keep an open mind to different methodologies, and focus on the goal of developing quality software in a short cycle time.

Based on a decade's work and research, and interviews with software project teams, this book presents sound advice for bringing difficult projects to successful conclusion with a minimum of stress. It includes advice on:

  • The principals behind agile methodologies
  • Which methodologies fit different projects--including appendixes to select the appropriate methodology on a project
  • New vocabulary for describing methodologies
  • Just-in-time methodology tuning
  • Managing the incompleteness of communication
  • Continuous methodology reinvention
  • The manifesto for agile software development

Today's software developers need to recognize that they have a number of methodologies to choose from. With this book as a guide, they can break free of nonproductive habits, move beyond old routines, and clear a new path to success.

December 20, 2008

Agile Modeling: Effective Practices for Extreme Programming and the Unified Process

"...I would not hesitate in recommending this book..." (CVu, October 2004) "...easy--to--follow...enjoyable writing style...overall the book is impressive...valuable reading..." (Software Testing, Verification & Reliability, March 2003)

“…I would not hesitate in recommending this book…” (CVu, October 2004)

“…easy-to-follow…enjoyable writing style…overall the book is impressive…valuable reading…” (Software Testing, Verification & Reliability, March 2003)

...easy-to-follow; enjoyable writing style; overall the book is impressive; valuable reading... -- Software Testing, Verification & Reliability, March 2003 

Product Description
The first book to cover Agile Modeling, a new modeling technique created specifically for XP projects eXtreme Programming (XP) has created a buzz in the software development community-much like Design Patterns did several years ago. Although XP presents a methodology for faster software development, many developers find that XP does not allow for modeling time, which is critical to ensure that a project meets its proposed requirements. They have also found that standard modeling techniques that use the Unified Modeling Language (UML) often do not work with this methodology. In this innovative book, Software Development columnist Scott Ambler presents Agile Modeling (AM)-a technique that he created for modeling XP projects using pieces of the UML and Rational's Unified Process (RUP). Ambler clearly explains AM, and shows readers how to incorporate AM, UML, and RUP into their development projects with the help of numerous case studies integrated throughout the book.