Days ago, I took one agile training shared by one scrum master. On the whole, I have to say that it's valueable and inspired me a lot. I share some key points as below:
Agile is NOT a methodology, process or framework. It's a thought to deal with the challenges faced by software developing.
challenges:
1) unstable requirements
2) uncertainity
3) unacceptable quality
4) demoralized team
To resolve the problems. Agile has the famous manifesto:
Individual and interactions Over process and tools
Working software Over comprehensive documentation
Customer collaboration Over contract negotiation
Responding to change Over following a plan
Please pay attention that it is "Over", but not "replace". Agile trys to emphasis some key points but do not reject documentation, plan, contract those kinds of things. :-)
Based on the above 4 items, agile has some principles which you can find in the related agile forum.
What's Scrum?
Scrum is an agile project management framework that's an alternative to some traditional project management. It's offen represented by Sprint circle and Daily Scrum meeting. The core value of Scrum is
Commitment, Focus, Open, Respect, Encourage.
As "体式" it not the essence of yoga, daily scrum meeting is also not the essence of Scrum. It is just one way to let team members show progress and expose some key problems. Every member need answer the below three question:
1) What have you done yesterday?
2) What can you done today?
3) What blocks you?
The whole process of agile scrum is what the image shows:
One sprint should base on one backlog which contains several user stories. Sprint backlog comes from product backlog. It needs some skill to divide user story and decide which story should be put into which sprint.
The basic rules of dividing user story are:
I----idependent
N--negotiable
V--valualbe
E--estimable
S--small
T--testable
Agile Scrum try to provide some guides to resolve the problems faced by software engineering. Please keep it in mind that scrum is not silver bullet. There are some contraints before you run scrum.
Scrum need one self-organized, self-motivated and cross function team.
Scrum depends on automation testing.
Scrum need you remember the core value but not the format itself.