The Software Development Lifecycle (SDLC) at Planet Argon
The Software Development Lifecycle (SDLC) is a well-established methodology for producing high-quality software that fulfills client needs both on time and within budget. At Planet Argon, our approach generally leans on Agile/Scrum and Waterfall methodologies, or a hybrid of the two.
The Six Phases of SDLC
Section titled “The Six Phases of SDLC”- Requirements Gathering
- Planning
- Design
- Development
- Testing
- Deployment

Note: SDLC is often iterative, especially in Agile environments, meaning phases can overlap or be revisited as the project evolves.
Phase 1: Requirements Gathering
Section titled “Phase 1: Requirements Gathering”Summary
Section titled “Summary”The Requirements Gathering phase is all about understanding what stakeholders consider successful for the project. It often involves multiple high-level, user-centric discussions to pinpoint exactly what the software should accomplish.
Common Phrases:
Section titled “Common Phrases:”- Stakeholder
- Requirement
- User story
- Definition of done
Real-World Example:
Section titled “Real-World Example:”Imagine a healthcare provider needs a system to manage patient records. Stakeholders might require functionalities like secure login, search functionality, and compliance with health data regulations.
Phase 2: Planning (Also Known as “Defining”)
Section titled “Phase 2: Planning (Also Known as “Defining”)”Summary
Section titled “Summary”Here, the focus is on how best to achieve the gathered requirements, identifying risks, and planning mitigation strategies. Budget and timeline constraints are also evaluated, as well as potential tools and technologies.
Common Phrases:
Section titled “Common Phrases:”- Feasibility
- Risk
Deep Dive into Risks:
Section titled “Deep Dive into Risks:”Consider factors like:
- Technical Debt
- Security Risks
- Market Risks
Budget and Timeline:
Section titled “Budget and Timeline:”Budget and schedule can impact the scope and quality. It’s crucial to align the team’s capabilities and deadlines with stakeholder expectations.
Phase 3: Design
Section titled “Phase 3: Design”Summary
Section titled “Summary”Technical leads and developers use insights from the Planning phase to formulate the software’s high-level architecture, specifying how data storage, security, and API integrations will work.
Common Phrases:
Section titled “Common Phrases:”- Architecture
- Design document
- System
- Component
- Language vs framework vs library
- API
- Databases
- SQL
- Relational vs non-relational
Phase 4: Development
Section titled “Phase 4: Development”Summary
Section titled “Summary”This is where the actual code is written. Developers use code style guidelines and commit and merge best practices to ensure code quality.
Common Phrases:
Section titled “Common Phrases:”- Local/staging/production
- Commit
- Merge
- Pull/push
- Git
- Bitbucket/Github
- Repo
- Merge conflicts
- Front End
- Back End
Phase 5: Testing
Section titled “Phase 5: Testing”Summary
Section titled “Summary”The Testing phase ensures that the software meets the requirements outlined during the Planning phase. Different types of tests like unit tests, integration tests, and user acceptance tests are performed.
Common Phrases:
Section titled “Common Phrases:”- Tests/test suites
- Testing frameworks (Rspec, Cypress, Jest)
- Edge case
- Happy path
- Passing/Failing
- Mock
Tools and Technologies:
Section titled “Tools and Technologies:”- Continuous Integration tools like CircleCI or GitHub Actions
Phase 6: Deployment
Section titled “Phase 6: Deployment”Summary
Section titled “Summary”The software is moved to a production environment, making it accessible for end-users. Before this, it often passes through staging and testing environments.
Common Phrases:
Section titled “Common Phrases:”- CI/CD
- Repo
- Staging
- Production
- Environment
- Push
- Launch/deploy/go live
Post-Deployment: Maintenance Phase
Section titled “Post-Deployment: Maintenance Phase”After deployment, the software often enters a Maintenance phase where it’s continually updated based on user feedback and performance analytics.
Quality Assurance Across Phases
Section titled “Quality Assurance Across Phases”Quality Assurance (QA) is an ongoing activity that spans multiple phases of the SDLC to ensure that the software meets the desired quality standards.