Search This Blog

Monday, January 23, 2012

Prioritization Method - MoSCoW prioritization or MoSCoW analysis

This technique is commonly used to reach a common understanding with stakeholders on the importance they place on the delivery of each requirement


MoSCoW is often used with timeboxing, where a deadline is fixed so that the focus can be on the most important requirements (the two ‘o’s are there just to make the acronym work)


Must have
Requirements labeled as MUST have to be included in the current delivery timebox in order for it to be a success. If even one MUST requirement is not included, the project delivery should be considered a failure (note: requirements can be downgraded from MUST, by agreement with all relevant stakeholders; for example, when new requirements are deemed more important). MUST can also be considered as Minimum Usable SubseT.


Should have
SHOULD requirements are also critical to the success of the project, but are not necessary for delivery in the current delivery timebox. SHOULD requirements are as important as MUST, although SHOULD requirements are often not as time-critical or have workarounds, allowing another way of satisfying the requirement, so can be held back until a future delivery timebox.


Could have
Requirements labeled as COULD are less critical and often seen as nice to have. A few easily satisfied COULD requirements in a delivery can increase customer satisfaction for little development cost.


Won't have (but Would like)
WON'T requirements are either the least-critical, lowest-payback items, or not appropriate at that time. As a result, WON'T requirements are not planned into the schedule for the delivery timebox. WON'T requirements are either dropped or reconsidered for inclusion in later timeboxes. This however doesn't make them any less important.
Sometimes this is described simply as "Would like to have" in the future, this however leaves some ambiguity in the minds of the users as to its priority compared to the other marks.


This technique is good to be used during the release planning so that the entire team will be getting to know what is expected of them. Also this technique is an iterative and ongoing one.


If new "Must Have" requirements discovered during project then we need to renegotiate scope i.e. transfer equivalent effort of Should and Could Haves to Won’t Haves and renegotiate what are now Must Haves to maintain agreed percentage of effort for remaining time


And If it becomes clear that all agreed "Must Haves" cannot be completed then immediately STOP THE TIMEBOX then Re-estimate, Re-negotiate and Re-schedule the time and scope. Also make sure that you will never extend a timebox in order to achieve the Must Haves. Because time and budget are fixed, the only remaining variables are the requirements. So if a project is running out of time or money the requirements with the lowest priority are omitted. This does not mean that an unfinished product is delivered, because of the Pareto principle that 80% of the project comes from 20% of the system requirements, so as long as those most important 20% of requirements are implemented into the system, the system therefore meets the business needs and that no system is built perfectly in the first try.


Thursday, January 19, 2012

Story pointing to Bugs – Is it needed?

Story pointing is generally done to have a good idea for our release planning and see how much we can commit to the customer
Bugs can fall into one of the following category


• Category 1: Bugs in the current sprint

• Category 2: Bugs from the previous sprints

• Category 3: Bugs from the field.

So should we story point the bugs which fall in any of these categories? Not really
We can strategize in different ways to handle the bugs.

Case 1
Let’s say we have a feature and its story pointed also our definition of DONE means: Feature should be completed without any bugs in it. In this case the bugs that are falling in the Category 1 (i.e. Bugs in the current sprint) should be completed in the current sprint itself and we should not story point the bugs separately since we have already story pointed the feature. Again story pointing the bug will give a false velocity of the team.

Case 2
For example we have a feature that is already completed in the previous sprints let’s say SPRINT 1 and we have marked it as DONE. Say we are in SPRINT 3 and found any issue with the feature that was marked as DONE in SPRINT 1. How are we going to handle that?

These types of scenario falls under the Category 2(: Bugs from the previous sprints)

We can use the following strategies.

a) We can ask the PO to review the bug and see how important that is .Accordingly can request him to prioritize and take that up in the next sprint depending on the priority. If it’s a high priority issue , team can story point the bug or we can follow the next approach i.e.

b) During our sprint planning we can allocate some amount of time from our actual velocity for handling Category 2 bugs so that we need not story point for them.

For example our total velocity for the sprint is 100hrs; we can allocate say 10% for bugs from the previous sprint so 10hrs will be blocked for any issues coming from the previous sprint.

Note that these hours should not be fixed, if there are no bugs coming from the previous sprints then it should be used for feature development.

Case 3:

There might be issues coming from the field. This issue should be routed through PO.

PO will be deciding how important the bug is and he will decide whether it should it be taken as a bug or should it come as a new feature.

If we are taking it as a bug then what every point mentioned in Case 2 will be applicable.

And if it is coming as a feature then we will story point them.

The bottom line is PO and Team should discuss, agree and come up with a strategy that can be best used to tackle any type of bugs.




Monday, January 16, 2012

Estimation the agile way


"The primary purpose of software estimation is not to predict a project’s outcome; it is to determine whether a project’s targets are realistic enough to allow the project to be controlled to meet them."—Steve McConnell, Software Estimation: Demystifying the BlackArt


Estimate means
• To calculate approximately the amount of work
• To form an option about.

But people often treat estimation as the actual figures and commit to some work. This often leads most projects into trouble.

In agile, it is accepted that the initial estimations aren't to be trusted but at the same time it also understands that some expectations need to be set and budgets need to be created.


To make this happen we use the Stories and a concept of Relative Sizing.


User Stories are short descriptions of features our customer would like to see in their software.


Estimating relatively is something we are good at. Let’s say we have two balls in front of us we can easily say how much big one ball is than other. But we might be in a soup if asked to tell exactly how much bigger it is.


Relative sizing can be achieved by using point-based system. Using this approach our measure is always relative not absolute. Here units of measure don’t matter.


All we are trying to do is to capture the size of the task.


Let’s say we some category as follows

Now want we do in relative sizing is as a team we take each story discuss about it and each person in the team will rate some point against that story. If all persons in the team rate the same point they finalize it and move ahead. If there are some dissimilarities they will talk among themselves and justify and try to convince others why the point were given and finally after discussion all will be coming to once conclusion and arriving at a point.


Planning poker is one good example of doing the relative estimation. For more details about planning poker check out this link http://en.wikipedia.org/wiki/Planning_poker


Some advantages of using relative sizing is


• It reminds us that our estimates are guesses.


• It is a measure of pure size. They are more accurate and have less variation.


• It’s fast, better, and cheap

For more information how story point is better than hours check this out


Story Points: Why are they better than hours?


Basic documentation for scrum for beginners

The scrum guide on Scrum.org is probably one of the better places to start with . Please refer to http://www.scrum.org/scrumguides/


Sunday, January 15, 2012

Agile management

Agile management is an iterative method with the aim to satisfy the customer with early and continuous delivery of working software


There are different flavors of agile











For agile manifesto please refer to
http://agilemanifesto.org/


For agile principles please refer to
http://agilemanifesto.org/principles.html

Sunday, November 16, 2008

Keep the Spark Alive : Chetan Bhagat

