ISBN: 0321269349
Publisher: Prentice Hall PTR
Publication Date: Jun 29, 2005
Edition: 1st
Binding: Paperback
Number of Pages: 384
Advertisement
"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 mechanism that 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. This book 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 and powerful 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 include
Integrating Fit into your development processes
Using Fit to promote effective communication between businesspeople,
testers, and developers
Expressing business rules that define calculations, decisions, and
business processes
Connecting Fit tables to the system with "fixtures" that check whether
tests are actually satisfied
Constructing tests for code evolution, restructuring, and other changes to
legacy systems
Managing the quality and evolution of tests
A companion Web site (http://fit.c2.com/)
that offers additional resources and source code