⪼ Made with 💜 by Polyglot.
- Design Process for Software
- The design portfolio that got me hired at Wealthsimple
- Getting the Basics - Software Architecture Introduction (part 1)
| STEP | TITLE | DESCRIPTION |
|---|---|---|
| STEP 1 | Requirements Gathering | Identifying stakeholders and meeting with them to understand functional and non-functional requirements, business goals, restrictions and technology constraints. |
| STEP 2 | Feasibility Study | Analyzing the practicality of the proposed solutions, considering existing systems, technology stack, and the overall project scope. |
| STEP 3 | System Design | Outlining a high-level architecture that addresses requirements, integrates with existing systems, and follows best practices. |
| STEP 4 | Prototype (Spike) | Developing a proof of concept to explore the potential solutions and validate the architectural approach against key scenarios. |
| STEP 5 | Detailed Design | Defining detailed software designs, including data models, algorithms, and complete system workflows. |
| STEP 6 | Implementation Planning | Planning the implementation phases, setting milestones, and preparing the development environment and teams for execution. |
| STEP 7 | Oversight and Governance | Overseeing the implementation to ensure adherence to architecture and design principles, addressing technical debt, and managing changes. |
| STEP 8 | Quality Assurance | Establishing protocols for testing, including unit testing, integration testing, and performance testing to ensure system robustness and reliability. |
| STEP 9 | Deployment Strategy | Planning and executing a deployment strategy that includes rollbacks, phased deployment, and canary releases. |
| STEP 10 | Post-Deployment Monitoring | Monitoring system performance post-deployment to identify any issues and ensure system stability and efficiency. |
| STEP 11 | Iterative Improvement | Continuously evaluating and improving the system architecture in response to changing requirements and technology advancements. |