Project Management of Large Software-Intensive Systems


Book Description

The book describes how to manage and successfully deliver large, complex, and expensive systems that can be composed of millions of line of software code, being developed by numerous groups throughout the globe, that interface with many hardware items being developed by geographically dispersed companies, where the system also includes people, policies, constraints, regulations, and a myriad of other factors. It focuses on how to seamlessly integrate systems, satisfy the customer’s requirements, and deliver within the budget and on time. The guide is essentially a “shopping list” of all the activities that could be conducted with tailoring guidelines to meet the needs of each project.




Managing the Development of Software-Intensive Systems


Book Description

Managing the Development of Software-Intensive Systems provides both an introduction to project management for beginner software and hardware developers as well as unique advanced materials for experienced users. This beneficial resource presents realistic case studies for planning and managing verification and validation for large software projects, complex software, and hardware systems, as well as inspection results and testing metrics to monitor project status. Industrial practitioners and students will learn ways to improve how they manage and develop their project management applications and techniques to establish large software applications and systems.




Quality Software Project Management


Book Description

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 minimize 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.




Managing and Leading Software Projects


Book Description

The book is organized around basic principles of software project management: planning and estimating, measuring and controlling, leading and communicating, and managing risk. Introduces software development methods, from traditional (hacking, requirements to code, and waterfall) to iterative (incremental build, evolutionary, agile, and spiral). Illustrates and emphasizes tailoring the development process to each project, with a foundation in the fundamentals that are true for all development methods. Topics such as the WBS, estimation, schedule networks, organizing the project team, and performance reporting are integrated, rather than being relegating to appendices. Each chapter in the book includes an appendix that covers the relevant topics from CMMI-DEV-v1.2, IEEE/ISO Standards 12207, IEEE Standard 1058, and the PMI® Body of Knowledge. (PMI is a registered mark of Project Management Institute, Inc.)




Software Project Management for Distributed Computing


Book Description

This unique volume explores cutting-edge management approaches to developing complex software that is efficient, scalable, sustainable, and suitable for distributed environments. Practical insights are offered by an international selection of pre-eminent authorities, including case studies, best practices, and balanced corporate analyses. Emphasis is placed on the use of the latest software technologies and frameworks for life-cycle methods, including the design, implementation and testing stages of software development. Topics and features: · Reviews approaches for reusability, cost and time estimation, and for functional size measurement of distributed software applications · Discusses the core characteristics of a large-scale defense system, and the design of software project management (SPM) as a service · Introduces the 3PR framework, research on crowdsourcing software development, and an innovative approach to modeling large-scale multi-agent software systems · Examines a system architecture for ambient assisted living, and an approach to cloud migration and management assessment · Describes a software error proneness mechanism, a novel Scrum process for use in the defense domain, and an ontology annotation for SPM in distributed environments · Investigates the benefits of agile project management for higher education institutions, and SPM that combines software and data engineering This important text/reference is essential reading for project managers and software engineers involved in developing software for distributed computing environments. Students and researchers interested in SPM technologies and frameworks will also find the work to be an invaluable resource. Prof. Zaigham Mahmood is a Senior Technology Consultant at Debesis Education UK and an Associate Lecturer (Research) at the University of Derby, UK. He also holds positions as Foreign Professor at NUST and IIU in Islamabad, Pakistan, and Professor Extraordinaire at the North West University Potchefstroom, South Africa.




Estimating Software-Intensive Systems


Book Description

Many software projects fail because their leaders don't know how to estimate, schedule, or measure them accurately. Fortunately, proven tools and techniques exist for every facet of software estimation. Estimating Software-Intensive Systems brings them together in a real-world guidebook that will help software managers, engineers, and customers immediately improve their estimates–and drive continuing improvements over time. Dick Stutzke presents here a disciplined and repeatable process that can produce accurate and complete estimates for any project, product, or process, no matter how new or unusual. Stutzke doesn't just describe formal techniques: He offers simple, easy-to-use templates, spreadsheets, and tools you can start using today to identify and estimate product size, performance, and quality–as well as project cost, schedule, and risk reserves. Stutzke shows how to quickly "get your arms around" users' problems and requirements, the structure of a solution, and the process needed to deliver it. You'll learn how to choose the most appropriate estimating techniques and tools; collect accurate data, track progress, and update estimates; and recalibrate estimating models to improve estimation accuracy. Stutzke's techniques apply whether you're creating custom in-house business software, purchasing or customizing "off-the-shelf" technology, or constructing complex, one-of-a-kind military, industrial, or commercial systems. These techniques apply to small and large projects, and to all project life cycles–from agile to plan-driven. This book will help you plan, estimate, budget, schedule, purchase, design, build, test, deploy, operate, and maintain software-intensive systems. It explains how to size software, identify all cost components, calculate the associated costs, and set a competitive price. A separate section covers topics of interest for large projects: designing an appropriate work breakdown structure, collecting data from cost accounting systems, and using earned value measurement. You'll find updates and even more information on this book's companion web site, http://www.sw-estimation.com.




Software and Systems Architecture in Action


Book Description

