Agile is Systems Engineering

Agile is Systems Engineering

I work in the Software Intensive System of Systems (SISoS) domain. We often apply traditional program and project management methods for cost, schedule, and technical management while developing software intensive systems using Agile methods. This work starts with?Capabilities Based Planning to answer the question of what operational capabilities are needed to accomplish a Mission or fulfill a Vision of the enterprise funding the program.

Software development and, many times, hardware development is done agilely, using one of several Agile development methods. But this agile approach needs to answer the question - what capabilities do we need? and moves directly to the Features and Stories (technical and operational requirements) before answering why we need these.

This newsletter is about a person I encountered in writing several years ago. Rick Dove is a Systems Engineer who writes about agile systems concepts and leads agile self-organizing system security research and development.

The current Agile Industrial Complex sells solutions looking for a problem to solve. It's time to revisit Rick's materials through the lens of Systems Engineering (my graduate training and professional practice), starting with Rick's top-level resource, An Agile Enterprise Reference Model with a Case Study .

All Successful Solutions Start With Systems Engineering

To avoid the solution looking for a problem to solve, let's start with a model of the System to an actual problem for the solution applied in a specific domain and to specific problems in that domain traceable to the Five Immutable principles of program management.

  1. What does Done Look like in units of measure meaningful to the decision makers? These measures start with the effectiveness and Performance needed to accomplish the mission or fulfill the Strategy.
  2. What is the Plan to reach Done with the needed Capabilities at the needed Time and the needed Money?
  3. What Resources are Needed to arrive at Done, including staff, facilities, funding, and any other consumable and supporting solution(s)?
  4. What impediments will be encountered along the way to Done? What are their handling strategies? What are the Root causes of these impediments, and what are their corrective and preventive actions?
  5. How is progress to be measured on the way to Done? The passage of time and consumption of money and resources is not a measure of progress. The measures of progress are the assessments of the measures of physical percent complete of the deliverables compared to the planned percent complete at the planning time for the planned cost.

Principles of Systems Engineering

Systems Engineering is a critically missing process in many projects, especially Agile development projects. Where I work, Systems Engineering dominates the program management process - agile is simply a method of delivering the software iteratively and incrementally to enable the needed capabilities. Space Flight, Embedded Systems, Software Intensive System of Systems.

When we hear about Agile solving problems, this starts with the 12 principles of Systems Engineering used to increase the probability of any project or program success. These principles come from Section 3.2 of?Engineering Elegant Systems: Theory of Systems Engineering , A Whitepaper, Michael D. Watson, NASA Marshall Space Flight Center, not the 12 principles of the agile manifesto .

Principle 1: Systems engineering integrates the system and the disciplines considering the budget and schedule constraints?

Principle 2: Complex Systems Build Complex Systems

Principle 3: The focus of systems engineering during the development phase is a progressively deeper understanding of the interactions, sensitivities, and behaviors of the system

  • Sub-Principle?3(a): Requirements and models reflect the understanding of the system
  • Sub-Principle 3(b): Requirements are specific, agreed to preferences by the developing organization
  • Sub-Principle 3(c): Requirements and design are progressively defined as the development progresses
  • Sub-Principle 3(d): Hierarchical structures are not sufficient to fully model system interactions and couplings
  • Sub-Principle 3(e): A Product Breakdown Structure (PBS) provides a structure to integrate cost and schedule with system functions

Principle 4: Systems engineering has a critical role throughout the entire system life-cycle

  • Sub-Principle 4(a): Systems engineering obtains an understanding of the system
  • Sub-Principle 4(b): Systems engineering models the system
  • Sub-Principle 4(c): Systems engineering designs and analyzes the system
  • Sub-Principle 4(d): Systems engineering tests the system
  • Sub-Principle 4(e): Systems engineering has an essential role in the assembly and manufacturing of the system
  • Sub-Principle 4(f):?Systems engineering has an essential role during operations and decommissioning

Principle 5: Systems engineering is based on a middle-range set of theories

  • Sub-Principle 5(a): Systems engineering has a physical/logical basis specific to the system
  • Sub-Principle 5(b): Systems engineering has a mathematical basis
  • Sub-Principle 5(c): Systems engineering has a sociological basis specific to the organization

Principle 6: Systems engineering maps and manages the discipline interactions within the organization

Principle 7: Decision quality depends on the coverage of the system knowledge present in the decision-making process

Principle 8: Both Policy and Law must be properly understood not overly to constrain or under constrain the system implementation

Principle 9: Systems engineering decisions are made under uncertainty accounting for risk

Principle 10: Verification is a demonstrated understanding of all the system functions and interactions in the operational environment

Principle 11:?Validation is a demonstrated understanding of the system’s value to the system stakeholders

Principle 12:?Systems engineering solutions are constrained based on the decision timeframe for the system need.

Systems Thinking, System Engineering, and Systems Management

There are several paradigms for?Systems Thinking .?Ranging from Psychobabble, where certifications and mandatory training are sold under the banner of acquiring a certificate that can solve complex problems, to hardcore?Systems Engineering . But first, some background between?Systems Theory , Systems Thinking , and Systems Engineering .

