Software Project Management in Practice
Aimed at developers and IT managers alike,Software Project Management in Practiceoffers an invaluable guide to using lightweight software processes in real projects. Filled with sample documents, this book can benefit any organization seeking to improve the ways it manages software.In an era of ever tighter schedules, implementing a serious software process becomes even more difficult. This book ventures a simple argument: that the techniques for software process management used by InfoSys (a company with a "mature" software process) can be applied to other organizations. Packed with sample documents drawn from real projects, this book is also notable for its clear presentation and the absence of the theoretical and jargon-laden prose that can be found in many software engineering texts.The author first looks at how to assess a company's software process using the Capability Maturity Model (CMM) and other schemes. Surprisingly, the tools at InfoSys (which earn high CMM marks) are not fancy case tools, but databases, spreadsheets, and Microsoft Project files. Its software process database, for example, allows new projects to reuse existing documents and expertise. After an overview of the modified waterfall model software process used at InfoSys, the author looks at techniques for estimating the size and scope of projects. Then it's on to quality planning. A consistent theme here is that metrics and statistical process control (SPC) should be used to track defects. The book then covers risk assessment and the structure of teams. A standout section on configuration management outlines the role for preserving builds and project documents at each stage of the game.Later sections examine the actual implementation and deployment of software. The author's argument for peer review of code is a strong one. He details strategies for running design and code reviews (if even by a single person) to catch defects and improper designs, as well as tips for overcoming resistance to such practices.Sample defect tracking and status for projects also gets its due. Sample documents (using spreadsheets and even the layout of disk directories) to store project information show that a simple approach can yield productive results. The author then shows how to analyze the patterns of defects in software, including how to use statistical techniques to spot  out-of-control projects. The book closes with the ways in which a project postmortem (or "project closure analysis") can be used to spot what went wrong and to improve things the next time around.For both those new to software process or for those who want to see some practical ideas for successful process in a fast-paced world, this concisely packaged title fills a valuable niche with its mix of current thinking on software process and excellent real-world examples.--Richard DraganTopics covered:Overview of mature software processes and project management; assessing process maturity with the Capability Maturity Model (CMM); Key Process Areas (KPAs); overview of successful project management at InfoSys (the author's company); the waterfall software development process; using process databases (reusing project management expertise); effort estimation (bottom-up, top-down, use case, and overall approaches); overall and detailed scheduling; procedural and quantitative approaches to quality management; quality goals; defect estimation and prevention; identifying and prioritizing risks; risk management planning (plus monitoring and tracking risks); overview of metrics and measurement (including statistical process control or SPC); logging and tracking defects; project management plans (managing teams); configuration management; project reviews for better project execution (including group and one-person reviews); overcoming the Not Around Here (NAH) syndrome; project tracking explained (including defect tracking, status reports, milestone analysis); defect analysis and prevention (plus Pareto and causal analysis); process monitoring and audit; project closure analysis; and sample software project management documents from real projects.