Problems of System Development
- Principles of software design
- What is software complexity
- Code smell
- Technical debt
- Cost of fixing software defects
- The knowledge transfer dilemma
- Software rot
Scrum Project Management
- Agile principles
- What is scrum
- Way of working
- Sprint
- Backlog
- Scrum roles
- The DEV Team
- The Scrum Master
- The Project Owner
Sprint Planning
- What is sprint planning
- User stories
- Technical tasks
- Estimation units
- Hours vs. points
- Definition of "done"
Sprint Execution
- Task board
- Daily scrum
- Burn-down charts
- Interpreting burn-downs
Sprint Completion
- When is the sprint over
- Sprint review
- Sprint retrospective
- Decompression
- Ideal development time cycle
Between Sprints
- Release planning
- Burn-up charts
- Interpreting burn-ups
- Team/developer velocity
- Spike
- Tracer bullet
Scrum Project Exercise
The objective is that within a time-frame of 1h+ simulate a full sprint by planning, estimating, designing and implement a small web-app using a JSON-REST web services back-end.
Scrum Pitfalls
- Pitfalls by the DEV team
- Pitfalls by the management team
- Signs of a sprint failure
- The importance of technical skills
Agile Development
- Developer work-flow
- What is continous integration and why it is important
- CI server work-flow
- Team work-flow
- The SOLID software design principles
- Testability
- A scenario for a failed project
- What is clean code and why it is important
- How to clean code
- Refactoring
- Principle of single responsibility
- Principle of separation of concern
- Principle of least astonishment
- The DRY principle
Scrum Case Study
Discussion of a practical scrum project from the trenches