이미지 출처:
http://www.camwood.com/images/services/management.jpg
What is Application Lifecycle Management?
It's common to equate ALM with the software development lifecycle (SDLC)
application's lifecycle includes the entire time during which an
organization is spending money on this asset, from the initial idea to the end
of the application's life.
ALM Benefits
Agility
Through the collaboration and application of "just enough" processes
Predictability
Through better estimation, better communication and more repeatable
processes
Auditability
Traceability of work back to a business need, accountability for each
change or decision made and the ability to separate concerns
Quality
Through more-effective management of requirements, design and quality
processes
Productivity
Through the continuous improvement of processes and practices, and more
effective utilization of resources
Low Cost of Failure
Minimizing the error costs with goal-orientated diagnostics
Application lifecycles are characterized by specific demands in phases
ALM SCOPE
Business /IT Governance View
Governance
Standards Compliance
Long Term Program Management
Development View
Project Management
Project Management
Project resources can be managed with this tool (Time/Budget/Scope).
Requirement Management
project and product requirement specification (SRS) is documented
Modeling
Project or product is defined and modeled in software design
specification (SDS)
Documentation
Shipped applications should be documented with tools.
Development
Editing/Debugging/Profiling/Testing environment for software
development
This is commonly an IDE
Testing
Some tools for quality team.
Not only unit test but also integration and stress tests must be
included
Release Management
Package and Deployment tools are needed for version and change
management.
Bug Management
As the system goes alive, users find many bugs.
IT Operation View
Data Management
Application data requires maintenance
Performance Management
Performance is one of the biggest problems of enterprise applications
Runtime Management
Applications run-time should be easily managed.
Deployment (Configuration Management)
Application should be easily deployed to the target system without
pain.
Upgrade or new system installation should be done to the running
system with acceptable or zero down-time with automated tools.
ALM market
Tools that are focused on enabling agile (in particular, scrum)
ools that are building from strength in an ALM submarket (such as software
change and configuration management [SCCM])