For quite a lot of time from the start of my career, I was struggling with the technical debt, so much time that I started seeing myself as bankrupt 🙂
That triggered me to start studying Lean & Agile methodologies and invest in ways to be more efficient, organized and with less debt, a debt that can drain your resources if it is not handled with care.
I now have a mission…
- Use stable source control – Done
- Clean up code
- Make environmental branches
- Use clean branch pattern
- Apply XP engineering practices – Done
- Test driven development
- Pair programming
- Design improvement
- Unit testing
- Collective code ownership
- Use of integration server
- Apply Scrum – Done
- User stories
- Backlog grooming
- Sprint planning
- Planning poker
- Sprints
- Daily Scrum
- Scrum of Scrums
- Retrospectives
- Engage stakeholders
- Sprint review
- Work with small increments
- Reform to cross functional teams
- Use mockups – Done
- Make training part of the work – Done
- Use continues integration & release management – Done
- Nightly builds
- Unit testing & coverage report
- Automated documentation
- Code versioning
- Code packaging
- Automated deployments
- Integration testing automation
- Regression testing automation
- Warmup automated releases
- Smoke testing
- Automated release data/reporting
- Use metrics – Done
- Tasks opened vs tasks closed statistics
- Bugs found vs bugs closed statistics
- Features per platform/application
- Features burnup chart
- Cumulative chart per Kanban step
- Tickets opened vs closed statistics
- Per sprint burn down chart
- Releases per environment (development, test, production) per platform/application
- Apply Kanban practices – Done
- Kanban board
- Work in progress reduction
- Metrics
- Optimize processes using Lean – In Progress
- Automate everything…(?) – In Progress
…
N. Review, understand, learn and adjust – ∞