For some time now Software Engineering and Quality Assurance has focused on the process or method for developing software. If the process or method were rigorous enough, then quality would follow. Having been a part of several organizations taking this approach, I have found that many of the practices institutued cause severe disruptions to software development productivity. When productivity dropped, so did quality. Over the years I have come to the conclusion that quality is not the goal. Productivity is the goal, and quality is the by-product. If you keep your software development teams productive, quality follows.
The purpose of this tutorial is to relay my experiences for keeping software teams productive. We will discuss first of all the nature of software development. Unless we come to an understanding of software development, we cannot be sure that we are addressing the right problems to support a productive software development environment. Next, we will discuss the "3 T’s" of software development productivity, namely Talent, Technique, and Technology, in that order. Talent is the most important of the 3 T’s. Good software development talent will produce good software, regardless of the technique and technology you select. However, good technique and technology will make good talent even better. Finally, we will wrap up the tutorial with discussion of an action plan you can take in your organization to foster better productivity.
Software project managers, leads, developers, and quality assurance professionals looking for a simpler and more effective manner to produce quality software under a variety of circumstances. All participants should have a background of being involved in producing software, and should have taken at least one software produce through one complete software development lifecycle.
Each participant will have the ability to: