Skip to content

Latest commit

 

History

History
99 lines (67 loc) · 4.14 KB

File metadata and controls

99 lines (67 loc) · 4.14 KB

software-engineering

Notes on programming + best practices, design patterns, architectural patterns, and project management

Quick Reference

Best Practices
Programming Naming Conventions Diagramming
Agile
Agile Rules Sprint Planning Sprint Review
Quality Assurance
QA Checklists - USE THESE

Step 1 - What

Requirements

"Requirements are like water. They're easier to build on when they're frozen"

Software Estimating

Step 2 - How

Architecture

Architecture is the design of constraints that apply system wide

"When you look at the architecture, you should be pleased by how natural and easayy the solution seems."

Design

Design is the process of compartmentalizing the system into packages/subsystems, classes, and routines while keeping complexity to an absolute minimum

"Once you understand that all other technical goals in software are secondary to managing complexity, many design considerations become straightforward"

Step 3 - Implement

Programming

Quality Assurance

"If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization"

Software Metrics

  • Agile Metrics

Step 4 - Project Teardown + Debrief

Maintenance

Administrative Project Teardown + Debrief