In engineering, a process is a series of interrelated tasks that, together, transform inputs into a given output.These tasks may be carried out by people, nature or machines using various resources; an engineering process must be considered in the context of the agents carrying out the tasks and the resource attributes involved. Systems engineering normative documents and those related to Maturity Models are typically based on processes, for example, systems engineering processes of the EIA-632 and processes involved in the Capability Maturity Model Integration (CMMI) institutionalization and improvement approach. Constraints imposed on the tasks and resources required to implement them are essential for executing the tasks mentioned.
Semiconductor process engineers face the unique challenge of transforming raw materials into high-tech devices. Common semiconductor devices include Integrated Circuits (ICs), Light-Emitting Diodes (LEDs), solar cells, and solid-state lasers. To produce these and other semiconductor devices, semiconductor process engineers rely heavily on interconnected physical and chemical processes.
A prominent example of these combined processes is the use of ultra-violet photolithography which is then followed by wet etching, the process of creating an IC pattern that is transferred onto an organic coating and etched onto the underlying semiconductor chip. Other examples include the ion implantation of dopant species to tailor the electrical properties of a semiconductor chip and the electrochemical deposition of metallic interconnects (e.g. electroplating). Process Engineers are generally involved in the development, scaling, and quality control of new semiconductor processes from lab bench to manufacturing floor.
A chemical process is a series of unit operations used to produce a material in large quantities.
In the chemical industry, chemical engineers will use the following to define or illustrate a process:
The Association Française d'Ingénierie Système has developed a process definition dedicated to Systems engineering (SE), but open to all domains. The CPRET representation integrates the process Mission and Environment in order to offer an external standpoint. Several models may correspond to a single definition depending on the language used (UML or another language). Note: process definition and modeling are interdependent notions but different the one from the other.
This definition requires a process description to include the Constraints, Products, Resources, Input Elements and Transformations. This leads to the CPRET acronym to be used as name and mnemonic for this definition.
The purpose of the following examples is to illustrate the definitions with concrete cases. These examples come from the Engineering field but also from other fields to show that the CPRET definition of processes is not limited to the System Engineering context.
Examples of processes
Examples of environment
Examples of mission
Examples of constraints
Examples of products
Examples of resources
Examples of elements as inputs
Examples of transformations
The CPRET formalized definition systematically addresses the input Elements, Transformations, and Products but also the other essential components of a Process, namely the Constraints and Resources. Among the resources, note the specificity of the Resource-Time component which passes inexorably and irreversibly, with problems of synchronization and sequencing.
This definition states that environment is an external factor which cannot be avoided: as a matter of fact, a process is always interdependent with other phenomena including other processes.
The Capability Maturity Model (CMM) is a development model created after a study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research. The term "maturity" relates to the degree of formality and optimization of processes, from ad hoc practices, to formally defined steps, to managed result metrics, to active optimization of the processes.
Project management is the practice of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time. The primary challenge of project management is to achieve all of the project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. The primary constraints are scope, time, quality and budget. The secondary—and more ambitious—challenge is to optimize the allocation of necessary inputs and apply them to meet pre-defined objectives.
The Software Engineering Institute (SEI) is an American research and development center headquartered in Pittsburgh, Pennsylvania. Its activities cover cybersecurity, software assurance, software engineering and acquisition, and component capabilities critical to the Department of Defense.
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design and manage complex systems over their life cycles. At its core, systems engineering utilizes systems thinking principles to organize this body of knowledge. The individual outcome of such efforts, an engineered system, can be defined as a combination of components that work in synergy to collectively perform a useful function.
Configuration management (CM) is a systems engineering process for establishing and maintaining consistency of a product's performance, functional, and physical attributes with its requirements, design, and operational information throughout its life. The CM process is widely used by military engineering organizations to manage changes throughout the system lifecycle of complex systems, such as weapon systems, military vehicles, and information systems. Outside the military, the CM process is also used with IT service management as defined by ITIL, and with other domain models in the civil engineering and other industrial engineering segments such as roads, bridges, canals, dams, and buildings.
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development is a process of writing and maintaining the source code, but in a broader sense, it includes all that is involved between the conception of the desired software through to the final manifestation of the software, sometimes in a planned and structured process. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.
Quality assurance (QA) is a way of preventing mistakes and defects in manufactured products and avoiding problems when delivering products or services to customers; which ISO 9000 defines as "part of quality management focused on providing confidence that quality requirements will be fulfilled". This defect prevention in quality assurance differs subtly from defect detection and rejection in quality control and has been referred to as a shift left since it focuses on quality earlier in the process.
The following outline is provided as an overview of and topical guide to software engineering:
In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life-cycle, is a process for planning, creating, testing, and deploying an information system. The systems development life cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.
In software project management, software testing, and software engineering, verification and validation (V&V) is the process of checking that a software system meets specifications and that it fulfills its intended purpose. It may also be referred to as software quality control. It is normally the responsibility of software testers as part of the software development lifecycle. In simple terms, software verification is: "Assuming we should build X, does our software achieve its goals without any bugs or gaps?" On the other hand, software validation is: "Was X what we should have built? Does X meet the high level requirements?"
Capability Maturity Model Integration (CMMI) is a process level improvement training and appraisal program. Administered by the CMMI Institute, a subsidiary of ISACA, it was developed at Carnegie Mellon University (CMU). It is required by many United States Department of Defense (DoD) and U.S. Government contracts, especially in software development. CMU claims CMMI can be used to guide process improvement across a project, division, or an entire organization. CMMI defines the following maturity levels for processes: Initial, Managed, Defined, Quantitatively Managed, and Optimizing. Version 2.0 was published in 2018. CMMI is registered in the U.S. Patent and Trademark Office by CMU.
Ecological engineering uses ecology and engineering to predict, design, construct or restore, and manage ecosystems that integrate "human society with its natural environment for the benefit of both".
A metadata registry is a central location in an organization where metadata definitions are stored and maintained in a controlled method.
Scheduling is the process of arranging, controlling and optimizing work and workloads in a production process or manufacturing process. Scheduling is used to allocate plant and machinery resources, plan human resources, plan production processes and purchase materials.
The Capability Maturity Model Integration (CMMI) defines a Process Area as, "A cluster of related practices in an area that, when implemented collectively, satisfies a set of goals considered important for making improvement in that area." Both CMMI for Development v1.3 and CMMI for Acquisition v1.3 identify 22 process areas, whereas CMMI for Services v1.3 identifies 24 process areas. Many of the process areas are the same in these three models.
Capability Immaturity Model (CIMM) in software engineering is a parody acronym, a semi-serious effort to provide a contrast to the Capability Maturity Model (CMM). The Capability Maturity Model is a five point scale of capability in an organization, ranging from random processes at level 1 to fully defined, managed and optimized processes at level 5. The ability of an organization to carry out its mission on time and within budget is claimed to improve as the CMM level increases.
A process is a set of recurrent or periodic activities that interact to produce a result.
An independent test organization is an organization, person, or company that tests products, materials, software, etc. according to agreed requirements. The test organization can be affiliated with the government or universities or can be an independent testing laboratory. They are independent because they are not affiliated with the producer nor the user of the item being tested: no commercial bias is present. These "contract testing" facilities are sometimes called "third party" testing or evaluation facilities.
The Project Management Triangle is a model of the constraints of project management. While its origins are unclear, it has been used since at least the 1950s. It contends that:
The following outline is provided as an overview of and topical guide to project management: