is a systematic process used for planning, designing, developing, testing, and deploying software.
-
Analysis
Role in Software Development: - Understand business needs and client requirements.Analyze project plan.
Input: - Business requirements and Client needs.
Output: - Software requirements specification (SRS), Project Plan.
Roles:
Product Owner -> Managing and prioritizing the product.
Project Manager -> Manages the project and determines the project duration. Manage team schedules, budgets and risks. (Trello and Microsoft Project)
Business Analyst -> Gather and document requirements from clients. (Jira and Microsoft Excel)
CTO (Chief Technology Officer) -> Specifies the programs used to work on the project.
-
Design
Role in Software Development: - Design the software architecture and user interface.
Input: - Software requirements specification (SRS).
Output: - Software design document.
Roles:
Software Architect -> Design the software architecture.
UI/UX Designer -> Design the user interface.
-
Development
Role in Software Development: - Develop the software based on the design.
Input: - Software design document.
Output: - Software code.
Roles:
Frontend Developer -> Develop the user interface.
Backend Developer -> Develop the backend of the software.
-
Testing
Role in Software Development: - Test the software to ensure it meets the requirements.
Input: - Software code.
Output: - Test report.
Roles:
Quality Assurance Engineer -> Test the software to ensure it meets the requirements.
Software Tester -> Test the software to ensure it meets the requirements.
Solution Architect -> Test the software to ensure it meets the requirements.
DevOps Engineer -> Test the software to ensure it meets the requirements.
-
Deployment
Role in Software Development: - DEnsure a smooth transition from development to production.
Input: - Software code.
Output: - Deployed software.
Roles:
DevOps Engineer -> Designs and manages database.
DevOps Engineer -> Manage Deployment. ( Azure, Google Cloud).
-
Maintenance
Role in Software Development: - Maintain and update the software as needed.
Input: - Deployed software.
Output: - Updated software.
Roles:
User -> Provide feedback on the software.
Tester -> Test the software.
Support management -> Provide support for the software.
