Skip to main content

Systems Engineering Methodology

Systems Engineering Methodology (SEM)

The Systems Engineering Methodology (SEM) of the State Unified Information Technology Environment (SUITE) provides guidance for the specification, design, integration, delivery, management and retirement of Information systems throughout their life cycle. Use of the methodology will also aid in the status tracking, management control, and delivery of successful project outcomes.

The benefit of the methodology is to promote the development and maintenance of cost-effective, reliable, and secure IT solutions.

SEM Introduction and Life Cycle Model

The SEM is derived from the principles and standards advocated by information management industry leaders, such as the Project Management Institute (PMI), Scrum Alliance, Scrum Org, The Institute of Electrical and Electronics Engineers (IEEE), the Carnegie Melon Software Engineering Institute (SEI), Information System Audit and Control Association (ISACA) Capability Maturity Model Integrated (CMMI), Department of Defense (DOD), and the Department of Energy (DOE). The SEM also references National Institute of Standards and Technology (NIST) for cybersecurity as part of the System development and Maintenance Life Cycle process.

The SEM is intended to be used by individuals, project teams, and managers who are responsible for developing or delivering a new IT solution, as well as effecting changes to an existing system. The methodology is scheduled to be reviewed on a regular basis and will be modified as needed to keep pace with the changing needs of State of Michigan information systems engineering environment, technical advances in the industry, and customer needs.

The SEM considers numerous project categories, such as development, configuration, compliance, Commercial Off-the-Shelf Software (COTS), infrastructure implementations, and Software as a Service (SaaS). SEM is also applicable to different project approaches including, but not limited to Agile, Hybrid, Proprietary, and Waterfall. The methodology is applied across typical technology life cycle phases and stages: Readiness, Initiation and Planning, Requirements, Functional Design, System Design, Construction, Testing, Implementation, Maintenance and Retirement.

SUITE Templates

Systems Engineering Life Cycle Stages

IT Readiness Phase

IT Readiness is about asking the right questions at the right time. It enables us to make informed decisions about IT investments. 

IT Readiness is a key business process that starts at the Idea. It helps ensure complete system related information and relevant stakeholder involvement in collecting information in the following areas:

  • High-level system requirements
  • Data definition and use of data
  • Technical environment
  • Market research
  • Anticipated benefits
  • Total cost of ownership

After completing IT Readiness activities, project sponsors will be able to determine if they have the funds and resources to invest in an IT idea, as well as effectively maintain and secure the product or service over time. Also, the sponsors will acquire information to help them decide whether to build, buy, or leverage an existing IT product or service.

Initiation and Planning Project Phase

This is the first phase in the life cycle of an information Systems Engineering project. The purpose of this phase is to identify the expected outcome (project objectives) and scope the solution accordingly. Resources, costs, schedule, and benefits are some of the key elements considered here. The Project Management Methodology (PMM) and System Engineering Methodology (SEM) are tightly integrate at this phase. The majority of the outputs produced during this phase are PMM documents, such as: Project Charter (PMM-0101) and the Project Management Plan (PMM-0102). Additionally, the SEM Maintenance Plan (SEM-0301) and the Software Configuration Management Plan (SEM-0302) are initiated during this phase.

During this phase, the system owner and users identify their business needs and expectations for the product; gain a common understanding of the task assignment; and determine how the project supports the State of Michigan's long-range information resource management plans. The system owner is the enterprise unit that is funding the project, and users are the State of Michigan employees and contractors who will use the product.

In this phase, the project team should be focused on identifying what the project will automate, and whether developing an IT solution makes sense from business, cost, and technical perspectives. If the project is feasible, then time, cost, and resource estimates must be formulated for the project, and risk factors must be assessed. It is important for the project team to work closely with representatives from all functional areas that will be involved in providing resources, information, or support services for the project. The information gathered in this phase is used to plan and manage the project throughout its life cycle.

Requirements Definition Stage

The primary goal of this stage is to develop a basis of mutual understanding between the customer owner/users and the project team about specific project business objectives.

This stage involves analysis of the customer owner/user processes and needs, translation of those needs into formal requirements, and determines criteria to measure and validate product performance.  The requirements and the criteria are also used to confirm user acceptance.  User stories and/or traceability matrix tools are just some of the techniques used to compile requirements.

Functional Design Stage

The functional design process maps the "what to do" of the Requirements Specification into the "how to do it" of the design specifications. During this stage, the overall structure of the product is defined from a functional viewpoint. The functional design describes the logical system flow, data organization, system inputs and outputs, processing rules, and operational characteristics of the product from the user's point of view. The functional design is not concerned with the software or hardware that will support the operation of the product or the physical organization of the data or the programs that will accept the input data, execute the processing rules, and produce the required output.

The focus is on the functions and structure of the components that comprise the product. The goal of this stage is to define and document the functions of the product to the extent necessary to obtain the system owner and users understanding and approval and to the level of detail necessary to build the system design.

Prototyping of system functions can be helpful in communicating the design specifications to the system owner and users. Prototypes can be used to simulate one function, a module, or the entire product. Prototyping is also useful in the transition from the functional design to the system design.

System Design Stage

System design is the process of defining the architecture, data structures, interfaces and modules for a given system.  The primary work product of this stage is a blueprint for the coding of individual modules, programs, and ultimately the entire system.

Construction Stage

The goal of this stage is to translate the set of technical, computer-oriented system design specifications into a language the computer can understand and execute. Construction involves coding, validation and unit testing by a developer. Any hardware or software procured to support the construction effort is installed. Plans are developed for the installation of the operating environment hardware and software. A training program is designed and a Training Plan that describes the system is produced.

The activities in this stage result in the transformation of the system design into the first complete executable representation of the product.

Testing Stage

Testing activities focus on interfaces between and among components of the product, such as functional correctness, system stability, overall system operability, system security, privacy and sensitive information control, and system performance requirements (e.g., reliability, maintainability, and availability). Testing performed incrementally provides feedback on quality, errors, and design weaknesses early in the integration process.

In this stage, components are integrated and tested to determine whether the product meets predetermined functionality, performance, quality, interface, and security requirements. Once the product is fully integrated, system testing is conducted to validate that the product will operate in its intended environment, satisfies all user requirements, and is supported with complete and accurate operating documentation. User Acceptance Testing (UAT) follows System Testing, and solicits feedback from users to make any final adjustments to the programming before releasing the product for implementation.

Refer to the Testing Manual for more information regarding the different aspects of testing.

Implementation Stage

Implementation of the product is initiated after all application testing has been successfully completed. This stage involves the activities required to install the software, databases, or data that comprise the product onto the hardware platform at the site(s) of operation. The activities associated with this stage should be performed each time the product is installed at a production site.

User training may be required to complete the implementation process. A description of the training necessary for developers, testers, users, and operations staff is provided in the Training Plan.