Program: 50 Lessons Learned from Software Maintenance Projects: Painlessly Benefit from What Others Painfully Learned Doing Software Maintenance

Almost all the mistakes made by software projects, even those on the leading edge of technology, other projects have made before. This tutorial collects together useful lessons from software maintenance and modernization projects both large and small -- many from project lessons learned reports. They range from the elementary but common to the advanced but fatal.

As a profession, software engineering is not yet systematic in learning from its mistakes. Each generation of new technology and people not only make the acceptable new mistakes when pioneering, but also repeats the bulk of the old mistakes and relearns the lessons of prior generations. The lessons learned include ones from: project management, requirements and customer/user relations, design, coding and content, verification and testing, release and introduction, maintenance staff and process.

While not every one of the fifty lessons may apply in your situation, most of the lessons are universal. And, although you may find applying some easy and some difficult, all are worthy of attention. You will also leave the tutorial with references to additional valuable information about effectively performing software maintenance projects.

Presenters: Samuel T. Redwine, Jr.

A long-time figure in software engineering, Samuel T. Redwine, Jr. is immediate-past editor of the IEEE Computer Society Software Engineering Technical Council Newsletter. He has received several major professional awards and has authored over 50 publications. His interests include organizational improvement; technology transfer; R&D management; and software engineering, quality, technology, and management. Known for his one-liners, Mr. Redwine has worked in industry and consulting for more than 25 years including time at MITRE, Institute for Defense Analyses, and the Software Productivity Consortium. He is currently an Associate Professor at James Madison University and heads samredwine.com, an independent consulting firm. Previously an Adjunct Professor at George Mason University and Virginia Tech, he has B. S. and M. S. degrees from M. I. T. and is a member of IEEE, ACM, and the American Society for Quality (ASQ). He is an ASQ Certified Software Quality Engineer. Mr. Redwine is a Distinguished Visiting Speaker for the IEEE Computer Society and participates in its Chapter Tutorial Program.