Lately I was taking Agile Software Development on Coursera, and have been applying the framework at work. Below is the learning notes from the course, and also my thinkings based on my personal experiences.
LEARNING NOTES
Agile Manifesto
- 4 values
* Individuals and interactions over processes and tools
* Working software over comprehensive documentation
* Customer collaboration over contract negotiation
* Responding to change over following a plan
- 12 Principles
User Story
- Characteristic of good user stories:
Independent, Negotiable, Valuable, Estimate, Small, Testable
- Generate user stories
Store map
Scrum
- Sprint planning
- Sprint execution and daily standup
Answer 3 questions during stand-up
What did I do yesterday? What am I going to do today? Any blockers?
- Sprint review
* Review work done
* Get feedback
* Celebrate
- Sprint retrospective
* What’s working and not working?
* Action items?
THOUGHTS
In my opinion, the Scrum framework is a bit micromanaging. It focuses on deliverables and does not give too much autonomy to developers, which might be helpful for junior engineers, but not so much for senior engineers. Thus at work, what I promote is to do your own sprint planning. A good engineer should be capable of understanding needs from business side, and knowing when to re-invest in long-term engineering at the same time. He/she should plan out his priorities on his/her own and have the discipline and motivation to execute consistently.
Comments
Post a Comment