A Guide to the Project Management Body of Knowledge, Third Edition (PMBOK Guides) by Project Management Institute
$31.47
|
Evaluating Software Architectures: Methods and Case Studies (The SEI Series in Software Engineering) by Paul Clements
$51.99
|
CMMI(R): Guidelines for Process Integration and Product Improvement (2nd Edition) (The SEI Series in Software Engineering) by Mary Beth Chrissis
$52.81
|
CMM Implementation Guide: Choreographing Software Process Improvement (Unisys Series) by Kim Caputo |
Managing the Software Process (The SEI Series in Software Engineering) by Watts S. Humphrey
$55.99
|
Worldwide, the demand for software is increasing at a rapid pace, with no end in sight for this growth in appetite. The growth has also spawned a dramatic increase in software development activity. In turn, this increased software development activity has sharpened the focus on the processes used for building software, collectively known as the software process. Although opinions differ on the nature and formality of the software process, there is now general agreement that use of proper processes is extremely important for an organization that seeks to deliver high-quality software and increase its own productivity.
The heightened importance of the software process has engendered a need for process improvement, which also requires methods for process analysis and assessment. One of the most extensive and influential software process improvement and assessment frameworks is the Capability Maturity Model (CMM) for software developed by the Software Engineering Institute (SEI) at Carnegie Mellon University. The CMM categorizes software process maturity into five levels: from level 1 (the lowest) to level 5 (the highest). For each level, the CMM specifies some key process areas (KPAs), which represent the areas on which an organization should focus if it wants to move to a particular level. Each KPA is associated with goals that represent the requirements to be satisfied by the process for that KPA. The KPAs for different maturity levels can be used for assessing the capability of the existing process, as well as for identifying the areas that need to be strengthened so as to move the process from a lower level of maturity to a higher level.
The CMM framework is quite general and not prescriptive. Although organizations can implement CMM in different ways, relating the characteristics mentioned in the CMM to real-life practices and processes can prove difficult. This book describes the set of processes used for executing a project at Infosys Technologies Ltd., a large software house headquartered in Bangalore, India. Infosys was formally assessed at CMM level 4 in December 1997 by two SEI-authorized lead assessors.
Rather than just explaining the various technical and management processes employed by Infosys, this book describes the processes as they appear at various stages in the life cycle of a project. Because the life cycle of a project includes both technical and management processes, this approach ensures that most processes affecting a project are explained. This approach is also one to which both practitioners and students can more easily relate. It does leave out the organization-level processes for supporting and managing the process activities. Some aspects of these processes have been described here, wherever their inclusion would not break the flow of the book. In addition, an article describing the management of the CMM framework implementation at Infosys is included as Appendix B.
The book includes 15 chapters. Chapter 1 gives a brief overview of the CMM and describes some organization-level support for processes at Infosys. The remaining chapters focus on project execution, and are organized into three parts. Part I (Chapters 2 and 3) deals with processes that are executed before the project formally commences. Part II (Chapters 4 through 10) deals with project planning activities. Part III (Chapters 11 through 15) examines project execution and termination. Most chapters focus on some key task in a project and have been kept as independent as possible of the other chapters.
It is not the intent of this book to provide extensive coverage of the literature or detailed explanations of the CMM. The main goal is to describe the processes of an organization that employs the CMM framework. The book also illustrates how simple and known approaches can be combined effectively to have a highly mature overall process. It does not suggest that Infosys's approach is optimal or better than someone else's or an ideal implementation of the CMM. Likewise, it does not recommend that these processes be used by others; that decidion is left for the readers.
The positive feedback I received on my earlier textbook, An Integrated Approach to Software Engineering (Springer Verlag, 1997), which had a case study running through the book, convinced me of one thing: In software engineering, it is invaluable to have real examples with real outputs and a complete example, if possible, when explaining concepts. This book employs the same approach. Most of the examples are real in that they have been picked from real projects, and one actual project--the weekly activity report (WAR) project--is used through much of the book to illustrate how different processes interrelate. Although the processes described are used at Infosys, any sensitive numbers (for example, on quality and productivity) included may have been sanitized to maintain the company's confidentiality.
This book should prove useful to all practitioners who are interested in the software process or the CMM framework. It should be immensely helpful to those practitioners who are trying to implement the CMM in their own organizations. To help ISO organizations in their effort to move to CMM, a general study describing possible gaps in an ISO organization with respect to different levels of the CMM has been provided in Appendix A. As the book discusses how projects are executed in a successful organization, it should also be of interest to professionals who are now managing software projects. For instructors and students, it can serve as a supplementary text for a project-oriented course on software engineering, as the book provides a good view of how software is developed in a business environment, along with a case study.
It is perhaps proper to explain my own involvement with Infosys. As Vice President (Quality) at Infosys, I was one of the main architects behind the company's successful transition from ISO to CMM level 4. Although Infosys supplied all of the material I requested, I take full responsibility for any mistakes, misrepresentations, and inaccuracies that may be present in the book. Such issues are bound to occur when one tries to describe the essence of an organization's process manual, along with a case study, in such a compact book. Any deviations in these descriptions from the actual processes of Infosys are entirely my responsibility, as I decided which portions of processes to include and in what manner.
Any comments or queries about the book are welcome, and can be sent to me at jalote@iitk.ac.in. For any information regarding Infosys, visit itlinfosys or send mail to public-relations@itlininfosys.
--Pankaj Jalote
0201616262P04062001
See all Editorial Reviews
Product Details
|