Software Life-cycle Management

Software Life-cycle Management

Virtually every type of product that can be imagined has a lifecycle.  This is true for software applications as well as tangible items such as automotive vehicles.  Software lifecycle management – more recently termed Application Lifecycle Management or ALM – is an important part of any IT group’s overall management strategy.

Software applications go through a variety of phases during the lifecycle.  Some of the phases can be skipped; others may fall out of order.  But generally most applications follow these stages:

  1. Requirements/Design/Architecture – where the software concept is laid out along with problem/solution statements, functional design documentation, technical design documentation, and systems architecture that could include development standards, database, network, servers and other hardware requirements.
  2. Development – the code is written according to the design requirements using predefined development standards and tools.
  3. Testing/Quality Assurance – the application is tested and results are compared to the requirements to determine if the development complies with the defined objectives of the application.  Test case management is often used as part of this process.
  4. Change management – this can encompass not only software change requests, but also managing user transition and acceptance of the new application.  This can include a variety of communication tools and documents – sometimes with a separate change management project plan.
  5. Configuration management – from database thread settings to user display settings, a variety of configuration settings must be considered, reviewed, and tested.
  6. Deployment – this can include software client installations for users, web enabling, or other means for access to the application in preparation for use.  Sometimes this could include user training and technical training.
  7. Support – part of a support stage could include service level agreements (SLA’s) as well as contact information and procedures to keep the application running.
  8. Measurement – based on the requirements criteria, various metrics should be used to determine how effective the application performs.
  9. Upgrades/Reviews – this step should include operating system, database, web server, application server, network, and other facets of the overall application components.  On a routine basis, the measurements should be reviewed to determine if additional enhancements or changes are necessary.
  10. Replacement/Obsolescence – After a period of time, legacy applications will need to be migrated to newer technologies.  A plan to dissolve the obsolete software will be needed.  This plan could include cancelling service contracts, scaling back support, and stopping change requests.

ALM tools have been introduced to the market in recent years.  This allows the facilitation of software lifecycle management particularly for complex applications that may involve multiple tiers, geographically distributed teams, and complicated requirements.  These software products provide workflow tools and management features to allow greater visibility, sharing and collaboration.  When evaluating ALM tools, businesses should look for experienced providers with tangible references.  The provider should allow a small proof of concept as part of the proposal.  With better ALM tools, the software lifecycle can become more streamlined and simpler to manage – regardless of size or scope.



Handling the Remedy is available here and other leading retailers:


 

David Peterson

David G. Peterson is a business consultant and author of Handling the Remedy. He has extensive international experience managing projects and operations for large financial institutions. He has worked in North America, Europe, Middle East and Asia skillfully managing business and technical requirements, core systems enhancement and support, merger and acquisition integration's, business process reengineering, off-shoring and outsourcing.