Systems Theory?is the interdisciplinary study of?systems?in general, with the goal of elucidating principles that can be applied to all types of?systems?at all nesting levels in all fields of research.
Systems Engineering?is an interdisciplinary field of?engineering?that focuses on how to design and manage complex?engineering systems over their life cycles.
Systems Management?is an umbrella discipline encompassing systems engineering, managerial finance, contract management, program management, human factors, operations research, in ERP, process control, defense, space, and other?complex systems ?disciplines)

Here is a sample of texts on my shelf that are starting references to inform our thought processes?about systems and agile software development:

and a topic framing my Master's degree in Systems Management, USC 1980,

These books are the basis of Thinking about Systems, with Software Intensive Systems (SISoS) fitting in here as well since interfaces between system components define the complex aspects of all system of systems.

Here's a collection of presentations on SISoS from the University of Paderborn, Software Engineering Group, that is no longer available, but I downloaded them before they went away.

Along with a Workshop on Engineering Software-Intensive Systems

As systems engineers, software engineering is alive and well in many domains, no matter how much we think we must do. We can plan, prepare, and predict, but the action occurs through doing. so when we hear any suggestion, ask how this can be put to work in some measurable way to assess the effectiveness and performance of the outcomes.

Systems Thinking is the process of understanding how systems influence one another within a world?of systems and has been defined as an approach to problem-solving by viewing our "problems" as parts of an overall system rather than reacting to a specific part or outcome.

There are many kinds of systems, but Agile Thinking is Always Present

Hardware systems, software systems, and evolutionary systems. It is popular to mix these, but that creates confusion and removes the ability to connect concepts with actionable outcomes.?

No alt text provided for this image
Systems Engineering ensures that the whole product works with its external systems to meet the customer's needs.

It may be that the signers of the Agile Manifesto and its 12 Principles didn't realize that the management of agile projects is derived from Systems Engineering processes and the 1970s based on principles from the 1930s as described here Iterative and Incremental Development: A Brief History

In our domain, development is subject to guidance and regulations for how the customer's money is spent. We introduced the software development process of eXtreme Programming (XP) at a nuclear weapons cleanup site and spoke about our efforts at several Agile Development Conferences. Here's a short history of Rocky Flats. That work continued with developing processes complaint with EIA-748 on DCMA-validated systems and more speaking and writing at NDIA and PARCA (Performance Assessment and Root Cause Analysis ) conferences. The briefing deck below is the culmination of those efforts under the initiatives of the US DOD and other Federal Agency efforts to increase the probability of success for software intensive systems by integrating agile development methods into earned value programs.

Systems Engineering ensures the whole product works with its external systems to meet the customer's needs, as explained in Is Agile Project Management Actually Systems Engineering?

No alt text provided for this image
Here's how we apply agile development in our software intensive system of systems domain, using the same principles and processes found in any other agile development domain, with the addition of managing and reporting our performance to the US Government

Here are a few more Systems Engineering and Agile briefings to establish the basis that the principles and practices of systems engineering guide agile development:

And Now to Rick Dove's Library

Here's his Home Page (last updated Dec 23, 2021), containing

and two books

Resources for Agiley Developing Capabilities with Systems Engineering

要查看或添加评论,请登录

Glen Alleman MSSM的更多文章

  • Don Yaeger's 16 Consistent Characteristics of Greatness

    Don Yaeger's 16 Consistent Characteristics of Greatness

    Don Yeager has a small bookmark-sized card on 16 Consistent Characteristics of Greatness. I got my card at a PMI…

  • Making Choices in the Absence of Information

    Making Choices in the Absence of Information

    Decision-making in uncertainty is a standard business function and a normal technical development process. The world is…

  • Quote of the Day

    Quote of the Day

    Rights are won only by those who make their voices heard. - Harvey Milk

  • Digital Engineering

    Digital Engineering

    I'm engaged on supporting our US DoD and the Austrailan Defence Force (ADF) and the Capability Acquisition…

  • Creating the Project Vision

    Creating the Project Vision

    Long ago, I was VP of Program Management at the Rocky Flats Environmental Technology Site in Golden, Colorado. Rocky…

  • Focus on Value is Only ? the Equation

    Focus on Value is Only ? the Equation

    Whenever I hear, "We need to focus on value over cost and schedule," it tells me that only ? of the project success…

  • Critical Thinking - The Missing Element in Project Management Processes

    Critical Thinking - The Missing Element in Project Management Processes

    Complex and unstable environments encountered in project work - especially software development project work - call for…

    9 条评论
  • Quote of the Day

    Quote of the Day

    Care about what other people think, and you will always be their prisoner - Lau Tzu

  • Invisible Means Difficult to Measure

    Invisible Means Difficult to Measure

    The software doesn't have visible artifacts in the same way a highway construction or an environmental cleanup project…

  • Failed Process or Failed Execution?

    Failed Process or Failed Execution?

    I'm currently working on several jobs at three different sites. Two are process improvements, and one is product…

    4 条评论

社区洞察

其他会员也浏览了