# Overview

#### Software life cycle process \[Mandatory\]

Software Lifecycle Management refers to a structured process acquiring, implementing and maintaining high quality software. Government institutions should follow the following steps when deploying new software:

[![software-lifecyle-jpg.png](https://guidelines.risa.gov.rw/uploads/images/gallery/2025-04/scaled-1680-/software-lifecyle-jpg.png)](https://guidelines.risa.gov.rw/uploads/images/gallery/2025-04/software-lifecyle-jpg.png)

1. Concept note/feasibility study
2. Requirements Analysis and Terms of Reference
3. Software acquisition  
    a. External Procurement  
    b. Inhouse Development
4. Architecture &amp; Design
5. Development
6. Testing
7. Deployment
8. Operations &amp; Maintenance
9. Upgrading and Decommissioning

#### Agile approach \[Recommended\]

<p class="callout info">The design, development, testing and deployment (Steps 4 to 7) should be done through an agile approach which is the recommended approach for software development in Government institutions.</p>