Before investigating systems engineering processes, it is important to first discuss the lifecycle in which the processes are executed. One may ask, what is a system lifecycle? Think of the natural progression of any man made object. The lifecycle starts with the identification of a need for something. The need to eat, drink, stay warm and dry, or processes enormous amounts of data. In all cases it is important to frame the need and the aspects of a solution up front. For example:
- The food or drink must be safe to consume and it must nourish the body.
- The structure that provides warmth must house 12 people and provide protection from werewolves.
- The data solution must track and categorize all information about the unicorn collection.
In this phase of the life cycle the goal is to understand and agree upon the problem and the high level attributes of the solution.
Next with the help of an expert, the person in need begins to clarify and further describe the problem and the elements of a solution. Through analysis it may be determined:
- that the only way to keep the water safe is to mix it with a preservative,
- protein such as meat is essential for human growth,
- the minimum structure to keep out werewolves is one constructed of stone or masonry, or
- the data about the unicorn collection includes 8000 different unicorns and each unicorn may have 13 characteristics that describe the individual unicorn.
The objective of this phase in the life cycle to translate the problem or need into enough information (functional requirements) to begin to evaluate acceptable solutions.
During the next phase, the project team begins to describe the solution in terms of being feasible and acceptable. Feasible solutions are ones that are obtainable, affordable, usable, maintainable and can be disposed of when no longer usable. For example:
- In the past brewing, fermentation or distillation were the best available means to provide a safe beverage. However, over time it was determined that drinking alcohol all day might impact productivity of the consumer.
- A family could grow enough crops and raise enough livestock to sustain the family. But this model does not scale well when the population explodes and people are needed to do things other than farming.
- The database that stores the unicorn collection can be built upon a spread sheet, a stand alone data base or a web based solution. But the spread sheet would not be usable beyond a small group of users and configuration management may be a challenge.
The goal of this phase is to clarify the need (functional requirements) to enough detail to begin identifying the types of solutions that may work and then narrow down the options for the solution.
With a clear definition of the problem and feasible conceptual solution identified, the team can now begin to design the new water supply, werewolf survival house or unicorn collectors website. During this phase the functional requirements are further analyzed and decomposed into requirements that describe the new system (system requirements). Also identified are supplemental (technical) requirements that describe the things required to make the system affordable, maintainable, safe and environmentally friendly. The goal of this phase is to create a design that has enough detail that the solution can be built, used and maintained.
In most cases the development phase of the project involves the creation of individual components in several places and then integration of the solution at either the end user location or first off site before being delivered. Today, milled lumber, quarried stone and fixtures from all over the world are integrated into a building onsite or modules in a manufacturing facility before delivery to the building site. Software intensive systems are also developed in modules that are connected together as a single software application and then loaded onto a computing environment. Throughout this phase, designs are refined based on the results of recursive testing of the components as they mature. The objective of this phase is to design, develop, integrate and deliver a working solution to the end user.
One may think that the systems engineering roll in the lifecycle ends after the solution is delivered. Many organizations have made this mistake. Remember that a factor in feasibility is that it be usable, maintainable and disposable. Throughout the previous phases of the life cycle engineers should design usability and maintainability into the solution. Materials should be selected that are durable but will not harm the users or the environment. This later factor has become increasingly important as we have learned of the negative impacts that some materials have on the environment when disposed in landfills. Additionally, problems my emerge with the solution after delivery to the end user and the systems engineering team must participate in the corrective actions. Even during the disposal of the solution engineers may be involved in the safe dismantling and disposal of the components.
The phases of the systems life cycle does have a natural progression in the development of the system. But it is important to recognize that phases are often revisited as required to achieve a final working solution. Also the same lifecycle or phases of the lifecycle are followed whenever changes are made to the system.
There are many systems life cycles in existence and there are entire books on the cycle. However, the variants of the lifecycle do not change the phases or the objectives, they change the number of recursions or the timing of the phases. All start with a problem statement and end with a working solution that eventual reaches its end of life. Regardless of the life cycle model followed, the systems engineering processes described in the INCOSE Handbook are applied by the systems engineering team. What changes is how, what and when the processes are applied.
Refer to the SEBoK "Introduction to System Life Cycles" page for more information.