How to build software

From an article I saw on DZone.

Development Stage What needs governance? Tools and techniques
Business Problem
  • The source of problem statement (real business case vs. developer’s wish).
  • Project roadmap, timeline and resource constraints.
  • Process exists to ensure right stakeholders are engaged, agreed upon project roadmap is defined, and resource pool, delivery timeline and risks are identified.
Requirement Gathering
  • Use case and requirements.
  • Effort level and risks.
  • Requirement document reviewed and signed off from all major stakeholders (business, development and testing teams).
Architecture
  • Alignment with corporate IT.
  • Non-FRs like performance, security.
  • Architecture review.
Design
  • Design guidelines.
  • Design review.
Implementation
  • Code quality.
  • Feature implementation.
  • Code review.
  • Code coverage.
  • Feature demo.
Testing
  • Test plan and strategy.
  • Test results and coverage.
  • Score card on non-FRs.
  • Review of test plan, strategy, coverage and results.
  • Review of non-FRs score card or compliance report.
Documentation
  • Documents.
  • Documentation review.
Deployment
  • Deployment instructions.
  • Deployment document review.
  • Deployment team’s feedback on ease of deployment and first few weeks report from production.
Service/Maintenance
  • Ease of troubleshooting.
  • Number of customer-found defects.
  • New feature request.
  • Tracking production defects and ensuring root cause analysis done on the same.
  • Assess and feed feature requests to next release’s project requirements.
  • Process to have regular feedback from service teams.