It has been 8 months my team is working with agile method. One of the challenge people face in agile when they come from waterfall method is story point estimation.
We use Fibonacci series for story point estimation. 1, 2, 3, 5, 8, 13 and so on. We assign a point to each story depending on complexity and development time. Higher number is more complex story and more time need to develop that one. It is hard to estimate in days but easy to give points by comparing the story with other stories. For example, if you say that to make a cup of tea you need 2 points then to cook rice you may need 3 points because making rice is more complex or time consuming than making tea. In this way you can compare stories with eachother and give them story points.
Some days ago I joined a session on scrum. The speaker of the session was the assistant director of our department and also a certified scrum master. The session was very good. The speaker was not trying to teach us everything about scrum in a couple of hours time. But he was trying to help us to change our mindset towards agile and scrum. It was not a theoretical session but an interactive one. I am giving below some of the key takeaways from the session.
- Scrum is one of the method (probably the most simple one) to follow agile. There are other methods of agile out there as well.
- The length of a scrum team usually should be between 5 to 9 people.
- There are scrum master, product owner, developers and testers in a scrum team.
- Product owner creates a collection of requirements called product backlog where everything saved as stories which needs to be done for the product be successful.
- Sprint is a fixed time duration (usually 2 to 4 weeks) where team develop and test some specific stories of the product.
- At the start of every sprint there is a session called sprint planning happens where sprint goal has been decided and based on that sprint backlog has been created from product backlog.
- Every day a session take place which is called daily scrum. On it every one specify three things. What he did yesterday, what he will do today and any blockers. It should take only 15 minutes and not more than that. Discussing things in detail is a bad practice in this session.
- At the end of every sprint there is sprint review session where team used to give demo of their work of that sprint to customers.
- Also at the end of every sprint there is a session called sprint retrospective where team discuss what went good and bad in the sprint.
- Scrum team should be mature enough to take requirements so that sprint goal can be mate. There is no leader in the team. Everyone is equal.
- Once a story has been placed in a sprint there will be no change in that. Any required change needs to go product backlog for future sprints. Once sprint starts no one should change the sprint goal and add more stories in it.
- The advantage of agile is quicker delivery of small features to production. It will help quicker revenue. Product owner can change requirements based on changing market more easily.
We recently have adapted agile approach from waterfall model into our project. Below some of my early experiences during the process change.
There are many items in the backlog sorted by priority (highest priority on top) in the form of user stories which needs to be developed. Sprint is a fixed time period in which development and testing needs to be done of some user stories. In our case the duration of a sprint is two weeks. In this time we need to develop and test some user stories and promote to UAT. The start date of the sprint has a backlog grooming and sprint planning meeting on which scrum master, product owner and the development team put some user stories into sprint from the backlog. The stories should be clear enough to the developers so that they can start developing. The stories need to be short enough to be fit inside a single sprint which is two weeks in our case. During the sprint developers and testers build the functionality of the stories and test that. At the end of the sprint development team shows demo to product owner of the newly developed functionality and gather feedbacks which goes into the backlog. In every sprint the same thing repeats. We are using Jira to manage the backlog, user stories and sprints.
It’s a learning point for me as we changing our approach towards agile.
Microsoft will release Windows 10 on July 2015. They have said that it will be the last version of ‘Windows’. So what that means? ‘Windows’ will be dead? ‘Microsoft’ will stop working on ‘Windows’?
Well the answer is ‘Windows’ will not be dead. The delivery process of ‘Windows’ to the consumer will change. ‘Windows’ will become from a product to a service. There will be no major release. Updates and new features will be pushed to consumers when they are ready.