"The unique thing about "Fit for Developing Software" is the way it
addresses the interface between customers/testers/analysts and
programmers. All will find something in the book about how others
wish to be effectively communicated with. A Fit book for
programmers wouldn't make sense because the goal is to create a
language for business-oriented team members. A Fit book just for
businesspeople wouldn't make sense because the programmers have to
be involved in creating that language. The result is a book that
should appeal to a wide range of people whose shared goal is
improving team communications."
--Kent Beck, Three Rivers Institute
"Even with the best approaches, there always seemed to be a gap
between the software that was written and the software the user
wanted. With Fit we can finally close the loop. This is an
important piece in the agile development puzzle."
--Dave Thomas, coauthor of "The Pragmatic Programmer"
"Ward and Rick do a great job in eschewing the typical, overly
complicated technology trap by presenting a simple, user-oriented,
and very usable technology that holds fast to the agile principles
needed for success in this new millennium."
--Andy Hunt, coauthor of "The Pragmatic Programmer"
"Florida Tech requires software engineering students to take a
course in programmer testing, which I teach. Mugridge and
Cunningham have written a useful and instructive book, which will
become one of our course texts."
--Cem Kaner, Professor of Software Engineering, Florida
Institute of Technology
"Rick and Ward continue to amaze me. Testing business rules is a
fundamentally hard thing that has confounded many, and yet these
two have devised a mechanismthat cuts to the essence of the
problem. In this work they offer a simple, thorough, approachable,
and automatable means of specifying and testing such rules."
--Grady Booch, IBM Fellow
"By providing a simple, effective method for creating and
automating tabular examples of requirements, Fit has dramatically
improved how domain experts, analysts, testers, and programmers
collaborate to produce quality software."
--Joshua Kerievsky, founder, Industrial Logic, Inc., and author
of "Refactoring to Patterns "
"Agile software development relies on collaborating teams, teams
of customers, analysts, designers, developers, testers, and
technical writers. But, how do they work together? Fit is one
answer, an answer that has been thoroughly thought through,
implemented, and tested in a number of situations. Primavera has
significantly stabilized its product lineusing Fit, and I'm so
impressed by the results that I'm suggesting it to everyone I know.
Rick and Ward, in their everlasting low-key approach, have again
put the keystone in the arch of software development.
Congratulations and thanks from the software development
community."
--Ken Schwaber, Scrum Alliance, Agile Alliance, and codeveloper
of Scrum
"Fit is the most important new technique for understanding and
communicating requirements. It's a revolutionary approach to
bringing experts and programmers together. This book describes Fit
comprehensively and authoritatively. If you want to produce great
software, you need to read this book."
--James Shore, Principal, Titanium I.T. LLC
"There are both noisy and quiet aspects of the agile movement
and it is often the quieter ones that have great strategic
importance. Thisbook by Ward and Rick describes one of these
absolutely vital, but often quieter, practices--testing business
requirements. A renewed focus on testing, from test-driven
development for developers to story testing for customers, is one
of the agile community's great contributions to our industry, and
this book will become one of the cornerstones of that contribution.
Stories are done-done (ready for release) when they have been
tested by both developers (done) and customers (done-done). The
concepts and practices involved in customer story testing are
critical to project success and wonderfully portrayed in this book.
Buy it. Read it. Keep it handy in your day-to-day work."
--Jim Highsmith, Director of Agile Software Development &
Project Management Practice, Cutter Consortium
"I have been influenced by many books, but very few have
fundamentally changed how I think and work. This is one of those
books. The ideas in this book describe not just how to use a
specific framework in order to test our software, but also how we
should communicate about and document that software. This book is
an excellent guide to a tool and approach that will fundamentally
improve how you think about and build software--as it has done for
me."
--Mike Cohn, Mountain Goat Software, author of "User Stories
Applied "
"Fit is a tool to help whole teams grow a common language for
describing and testing the behavior of software. This books fills a
critical gap--helping both product owners and programmers learn
what Fit is and how to use it well."
--Bill Wake, independent consultant
"Over the past several years, I've been using Fit and FitNesse
with development teams. They are not only free andpowerful testing
tools, they transform development by making the behavior of
applications concrete, verifiable, and easily observable. The only
thing that has been missing is a good tutorial and reference. Rick
Mugridge and Ward Cunningham's "Fit For Developing Software" fits
the bill. Essentially, two books in one, it is a very readable
guide that approaches Fit from technical and nontechnical
perspectives. This book is a significant milestone and it will make
higher software quality achievable for many teams."
--Michael C. Feathers, author of "Working Effectively with
Legacy Code," and consultant, Object Mentor, Inc.
"Wow! This is the book I wish I had on my desk when I did my
first story test-driven development project. It explains the
philosophy behind the Fit framework and a process for using it to
interact with the customers to help define the requirements of the
project. It makes Fit so easy and approachable that I wrote my
first FitNesse tests before I even I finished the book.
"For the price of one book, you get two, written by the
acknowledged thought leaders of Fit testing. The first is written
for the nonprogramming customer. It lays out how you can define the
functionality of the system you are building (or modifying) using
tabular data. It introduces a range of different kinds of 'test
fixtures' that interpret the data and exercise the system under
test. While it is aimed at a nontechnical audience, even
programmers will find it useful because it also describes the
process for interacting with the customers, using the Fit tests as
the focal point of the interaction.
"The second 'book' is targeted to programmers. It describes how
to build each kind of fixture described in the first book. It also
describes many other things that need to be considered to have
robust automated tests--things like testing without a database to
make tests run faster. A lot of the principles will be familiar to
programmers who have used any member of the xUnit family of unit
testing frameworks. Rick and Ward show you how to put it into
practice in a very easy-to-read narrative style that uses a
fictitious case study to lead you through all the practices and
decisions you are likely to encounter."
--Gerard Meszaros, ClearStream Consulting
The Fit open source testing framework brings unprecedented
agility to the entire development process. "Fit for Developing
Software" shows you how to use Fit to clarify business rules,
express them with concrete examples, and organize the examples into
test tables that drive testing throughout the software lifecycle.
Using a realistic case study, Rick Mugridge and Ward
Cunningham--the creator of Fit--introduce each of Fit's underlying
concepts and techniques, and explain how you can put Fit to work
incrementally, with the lowest possible risk. Highlights
includeIntegrating Fit into your development processesUsing Fit to
promote effective communication between businesspeople, testers,
and developersExpressing business rules that define calculations,
decisions, and business processesConnecting Fit tables to the
system with "fixtures" that check whether tests are actually
satisfiedConstructing tests for code evolution, restructuring, and
other changes to legacy systemsManaging the quality and evolution
of testsA companion Web site (http: //fit.c2.com/) that offers
additional resources and source code