Section 17.1. Introduction


17.1. Introduction

We catch up with RentAPartySoftware after a break of a few months. "Things are humming," Mitra exclaimed, "and we're seeing real benefits from the changes. We're all surprised at the improvement in quality, and we're getting fast at writing Fit tests for the current system and to drive new developments."

Tip

Writing Fit tests to communicate is a simpler and faster way to get feedback than to mock up a GUI to check out the ideas and much simpler than building a solution into the application for you to see and comment on.


"We've been adding tests in the areas that are changing and that are problematic," explained Don. "About 30 percent of the app is tested at this stage, and almost no bugs have been reported for those areas. We've especially made progress in the charging area; the problems with early and late returns seem to be licked."

"The number of outstanding bugs has dropped right down," Don added, "and far fewer are being reported. A few bugs remain; the testers have not been able to duplicate reported problems."

"And," Seth reported, "We're seeing a pleasing increase in customer satisfaction."

RentAPartySoftware has been carrying out agile software development [Bec04], [Coc01], [Mar02], [SB02], [PP03], [Hig04], [Coc04], with Extreme Programming, for 6 weeks.

Note

The role of Customer is defined in Extreme Programming. The Customer role is responsible for setting the direction for the software development. This is filled by one or more people with a business perspective, such as business analysts. Mitra and Seth are the Customers on the development team at RentAPartySoftware.

In Extreme Programming, work is always done on the highest-priority additions to the software. Short, fixed-time iterations of, say, one or two weeks are used to evolve the software. At the start of each iteration, decisions are made by the Customers as to which functionality is to be added in that iteration.

These new functions are called stories in Extreme Programming. Customers create the stories, choose the highest-priority ones for the next iteration, and work with testers to write Fit tests for those stories. The tests help to define the requirements and are used to determine whether a story is implemented completely.

The short iterations mean that the Customers can try out the extended application with little delay. They can use it to assess the approach that's been taken in the software to respond to new opportunities and to solve important business issues. They have a system to play with to get feedback on their ideas and to refine their thinking. And, sometimes, this process inspires new ways of thinking about business problems and solutions.

The short iterations also force priority decisions to be made on a regular basis. Often, stories that are put forward earlier as "very important" are never selected, because feedback from the evolving system drives the development in unexpected but fruitful directions.

"Maybe a third of the stories that we wrote when we first started Extreme Programming have still not been selected," explained Mitra. "We've since realized that there are actually more important things to do."


Don proudly showed off a few of the 330 Fit tests (pages) that are in place now: "I'm delighted at the difference it makes to be writing Fit tests before the implementation, rather than afterward. Instead of pressure at the end, we can apply our skills at the start."



    Fit for Developing Software. Framework for Integrated Tests
    Fit for Developing Software: Framework for Integrated Tests
    ISBN: 0321269349
    EAN: 2147483647
    Year: 2005
    Pages: 331

    flylib.com © 2008-2017.
    If you may any questions please contact us: flylib@qtcs.net