Modern-day projects require software and systems engineers to work together in realizing architectures of large and complex software-intensive systems. To date, the two have used their own tools and methods to deal with similar issues when it comes to the requirements, design, testing, maintenance, and evolution of these architectures. Software and Systems Architecture in Action explores practices that can be helpful in the development of architectures of large-scale systems in which software is a major component. Examining the synergies that exist between the disciplines of software and systems engineering, it presents concepts, techniques, and methods for creating and documenting architectures. The book describes an approach to architecture design that is driven from systemic quality attributes determined from both the business and technical goals of the system, rather than just its functional requirements. This architecture-centric design approach utilizes analytically derived patterns and tactics for quality attributes that inform the architect’s design choices and help shape the architecture of a given system. The book includes coverage of techniques used to assess the impact of architecture-centric design on the structural complexity of a system. After reading the book, you will understand how to create architectures of systems and assess their ability to meet the business goals of your organization. Ideal for anyone involved with large and complex software-intensive systems, the book details powerful methods for engaging the software and systems engineers on your team. The book is also suitable for use in undergraduate and graduate-level courses on software and systems architecture as it exposes students to the concepts and techniques used to create and manage architectures of software-intensive systems.




Software Quality Assurance


Book Description

Software Quality Assurance in Large Scale and Complex Software-intensive Systems presents novel and high-quality research related approaches that relate the quality of software architecture to system requirements, system architecture and enterprise-architecture, or software testing. Modern software has become complex and adaptable due to the emergence of globalization and new software technologies, devices and networks. These changes challenge both traditional software quality assurance techniques and software engineers to ensure software quality when building today (and tomorrow's) adaptive, context-sensitive, and highly diverse applications. This edited volume presents state of the art techniques, methodologies, tools, best practices and guidelines for software quality assurance and offers guidance for future software engineering research and practice. Each contributed chapter considers the practical application of the topic through case studies, experiments, empirical validation, or systematic comparisons with other approaches already in practice. Topics of interest include, but are not limited, to: quality attributes of system/software architectures; aligning enterprise, system, and software architecture from the point of view of total quality; design decisions and their influence on the quality of system/software architecture; methods and processes for evaluating architecture quality; quality assessment of legacy systems and third party applications; lessons learned and empirical validation of theories and frameworks on architectural quality; empirical validation and testing for assessing architecture quality. - Focused on quality assurance at all levels of software design and development - Covers domain-specific software quality assurance issues e.g. for cloud, mobile, security, context-sensitive, mash-up and autonomic systems - Explains likely trade-offs from design decisions in the context of complex software system engineering and quality assurance - Includes practical case studies of software quality assurance for complex, adaptive and context-critical systems




Software Process Definition and Management


Book Description

The concept of processes is at the heart of software and systems engineering. Software process models integrate software engineering methods and techniques and are the basis for managing large-scale software and IT projects. High product quality routinely results from high process quality. Software process management deals with getting and maintaining control over processes and their evolution. Becoming acquainted with existing software process models is not enough, though. It is important to understand how to select, define, manage, deploy, evaluate, and systematically evolve software process models so that they suitably address the problems, applications, and environments to which they are applied. Providing basic knowledge for these important tasks is the main goal of this textbook. Münch and his co-authors aim at providing knowledge that enables readers to develop useful process models that are suitable for their own purposes. They start with the basic concepts. Subsequently, existing representative process models are introduced, followed by a description of how to create individual models and the necessary means for doing so (i.e., notations and tools). Lastly, different possible usage scenarios for process management are highlighted (e.g. process improvement and software process simulation). Their book is aimed at students and researchers working on software project management, software quality assurance, and software measurement; and at practitioners who are interested in process definition and management for developing, maintaining, and operating software-intensive systems and services.




Software Management


Book Description

This Seventh Edition of Donald Reifer's popular, bestselling tutorial summarizes what software project managers need to know to be successful on the job. The text provides pointers and approaches to deal with the issues, challenges, and experiences that shape their thoughts and performance. To accomplish its goals, the volume explores recent advances in dissimilar fields such as management theory, acquisition management, globalization, knowledge management, licensing, motivation theory, process improvement, organization dynamics, subcontract management, and technology transfer. Software Management provides software managers at all levels of the organization with the information they need to know to develop their software engineering management strategies for now and the future. The book provides insight into management tools and techniques that work in practice. It also provides sufficient instructional materials to serve as a text for a course in software management. This new edition achieves a balance between theory and practical experience. Reifer systematically addresses the skills, knowledge, and abilities that software managers, at any level of experience, need to have to practice their profession effectively. This book contains original articles by leaders in the software management field written specifically for this tutorial, as well as a collection of applicable reprints. About forty percent of the material in this edition has been produced specifically for the tutorial. Contents: * Introduction * Life Cycle Models * Process Improvement * Project Management * Planning Fundamentals * Software Estimating * Organizing for Success * Staffing Essentials * Direction Advice * Visibility and Control * Software Risk Management * Metrics and Measurement * Acquisition Management * Emerging Management Topics "The challenges faced by software project managers are the gap between what the customers can envision and the reality on the ground and how to deal with the risks associated with this gap in delivering a product that meets requirements on time and schedule at the target costs. This tutorial hits the mark by providing project managers, practitioners, and educators with source materials on how project managers can effectively deal with this risk." -Dr. Kenneth E. Nidiffer, Systems & Software Consortium, Inc. "The volume has evolved into a solid set of foundation works for anyone trying to practice software management in a world that is increasingly dependent on software release quality, timeliness, and productivity." -Walker Royce, Vice President, IBM Software Services-Rational