Agile practices
What we get is shorter development time, better accuracy in estimations, less bugs. Peace of mind for both developers and managers.
- unit testing
- continuous integration
- coding standards (including the use of linter)
- refactoring
- Test-Driven development
- Automated Acceptance testing
- Automation (usually means CI or something similar)
- Continuous Deployment
- Pair programming
- Frequent commits
- Frequent code-review
- collective code ownership
- Behavior-driven development
- Sustainable pace
Books
- Refactoring by Martin Fowler
- Working Effectively with Legacy Code by Michael Feathers
- Rapid Development: Taming Wild Software Schedules by Steve McConnell
Articles
- Working Effectively with Legacy Code (short pdf)
- Introducing An Agile Process to an Organization
- State of Agile
- State of Agile 2017
- What's the Value of CI/CD?
Counter points
- Clean-up is invisible to users, we need to add new features.
- Bugs are visible. Especially bugs that return.
- Security issue are even worse.
- Clean-up will help us go faster.
- We don't have time for clean-up.
- Prevention a lot cheaper than cure. Both in terms of money, time, and bugs.
Steps
- Introduce (unit)testing.
- Introduce the practice with low-hanging fruits even if they don't provide a lot of value. Get the CI going!
- Increase the modularity of the code.
- Increase the testability of the code.
- Use mocking in the meantime.
Tools
- Mikogo for remote screen sharing
Published on 2017-01-01
If you have any comments or questions, feel free to post them on the source of this page in GitHub. Source on GitHub.
Comment on this post