Section 19.2. Getting Fit at RentAPartySoftware


19.2. Getting Fit at RentAPartySoftware

Fit tests were introduced at RPS along with agile software development. Several issues were raised at the beginning and some goals set. Let's review the progress after several months.

The issues were as follows.

  • Some parts have had ongoing bugs. After focusing attention on these areas with Fit tests, Don felt that they were getting them under control. "Now we write a test for a bug before we try and fix it, improving our regression testing."

  • The developers fear changing the software and the database. Once Fit tests were in place for parts of the system, Emily was pleased with progress on refactoring without fear. "Getting fast feedback on little, inevitable mistakes is so good. It's amazing to think how much debugging we used to do, without knowing better."

  • Their testing tools have been unsatisfactory. Don is now at ease and fluent with Fit. "It takes a while to get into inventing and changing the language of the business rulesor tests. It's much more satisfying to write the tests as we work out what's needed, rather than afterward."

  • There are delays in having problems fixed when the programmer responsible for that part is away. Neo sees this as less and less of a problem. "With the parts of the system that are changing, almost anyone can fix problems. Pair programming and no code ownership now work well. It took us some time to get used to making small changes and regular check-ins. Luckily, there are also far fewer problems in those parts of the system that are tested."

  • There have been problems with configuration on customer sites. This issue still needs to be dealt with, but Don expects that automated tests for configuration will sort out much of this, as well as speed up any on-site time.

  • All the documents are out of date. The old documents are still out of date. No one seems concerned about this. As Mitra commented, "Having the Fit tests up to date seems to be sufficient."

  • The testers are unhappy about the lack of time to test before new versions are shipped, especially with last-minute changes to the software. Sarah had commented on how their whole approach to tests and testing has changed. "Rather than a scramble before delivery, the focus at that stage is now on exploratory testing. Having the tests up front frees the testers to add real value, rather than laboriously picking up trivial errors. It's great that the programmers are going well with unit tests."

  • Little software problems have been fixed but mysteriously return later. Regression tests have helped sort that out.

Their goals were as follows.

  • Have all customers eager to move to the latest version of RentEz, so as to cut the cost of maintaining several versions. Seth reported, "This is starting to happen. Several customers are now eager to get new releases."

  • Reduce the time taken to add new features, to help sales and to reduce costs. Mitra had noticed that this was happening, "especially in the parts of the system that had been 'worked over.' I expect to see further improvements over time."

  • Improve the estimates of the effort to add possible new features. As the planning game became second nature, Emily had tracked the vast improvement in the accuracy of estimates from the development team. As she commented, "It's amazing what good feedback can do!" This accuracy in turn helped Mitra and Seth make better decisions about what features to add next.

  • Improve current customer satisfaction and reduce the number of complaints of problems with RentEz. "Several customers," reported Seth, "have commented on the higher quality of the latest release and our faster response to their needs. There have certainly been fewer compaints with that release than usual."

  • Reduce the number of bugs reported from the field and the number yet to be fixed. Don reported, "The number of bug reports has dropped by half. The bugs outstanding have dropped right off, too."

  • Reduce the time spent in finding the cause of bugs and fixing them. Neo reported, "Even when we take account of fewer bugs, we generally deal with them more quickly. Some parts of the system are problematic and need to be tested."

  • Reduce the effort spent on developing extensions that require drastic rework. Mitra reported that where she and Seth had showed the Fit tests to customers, less rework seemed to be needed. "Where possible, we do the most important changes and get feedback if we can before proceeding. We pick up misunderstandings earlier than before."

  • Reduce the overtime and the stress of last-minute rushes to get software out. Neo reported that "Extreme Programming, with an emphasis on doing the most important things first, is starting to have an impact here. With pair programming, it's more difficult to blob out. With test-driven development, we get excellent code coverage with our tests."

  • Focus the effort on the changes that help sell the product and are most beneficial to clients. Seth admitted, "Yes, this focus has been a good one. It's not easy, however, to really understand potential benefit to our customers when they don't!"



    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