- Greenfield vs Brownfield
- Greenfield software is the software that we design and develop from scratch. Brownfield software is one where something already exists and we have to add functionality and/or features to it.
- Obvious mostly works in greenfield software development but we occasionally work with brownfield stuff too.
- Documentation practices (ADR, project documentation etc.)
- Use of feature flags for features that span over multiple PRs
- Habit of raising PRs everyday
- Prioritising review over writing new code (dropping everything to review a PR)
- Show the Simple repo for daily branches, continuous integration and Github Actions for having checks in place
- Estimation Practices
- How engineers get estimations wrong?
- Estimation based on complexity and not time
- Introduction to State Machines
- Introduction to Mobius
- Pairing activity using Counter example
- Test-driven development
- Introduce the login example
- Pair on drawing the state diagram for login screen
- Introduce to Views and View Renderers
Initand wire Mobius loop
- Individual Activity: Re-write the take-home exercise in Mobius