Project Performance Management using Earned Value Management and systems-based development processes, including Agile Software development, have much in common. Most important is progress to plan measured by Physical Percent Complete with tangible evidence of working products at the end of the planned performance period.
For Complex Systems, Software Intensive System of Systems (SISoS), Agile Software Development provides the tool for producing working software at frequent intervals needed for customer feedback to ensure the program is going in the right direction.
This collection of resources is the starting point for anyone interested in applying the principles, processes, and practices of managing complex systems, ranging from Construction to Agile software development of software-intensive Systems (SISoS), all subject to FAR 34, DFARS 234, DOE G 413.3?10A and their derivatives inside and outside the federal government.
For agile software development, this integration starts with EIA?748?C and the National Defense Industry Association Guide to Earned Value Management for Agile Projects: Industry Best Practice and Agile and Earned Value Management: A Program Manager’s Desk Guide, OUSD AT&L (PARCA), 3 March 2016.
Much more is needed for success of course. The framing assumptions of Agile must be integrated with the EVM principles. Transformation for the EVM paradigm to an Agile paradigm is a critical success factor. Understanding the details of how a Scrum Team works in the presence of EVM on a daily basis is the start be being truly Agile.
But most of all, knowing what it means to have an agile mindset will be the hardest part of the transition from 748?D to using Agile to inform performance in 748?D.
Google can find the material when no URL is provided. I’ve tried to include papers and books with credible content, appearing in refereed journals and from reputable publishers. Each paper and book has been added in the order it was discovered.
Here's a summary of the bibliography on increasing the probability of success of any project using agile development processes.
- Management Processes in Large-Scale Project Domains - complex systems usually come to grief when they do because they fail to accomplish their nominal purpose. Complex systems typically fail because of the unintended consequences of their design … I like to think of system engineering as being fundamentally concerned with minimizing, in a complex artifact, unintended interactions between elements desired to be separate. Essentially, this addresses Perrow’s concerns about tightly coupled systems. System engineering seeks to assure that elements of a complex artifact are coupled only as intended. – Michael Griffin, NASA Administrator, Boeing Lecture, Purdue University, March 28, 2007
- SISoS Frameworks using Agile Development - Agile software development is a set of principles for producing software in which requirements and solutions evolve through collaboration between self?organizing, cross-functional teams. Agile promotes adaptive planning, evolutionary development, early delivery, and continuous improvement and encourages rapid and flexible responses to change
- Scrum Master, Product Owner, Team, Releases, Features, and User Stories - User stories capture just enough information about a feature to facilitate a future conversation between the product owner and the team. User stories are descriptions of a feature told from the perspective of the person who desires the new capability, usually a user or customer of the system.
- Agile at Scale for Software Intensive System of Systems - Agile at Scale includes the ability to apply Agile on teams of all sizes, on teams geographically distributed, on teams facing regulatory compliance, on teams addressing complex domains, on teams applying a complex technology, on teams where outsourcing is involved, and combinations of these.
- Agile Development on Earned Value Management Projects - Earned Value Management is the technique of assessing program performance with objective measures of Physical Percent Complete. These included Technical Performance Measures, Measures of Effectiveness, Measures of Performance, and Key Performance Parameters.
- Estimating Complex Software Intensive System of Systems (SISoS) - The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them ? Steve McConnell.
- Requirements Management for Software Intensive System of Systems - Agile requirements are developed iteratively and incrementally through collaboration between development and the stakeholders. Requirements start at a high level through envisioning of needed capabilities and details are explored on a just?in?time (JIT) basis via Feature and Sprint modeling activities.
- Systems Engineering and Program Management for Agile Development - Systems Engineering is an interdisciplinary approach and means to enable the realization of successful systems. Successful systems must satisfy the needs of their customers, users and other stakeholders.
- Root Cause Analysis for SoS Projects - When mistakes occur, blame the process, not the people. Root Cause Analysis is the means to fix the cause rather than treat the system.
- Architecture for Agile Development Programs - Architecture provides the foundation from which systems are built and an architectural model defines the vision on which your architecture is based. The scope of architecture can be that of a single application, of a family of applications, for an organization, or for an infrastructure such as the Internet that is shared by many organizations. Regardless of the scope, my experience is that you can take an agile approach to the modeling, development, and evolution of an architecture.
- Transformation on Agile Programs - Transformation to Agile requires a transformation for the organization as well. This starts with Continuous Delivery by optimizing the manner in which work is flowed through the product delivery system. This means bring agility to all areas of the delivery system, not just software development.
- Testing Agile Programs - In the world of software development, the term agile typically refers to any approach to project management that strives to unite teams around the principles of collaboration, flexibility, simplicity, transparency, and responsiveness to feedback throughout the entire process of developing a new program or product. And agile testing means the practice of testing software for bugs or performance issues within the context of an agile workflow.
- Technical Debt - Technical Debt includes those internal things that you choose not to do now, but which will impede future development if left undone. This includes deferred refactoring. Technical Debt doesn’t include deferred functionality, except in edge cases where delivered functionality is “good enough” for the customer, but doesn’t satisfy some standard (e.g., a UI element that isn’t fully compliant with some UI standard).
- Change Management on Agile Programs - Agile software development teams embrace change, accepting the idea that requirements will evolve throughout a project. Agilists understand that because requirements evolve over time any early investment in detailed documentation will only be wasted. Instead, agilists will do just enough initial requirements envisioning to identify their project scope and develop a high?level schedule and estimate; that's all you really need early in a project, so that's all you should do. During development they will model storm in a just?in?time manner to explore each requirement in the necessary detail.
- Risk Management of Complex System of Systems - Risk Management is essential for development and production programs. Information about key project cost, (technical) performance, and schedule attributes is often uncertain or unknown until late in the program. Risk issues that can be identified early in the program, which will potentially impact the program later, are termed Known Unknowns and can be alleviated with good risk management. (Making these decisions in the presence of Uncertainty ? reducible and irreducible ? requires making estimates) ? Effective Risk Management 2nd Edition, Edmund Conrow, AIAA, 2003
- Agile Maturity Models - Like all software development processes, the maturity level of the organization is a critical success factor.
- Agile Portfolio Management - Agile portfolio management deals with how an organization identifies, prioritizes, organizes, and manages different products ? Luis Goncalves in Organizational Mastery: The Product Development Blueprint for Executive Leaders.
Follow the link on the image below for the bibliography with sections.
Product Delivery Coach and Trainer | Chief Product Owner | IT & Organizational Improvement and Growth | Certifed Scrum and Kanban Trainer | Product Discovery & Delivery at Scale | Finance (CapEx/OpEx) and Risk Management
9 个月Glen Alleman Thanks for the bibliography....however, I wanted to let you know that some of the reference links go to 404's. for example: https://www.slideshare.net/agilecoach/building?your?roadmap?to?agility? should be: https://www.slideshare.net/slideshow/building-your-roadmap-to-agility/31519145 There might a few others, but I haven't done an exhaustive examination.
ITIL4 Master, SAFe SPC - consultation, training, technical writing
9 个月Great article Glen, thank you for this one.