The web Browser you are currently using is unsupported, and some features of this site may not work as intended. Please update to a modern browser such as Chrome, Firefox or Edge to experience all features Michigan.gov has to offer.
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.
Systems Engineering Life Cycle Stages
-
IT Readiness Phase
-
Initiation and Planning Project Phase
-
Requirements Definition Stage
-
Functional Design Stage
-
System Design Stage
-
Construction Stage
-
Testing Stage
-
Implementation Stage
Initiation and Planning Project Phase
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, Program and Portfolio Management Methodology (3PMM) and System Engineering Methodology (SEM) are tightly integrated at this phase. The majority of the outputs produced during this phase are Project Management Methodology artifacts, 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 to gain a common understanding of the business objectives. The project team focuses on identifying the elements that will be automated. Time, cost, and resource estimates are formulated for the project, and risk factors will be assessed. The project team works closely with representatives from all functional areas that will provide 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 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
This stage maps the "what to do" of the requirements into the "how to do it." 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 point of view.
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
The objective of the Testing stage is to identify any weakness in the form of defects and unexpected behavior. Testing activities focus on validating the system requirements, such as: interfaces, desired functionality, stability, operability, security, privacy, usability and performance expectations. During the Testing stage, activities are conducted progressively until resolutions are achieved for all identified defects. Common testing types include, but are not limited to: unit, functional, integration, performance, user interface, regression, and acceptance. The outcome of the Testing stage is to ensure the product/system is ready for production installation.
Implementation Stage
Implementation includes user notification, user training, final installation of hardware and software, activation of security and control features, and the integration of the system into daily work processes. This stage continues until the system operates in Production according to the defined user requirements. Implementation of the product is initiated after all application testing is complete and the solution has been accepted by the customer.