Register your product to gain access to bonus material or receive a coupon.
The book is based on the "best practices" of the UT Software Quality Institute Software Project Management certificates program. Quality Software Project Management identifies and teaches 34 essential project management competencies project managers can use to minimise cost, risk, and time-to-market. Covers the entire project lifecycle: planning. initiation, monitoring/control, and closing. Illuminates its techniques with real-world software management case studies. Authors (leading practitioners) address the pillars of any successful software venture: process, project, and people. Endorsed by the Software Quality Institute.
How You Can Benefit from Software Configuration Management
Contents.
Foreword.
Preface.
Using the Guide as a Course Text.
Acknowledgements.
1. Introduction.
Introduction to the 34 Competencies. Surveying the Foundations. Some Other Useful Definitions. Product Development Techniques. Project Management Skills. Summary. Problems for Review. Citations.
Background Information on the Chinese Railway System. Railroad Building in China. Chinese Business Environment. Project Description. A Final Note: Potential Market for Software. Citations. Web Pages for Further Information.
Key Chapter 3 Points. Where We Are in the Product Development Life Cycle. Chapter 3. Relation to the 34 Competencies. Learning Objectives for Chapter 3. SEI CMM Level 3 Is the Defined Level. IEEE 1074-Process Map for Software Life Cycle Process. Customized Software Development Process. Software Project Management Organization Life Cycle. Summary. Problems for Review. Visit the Case Study. Citations. References. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 4 Relation to the 34 Competencies. Learning Objectives for Chapter 4. What Is a Software Development Life Cycle? Why Are Software Development Life Cycles Important? Selection and Tailoring of Software Development Life Cycles. Is a Quality Objective. The SEI CMM and the Life Cycle. International Organization for Standardization (ISO)/IEC 12207. Software Development Life Cycle Models. Selecting an Appropriate Software Development Life Cycle Model. Customizing the Life Cycle Model. Summary. Problems for Review. Visit the Case Study. Citations. References. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 5 Relation to the 34 Competencies. Learning Objectives for Chapter 5. Defining the Process Domain. Project Selection Models. Project Portfolio Management. Understanding Financial Processes. Summary. Problems for Review. Visit the Case Study. Citations. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 6 Relation to the 34 Competencies. Learning Objectives for Chapter 6. Selecting a Project Team. The Whole Is the Sum of the Parts. Parts Need to Work Together. Working Together Requires a Framework. Providing the Total Solution. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 7 Relation to the 34 Competencies. Learning Objectives for Chapter 7. Project Planning. What Is “The Goal”? What Is the Scope of Work? Project Charter. The Software Project Management Plan. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 8 Relation to the 34 Competencies. Learning Objectives for Chapter 8. What Is a Work Breakdown Structure? Approaches to Building a WBS. Defining Project Milestones. Creating Work Packages. Building a WBS for Software. Summary. Problems for Review. Visit the Case Study. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 9 Relation to the 34 Competencies. Learning Objectives for Chapter 9. Characteristics of Tasks and Activities. The Activity ID Process. Summary. Problems for Review. Visit the Case Study. References. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 10 Relation to the 34 Competencies. Learning Objectives for Chapter 10. The SEI CMM and Estimating. Problems and Risks with Estimating Software Size. Getting Started with Software Sizing: Estimating Begins with Planning. The Effects of Reuse on Software Size. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 11 Relation to the 34 Competencies. Learning Objectives for Chapter 11. The SEI CMM and Estimating. Effort Measures. The Steps in Estimating. COCOMO: A Regression Model. COCOMO II. SLIM: A Mathematical Model. Summary. Problems for Review. Visit the Case Study. Citations. References. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 12 Relation to the 34 Competencies. Learning Objectives for Chapter 12. Organizational Planning. Identifying and Documenting the Project Roles and Skills Needed. Assigning Responsibilities to Individuals. Establishing Reporting Relationships. Project Management Resource Activities During Execution. Summary. Problems for Review. Visit the Case Study. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 13 Relation to the 34 Competencies. Learning Objectives for Chapter 13. What Is an Organization? Characteristics of an Organization. Organizational Structures. Implementing an Organizational Structure. Summary. Problems for Review. Visit the Case Study. Citations. References. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 14 Relation to the 34 Competencies. Learning Objectives for Chapter 14. What Are Dependencies? Types of Software Development Dependencies. Brainstorming Dependencies and Activities. Summary. Problems for Review. Visit the Case Study. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 15 Relation to the 34 Competencies. Learning Objectives for Chapter 15. Why Schedule? The Uncertainty of Scheduling the Future. Scheduling Fundamentals. PERT and CPM Scheduling. Leveling Resource Assignments. Map the Schedule to a Real Calendar. Critical Chain Scheduling. Complete Process for Building a Real Schedule. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 16 Relation to the 34 Competencies 506. Learning Objectives for Chapter 16. Background for Requirements Management. Requirements Management and the SEI CMM. Critical Success Factors as Applied to Software Requirements. What Is a Software Requirement? What Makes a “Good” Software Requirement? Requirements Elicitation Methods. Guidelines for Writing Quality Requirements. Challenges in Eliciting Requirements. Requirements and Quality Function Deployment. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 17 Relation to the 34 Competencies. Learning Objectives for Chapter 17. Questions the SRS Answers for a Project. Benefits of an SRS. Building the SRS. Evaluating the Project SRS. Degree of Stability. Degree of Necessity. Verifiability. Modifiability. Traceability. Some Final Hints. Summary. Problems for Review. Visit the Case Study. Citations. References. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 18 Relation to the 34 Competencies. Learning Objectives for Chapter 18. What Is Risk Management? Risk Management Models. Project Risk and the SEI. Identifying Risks. Analyzing and Quantifying Risks. Developing and Controlling Risks. Risk Categories. Steps in Developing a Risk Management Plan. Summary. Problems for Review. Visit the Case Study. Citations. Web Pages for Further Information. Risk Management Tools. References.
Where We Are in the Product Development Life Cycle. Chapter 19 Relation to the 34 Competencies. Learning Objectives for Chapter 19. Software, Engineering, and Software Engineering. Software Engineering Body of Knowledge. SWEBOK and the SEI CMM. SWEBOK and the 34 Software Project Management Competencies. SWEBOK and Quality Software Project Management. Summary. Problems for Review. Visit the Case Study. Citations. Web Pages for Further Information. Suggested Readings.
Where We Are in the Product Development Life Cycle. Chapter 20 Relation to the 34 Competencies. Learning Objectives for Chapter 20. Software Reliability Terminology. Fault Forecasting. Fault Prevention. Fault Removal. Fault Tolerance. Reliability Tools. Software Reliability Plan. Summary. Problems for Review. Visit the Case Study. Citations. Standards. Web Pages for Further Information. Tools. Suggested Readings.
Where We Are in the Software Life Cycle. Chapter 21 Relation to the 34 Competencies. Learning Objectives for Chapter 21. What Is a Metric? The Importance of Metrics to Software Projects. Metrics and the SEI CMM. SEI CMM Level 2: Repeatable. SEI CMM Level 3: Defined. SEI CMM Level 4: Managed. Useful Metrics. The Basili Goal/Question/Metric Paradigm. A "Basic Metrics" Starter Set. Measuring Aspects of Software Quality. The Metrics Plan. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 22 Relation to the 34 Competencies. Learning Objectives for Chapter 22. Analysis and Design and the SEI CMM. Structured Analysis/Structured Design (SA/SD). Object-Oriented Analysis/Object-Oriented Design (OOA/OOD). Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Reviews, Inspections, and Walkthroughs. Testing. Where We Are in the Product Development Life Cycle. Chapter 23 Relation to the 34 Competencies. Learning Objectives for Chapter 23. Static Testing: Reviews. Dynamic Testing. Directed Flow Graph: McCabe Cyclomatic Complexity Analysis. User Acceptance and Usability Testing. The Ideal Test Coverage. Dynamic Testing: Measurement, Reporting, and Decision Making. Object-Oriented Testing. Summary of Dynamic Testing. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Learning Objectives for Chapter 24. Software Requirements Tools. Software Design Tools. Software Construction Tools. Software Testing Tools. Software Maintenance Tools. Software Configuration Management Tools-CMM Level 2 and Above. Software Engineering Life Cycle Process Tools. Software Engineering Process Tools. Software Quality Tools. Software Engineering Management Tools. Infrastructure Support Tools. Miscellaneous Tools Issues. Minimal Tool Sets. Summary. Problems for Review. Visit the Case Study. Citations. Tools. Web Pages for Further Information. References.
Where We Are in the Product Development Life Cycle. Chapter 25 Relation to the 34 Competencies. Learning Objectives for Chapter 25. Control Systems. Scope Management. Schedule Management. Cost Management. Quality Management. Progress Management. Risk Management. Summary. Problems for Review. Visit the Case Study. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 26 Relation to the 34 Competencies. Learning Objectives for Chapter 26. Maturity Level Process Characteristics. Waste in the Software Development Organization. Six-Step Software Development Process Improvement Model. Applying the Software Development Process Improvement Model. Summary. Problems for Review. Visit the Case Study. Citations. Tools. Web Pages for Further Information. Suggested Readings.
Where We Are in the Product Development Life Cycle. Chapter 27 Relation to the 34 Competencies. Learning Objectives for Chapter 27. Why Terminate? Types of Termination. What to Do upon Project Termination. Termination Process. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle.
Chapter 28 Relation to the 34 Competencies. Learning Objectives for Chapter 28. What's in a Name? How to Conduct a PPA. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 29 Relation to the 34 Competencies. Learning Objectives for Chapter 29. Effective Communication. Communication Techniques. Communicating with Teams. Communication and Motivation Skills of a Software Project Manager. Behavioral Theory and Motivation. Project Manager Behavior That Motivates. Communicating in Meetings. Communicating via Negotiation. Negotiating and Culture. Communicating via Visual Expression of Information. Reporting Project Status. Communications Management Plan Template. Baseline Plans. Project Reporting. Summary. Problems for Review. Visit the Case Study. Citations. Suggested Readings. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 30 Relation to the 34 Competencies. Learning Objectives for Chapter 30. Building the Software Quality Assurance Plan. Ensuring the SQAP. Summary. Problems for Review. Visit the Case Study. References. Web Pages for Further Information.
What Is Software Configuration Management? Why Is SCM Important? Who Is Involved in SCM? How Can Software Configuration Be Implemented in Your Organization? Where We Are in the Product Development Life Cycle. Chapter 31 Relation to the 34 Competencies. Learning Objectives for Chapter 31. SCM Principles. The Four Basic Requirements for an SCM System. Planning and Organizing for SCM. SCM Tools. Benefits of SCM Process and Tools. Some Problems with Software. Summary. Problems for Review. Visit the Case Study. Citations. References. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Chapter 32 Relation to the 34 Competencies. Learning Objectives for Chapter 32. Product Development Techniques. Project Management Skills. People Management Skills. Legal Risk Issues. Summary. Problems for Review. Visit the Case Study. Web Pages for Further Information. Suggested Readings.
Product Development Techniques. Project Management Skills. People Management Skills. Visit the Case Study.
Case 1: Managing a Portfolio of Client Projects. Hardware Tester Company Projects. Case 2: COTS Software Selection for Information Technology Systems. Case 3: Legacy Software Re-engineering. Problems for Review. Visit the Case Study.
The Technology Business Plan as the Company's Meta-Plan. What Is the Technology Business Plan? Why Build a Technology Business Plan? Technology Business Plan Contents. Making the Business Case Cost Benefit Analysis in a Technology Business Plan. Problems for Review. Visit the Case Study. Web Pages for Further Information.
Where We Are in the Project Management Life Cycle. Learning Objectives for Appendix D. Classical Systems Engineering Model. Requirements Engineering. Types of Product Systems. Problems for Review. Visit the Case Study. References. Web Pages for Further Information. Tools.
Where We Are in the Product Development Life Cycle. Learning Objectives for Appendix E. Managing Distance Projects-Communications. Managing Distance Projects-Remote Teambuilding. Managing Distance Projects-Tools. A Case in Point-Quorus(tm). Ten Commandments of Managing a Remote Project Team. Problems for Review. Visit the Case Study. Citations. Web Pages for Further Information.
Where We Are in the Product Development Life Cycle. Learning Objectives for Appendix F. Software Project Management Plan (SPMP). Software Requirements Specification (SRS). Project Risk Management Plan. Software Test Plan. Software Configuration Management Plan (SCMP). References. Web Pages for Further Information.
What the Team Did Right. What the Team Would Change Next Time. JAD Team Documents. Final JAD Documents.
Glossary.
Print Bibliography. Web Pages for Further Information.
Quality Software Project Management was written by and for software practitioners who need a hands-on guide to the non-deterministic but leading-edge task of managing software development projects. The book takes its overall outline from the successful Software Project Management (SWPM) certification program at The University of Texas at Austin's Software Quality Institute, a division of the College of Engineering's Center for Lifelong Engineering Education (CLEE).
Software project managers and their development teams play a critical role in the success of modern businesses, be they high-tech or otherwise. These professionals and their knowledge of sound management practices and thorough software development, enhancement, and maintenance processes, can determine organizational success or failure.
The trend toward increased software quality is responsible for the promulgation of new standards to certify that development processes meet certain benchmarks. Certifications to standards are becoming more common as buyers demand tighter quality controls. Software project managers must be keenly aware of standards such as those published by the Institute of Electrical and Electronics Engineers (IEEE), as well as continually evolving practices, guided in part by the Software Engineering Institute's (SEI) Capability Maturity Model (CMM), and by a new emphasis on the management of small projects.
It is in recognition of these trends that UT's College of Engineering and its Software Quality Institute (SQI) created the SWPM certificate program in 1993. Since then, hundreds of software project managers have graduated from the program. Those managers are currently applying "best practices" to overcome the limitations of a tight labor force and to meet the rapidly changing needs of their customers and organizations in today's highly competitive marketplace. This book is a consolidation of teachings from that certification program as it has evolved over the years.
In addition to knowledge of the principles of software engineering, software project managers must incorporate skills for managing people, products, and process into their daily routine. For this reason, Quality Software Project Management is grounded in two interlaced bodies of knowledge developed by internationally recognized organizations: the Project Management Institute (PMI?) and the American Society for Quality (ASQ). SQI instructors, many of whom are certified software (CSQE) and project management professionals (PMP?), refine knowledge identified by those two organizations and contribute decades of their own industry experience with the most up-to-date practices. Quality, applicability, timeliness, portability, and profitability are all main areas of focus, both for the SWPM certificate program and for this book, on which it is based.
Software engineering principles and quality goals are necessary but not sufficient for the needs of today's marketplace. Shorter cycle times, completed with fewer resources, are also in demand. Products must be carefully targeted toward the specific functional requirements of increasingly sophisticated customers. Software developers and managers dealing with these challenging and often conflicting goals, must be highly skilled in planning, coordinating, and managing software projects. They must know how to tailor best practices to their current projects and to take advantage of their organization's past experience when constructing project plans. Establishing the proper metrics to monitor project performance is essential, as is having necessary multi-disciplinary team leadership skills. Furthermore, software project management must view the project "big picture" as it relates to their profession and to their career advancement.
Quality Software Project Management has evolved from the strong belief of the authors, and based on their experience, that with a defined process, quality software can be developed in a repeatable fashion. Figure 1 shows that methods, tools, and technology interrelate in complex and constant ways and require the process in order to achieve balance. These three entities are at the heart of quality, software, and project management, and will therefore be used throughout the text. A method is defined as a manner, means, or process for accomplishing something. A tool is defined as an implement or machine used to do work or perform a task. Technology is defined as the application of scientific knowledge in industry or business.
The experience of the authors is that the knowledge in this guide, applied by practitioners, along with the effective use of methods, tools, and techniques encapsulated in 34 competencies, will result in quality software. "Quality" incorporates the necessary functionality as well as other factors such as reliability, usability, etc. Figure 2 represents how ideas are turned into products through iterations of such use.
While based on the SWPM course materials, this book is not simply a recitation of them. The specific combined experience of these authors (almost 100 years worth) permeates the work and attempts to blend the thoughts of about 30 instructors into "one voice." A composite case study has been developed containing most of the common types of problems encountered in software projects. The project scenario reflects today's increasingly common need for rapid "Internet time" software development.
Using the Guide as a Course TextIf you are participating in either the online or the classroom presentation of The University of Texas at Austin Software Quality Institute's Software Project Management certification program, this will be your main text. If you are a professor or instructor of software engineering, this text will suffice for a semester-long course in software engineering plus project management. The bodies of knowledge for project management, software engineering, and software quality, recognized by several professional societies (IEEE, SEI, PMI, ASQ) are presented. If you are a student of project management and software engineering, please feel confident that real industry veterans have authored this text.