Recently I came across an article, which is very inspiring and thought I would copy that here so that other people reading it would really enjoy …
This is Inaugural Speech for the new batch at the Symbiosis BBA program, Pune - 23rd June 2008 by Chetan Bhagat(Hope Chetan won’t mind copying the same article here, which was initially present in
http://www.chetanbhagat.com/blog/)

Good Morning everyone and thank you for giving me this chance to speak to you. This day is about you. You, who have come to this college, leaving the comfort of your homes (or in some cases discomfort), to become something in your life. I am sure you are excited. There are few days in human life when one is truly elated. The first day in college is one of them. When you were getting ready today, you felt a tingling in your stomach. What would the auditorium be like, what would the teachers be like, who are my new classmates - there is so much to be curious about. I call this excitement, the spark within you that makes you feel truly alive today. Today I am going to talk about keeping the spark shining. Or to put it another way, how to be happy most, if not all the time.

Where do these sparks start? I think we are born with them. My 3-year old twin boys have a million sparks. A little Spiderman toy can make them jump on the bed. They get thrills from creaky swings in the park. A story from daddy gets them excited. They do a daily countdown for birthday party – several months in advance – just for the day they will cut their own birthday cake.
I see students like you, and I still see some sparks. But when I see older people, the spark is difficult to find. That means as we age, the spark fades. People whose spark has faded too much are dull, dejected, aimless and bitter. Remember Kareena in the first half of Jab We Met vs the second half? That is what happens when the spark is lost. So how to save the spark?
Imagine the spark to be a lamp's flame. The first aspect is nurturing - to give your spark the fuel, continuously. The second is to guard against storms.
To nurture, always have goals. It is human nature to strive, improve and achieve full potential. In fact, that is success. It is what is possible for you. It isn't any external measure - a certain cost to company pay package, a particular car or house.
Most of us are from middle class families. To us, having material landmarks is success and rightly so. When you have grown up where money constraints force everyday choices, financial freedom is a big achievement. But it isn't the purpose of life. If that was the case, Mr. Ambani would not show up for work. Shah Rukh Khan would stay at home and not dance anymore. Steve Jobs won't be working hard to make a better iPhone, as he sold Pixar for billions of dollars already. Why do they do it? What makes them come to work everyday? They do it because it makes them happy. They do it because it makes them feel alive. Just getting better from current levels feels good. If you study hard, you can improve your rank. If you make an effort to interact with people, you will do better in interviews. If you practice, your cricket will get better. You may also know that you cannot become Tendulkar, yet. But you can get to the next level. Striving for that next level is important.
Nature designed with a random set of genes and circumstances in which we were born. To be happy, we have to accept it and make the most of nature's design. Are you? Goals will help you do that. I must add, don't just have career or academic goals. Set goals to give you a balanced, successful life. I use the word balanced before successful. Balanced means ensuring your health, relationships, mental peace are all in good order.
There is no point of getting a promotion on the day of your breakup. There is no fun in driving a car if your back hurts. Shopping is not enjoyable if your mind is full of tensions.
You must have read some quotes - Life is a tough race, it is a marathon or whatever. No, from what I have seen so far, life is one of those races in nursery school, where you have to run with a marble in a spoon kept in your mouth. If the marble falls, there is no point coming first. Same with life, where health and relationships are the marble. Your striving is only worth it if there is harmony in your life. Else, you may achieve the success, but this spark, this feeling of being excited and alive, will start to die.
One last thing about nurturing the spark - don't take life seriously. One of my yoga teachers used to make students laugh during classes. One student asked him if these jokes would take away something from the yoga practice. The teacher said - don't be serious, be sincere. This quote has defined my work ever since. Whether its my writing, my job, my relationships or any of my goals. I get thousands of opinions on my writing everyday. There is heaps of praise, there is intense criticism. If I take it all seriously, how will I write? Or rather, how will I live? Life is not to be taken seriously, as we are really temporary here. We are like a pre-paid card with limited validity. If we are lucky, we may last another 50 years. And 50 years is just 2,500 weekends. Do we really need to get so worked up? It's ok, bunk a few classes, goof up a few interviews, fall in love. We are people, not programmed devices.
I've told you three things - reasonable goals, balance and not taking it too seriously that will nurture the spark. However, there are four storms in life that will threaten to completely put out the flame. These must be guarded against. These are disappointment, frustration, unfairness and loneliness of purpose.
Disappointment will come when your effort does not give you the expected return. If things don't go as planned or if you face failure. Failure is extremely difficult to handle, but those that do come out stronger. What did this failure teach me? is the question you will need to ask. You will feel miserable. You will want to quit, like I wanted to when nine publishers rejected my first book. Some IITians kill themselves over low grades – how silly is that? But that is how much failure can hurt you. But it's life. If challenges could always be overcome, they would cease to be a challenge. And remember - if you are failing at something, that means you are at your limit or potential. And that's where you want to be.
Disappointment's cousin is frustration, the second storm. Have you ever been frustrated? It happens when things are stuck. This is especially relevant in India. >From traffic jams to getting that job you deserve, sometimes things take so long that you don't know if you chose the right goal. After books, I set the goal of writing for Bollywood, as I thought they needed writers. I am called extremely lucky, but it took me five years to get close to a release. Frustration saps excitement, and turns your initial energy into something negative, making you a bitter person. How did I deal with it? A realistic assessment of the time involved – movies take a long time to make even though they are watched quickly, seeking a certain enjoyment in the process rather than the end result – at least I was learning how to write scripts, having a side plan – I had my third book to write and even something as simple as pleasurable distractions in your life - friends, food, travel can help you overcome it. Remember, nothing is to be taken seriously. Frustration is a sign somewhere, you took it too seriously.
Unfairness - this is hardest to deal with, but unfortunately that is how our country works. People with connections, rich dads, beautiful faces, pedigree find it easier to make it – not just in Bollywood, but everywhere. And sometimes it is just plain luck. There are so few opportunities in India, so many stars need to be aligned for you to make it happen. Merit and hard work is not always linked to achievement in the short term, but the long term correlation is high, and ultimately things do work out. But realize, there will be some people luckier than you. In fact, to have an opportunity to go to college and understand this speech in English means you are pretty damm lucky by Indian standards. Let's be grateful for what we have and get the strength to accept what we don't. I have so much love from my readers that other writers cannot even imagine it. However, I don't get literary praise. It's ok. I don't look like Aishwarya Rai, but I have two boys who I think are more beautiful than her. It's ok. Don't let unfairness kill your spark.
Finally, the last point that can kill your spark is isolation. As you grow older you will realize you are unique. When you are little, all kids want Ice cream and Spiderman. As you grow older to college, you still are a lot like your friends. But ten years later and you realize you are unique. What you want, what you believe in, what makes you feel, may be different from even the people closest to you. This can create conflict as your goals may not match with others. . And you may drop some of them. Basketball captains in college invariably stop playing basketball by the time they have their second child. They give up something that meant so much to them. They do it for their family. But in doing that, the spark dies. Never, ever make that compromise. Love yourself first, and then others.
There you go. I've told you the four thunderstorms - disappointment, frustration, unfairness and isolation. You cannot avoid them, as like the monsoon they will come into your life at regular intervals. You just need to keep the raincoat handy to not let the spark die.
I welcome you again to the most wonderful years of your life. If someone gave me the choice to go back in time, I will surely choose college. But I also hope that ten years later as well, your eyes will shine the same way as they do today. That you will Keep the Spark alive, not only through college, but through the next 2,500 weekends. And I hope not just you, but my whole country will keep that spark alive, as we really need it now more than any moment in history. And there is something cool about saying - I come from the land of a billion sparks. Thank You.
Cheers !!!

Friday, November 14, 2008

Speak Your Mind

It's really bad to be afraid to share our opinions with others freely and speak up. Saying "Yes" when you mean "No" is a very bad habit, which you get into. This might be because of the way you are brought up or the circumstances that prevailed around while you are growing up. Some people even believe that this is some thing, which you get from your birth, which according to me is a completely a wrong assumption. One should express their thoughts in a clear and concise manner, while being sensitive to the feelings of others. People have their freedom of speech so don't think about how other people react to you, keeping in mind that others also have the right to have their own opinions. Try to start up by speaking your mind and expressing yourself with your family, then with a group of friends, then with everyone.