Software Engineering
How real-world software gets designed, built, and shipped.
1,933 lessons·First 10 free
- 1What is Software Engineering?Free
- 2Programming vs Engineering: Scale and ComplexityFree
- 3The Human Element: Teams and CommunicationFree
- 4Time: Maintenance Over Initial DevelopmentFree
- 5Trade-offs: There Are No Perfect SolutionsFree
- 6Process and DisciplineFree
- 7Uncertainty and Risk ManagementFree
- 8Engineering for ChangeFree
- 9What is the Software Development Lifecycle (SDLC)?Free
- 10SDLC Phases: Requirements, Design, ImplementationFree
- 11SDLC Phases: Testing, Deployment, MaintenancePro
- 12Waterfall Model: Sequential DevelopmentPro
- 13Iterative and Incremental ModelsPro
- 14Agile SDLC: Adaptive and CollaborativePro
- 15DevOps and Continuous Delivery in the SDLCPro
- 16Choosing an SDLC Model for Your ProjectPro
- 17Feedback Loops Across the SDLCPro
- 18The SDLC as a Framework, Not a RecipePro
- 19Who Are Stakeholders?Pro
- 20Internal vs External StakeholdersPro
- 21The Product Owner and Business StakeholdersPro
- 22End Users and Customer StakeholdersPro
- 23Engineering Team StructurePro
- 24Cross-Functional TeamsPro
- 25Communication Channels and Stakeholder ManagementPro
- 26Conflicting Stakeholder InterestsPro
- 27Building Trust with StakeholdersPro
- 28The Iron Triangle: Scope, Time, and CostPro
- 29Quality as a Fourth DimensionPro
- 30Trade-off Analysis and Decision MakingPro
- 31Good-Fast-Cheap: Pick TwoPro
- 32Non-Functional Requirements as ConstraintsPro
- 33Technical Constraints and Platform LimitationsPro
- 34The Cost of Delay and Opportunity CostPro
- 35Communicating Trade-offs to StakeholdersPro
- 36What is Technical DebtPro
- 37Types of Technical DebtPro
- 38The Cost of Technical DebtPro
- 39Managing Technical DebtPro
- 40Preventing Technical DebtPro
- 41Code Evolution and EntropyPro
- 42Balancing Debt and DeliveryPro