Development
The Development phase involves the process of transforming the design into a working software system. This phase involves coding the software, unit testing it, and integrating it with other components of the system. Institutions should refer to RISA guidelines for web and mobile applications development. Key guidelines include:
- Clear understanding of requirements and design[Mandatory] - Developers should ensure clear understanding of the requirements and design with frequent engagement with stakeholders including Project managers, business analysts and users
- Version Control [Mandatory] - Utilize version control systems such as Git to manage source code efficiently. This enables collaboration among developers, facilitates tracking changes, and provides a backup of the codebase.
- Automated Testing [Recommended] - Implement automated testing where possible for unit, integration, and regression testing. This ensures code quality, detects bugs early, and facilitates continuous integration and delivery.
- Code Reviews[Recommended] - Conduct regular code reviews to ensure code quality, adherence to coding standards, and knowledge sharing among team members. Code reviews also help identify potential issues and promote better design practices.
- Modular Design[Recommended] - Follow modular design principles to break down the software into smaller, manageable components. This promotes code reusability, maintainability, and scalability.
- Documentation[Mandatory] - Maintain comprehensive documentation for the software, including code comments and API documentation. Good documentation improves understanding, facilitates collaboration, and eases maintenance.
- Continuous Integration/Continuous Deployment (CI/CD)[Recommended] - Implement CI/CD pipelines to automate the build, testing, and deployment processes. This ensures rapid and reliable delivery of new features and updates while maintaining stability.See DevOps guidelines
- Security Practices[Mandatory] - Integrate security measures throughout the development process, including secure coding practices, vulnerability scanning, and penetration testing. Security should be a priority from the early stages of development to mitigate risks. See RISA security by design guidelines
- Team Collaboration and Communication[Recommended] - Foster a collaborative and communicative environment within the development team. Regular meetings, stand-ups, and communication channels facilitate coordination and alignment towards common goals.
Output: Source code, Software deployed in Test environment