Hundreds of applications often used in large companies
Based on current phase, IT management can get overview of system landscape and plan personnel, resources, and investments
Certain software engineering activities and methods can be derived based on current phase
The life cycle is run through in order, from planning to shutdown
In practice, the phases of the life cycle cannot always be clearly separated, but flow into one another
The operation and maintenance phases can be run several times in succession before the system is switched off
Planning phase
1. Determination of needs
2. Make-or-buy decision
3. Procurement
Determination of needs
Realization that there is a need for a new software system
Typical occasions for need of new software system
Replacement of existing legacy systems
Business demands
Technological evolution
Make-or-buy decision
Deciding whether to procure an existing system or develop a new system
Preliminary studies, test installations, or initial application prototypes are created and tried out as part of a make-or-buy decision
If a new software system is to be created or a standard solution is to be customized, a corresponding order must be placed
If it is a public IT organization, the contract must be advertised publicly according to each country's law
When the contract is awarded, the results of the requirements determination must already be documented
Development phase
1. Requirements engineering and specification
2. Software architecture and implementation
3. Quality assurance
More people work on the system at the same time during the development phase than during any other phase
Requirements engineering
Further detailing and refining of the broad business requirements determined in the planning phase
Software architecture
The internal structure of the software system, determined based on the specification
Implementation
The program code of the system is programmed according to the specifications
Quality assurance
Checking whether the artifacts generated during creation meet specified requirements
After the software has been implemented and tested, it is handed over to the department responsible for operating the system
Operation phase
1. Operational environment provisioning
2. Integration
Operational environment
Security and availability of the system must be guaranteed
System must be able to cope with load peaks and only use resources it truly needs under normal requirements
Appropriate infrastructure must be provided, including hardware, software, networks, storage, and security systems
There is a conflict of objectives between development and operation - quick reaction to business requirements vs. long-term system stability
Integration
The new system must be connected to existing systems using the technical interfaces provided by the developers
The new system is only connected to other systems in the operational environment after development
Enterprise software systems
Quick reaction to business requirements
System should run reliably and safely
DevOps
Current interdisciplinary approach that addresses the issues of quick reaction and reliable/safe system operation
Integration
1. System must be deployed in operational environment
2. System must be connected to existing systems using technical interfaces provided by developers
New system is only connected to other systems after all tests have been completed, so that real data in operational systems are not accidentally changed during development
Provisioning
1. Technical interfaces of existing systems must be converted to the new system
2. New application must be connected to technical monitoring systems
3. IT security must include the new application in the list of monitored applications
Maintenance
The totality of activities required to provide cost-effective support to a software system
Maintenance activities
Correcting spelling errors
Importing version and security updates
Adding new functions
Upkeep
Elimination of detected errors and adjustments for better runtime behavior or more economical use of resources
Evolution
Expanding the system with new functions or changing existing functions
After initial provisioning, the phases of maintenance and operation alternate in relatively short cycles
Maintenance effort over the entire life cycle approximately doubles the effort for creation
Shutdown
1. System and its technical and organizational environment must be taken into account
2. All dependencies of the application being switched off must be identified and resolved
3. Data in the legacy system might be migrated to another system
4. Existing license and maintenance contracts must be terminated
5. Personnel must be retrained for new tasks
Shutdown is the final phase in the software life cycle
Enterprise software systems go through a life cycle that can be divided into planning, development, operation, maintenance, and shutdown phases
The software life cycle model and its phases are used for medium- and long-term project planning and application portfolio management