Wednesday, August 3, 2016

Are we burning the right thing?

Is our development effort aligned with the business?
Are we getting good value out of our development team?
Is our team working on the right items?
Are we on the right track to get more value out of the team?
Are we burning the right thing?
Product Managers get a severe headache when these questions bang-bang their minds. Our development teams are usually great and great teams can deliver great software, but when the software delivered isn’t of high value the Business (i.e. the Product Managers) will still not be happy!

Tuesday, July 19, 2016

INVEST in user stories and perform SMART tasks

What is a good user story?

In scrum, we get married to user story. Have you ever thought of which story is good to get married and which is not? What are characteristics of a good user story? The acronym "INVEST" can guide you to identify the good stories:

I – Independent
N – Negotiable
V – Valuable
E – Estimable
S – Small
T – Testable


Stories are easiest to work with if they are independent. Its better for them to neither overlap with nor depend on other stories and we should be able to schedule and implement them in any order.
We can not always achieve this. Once in a blue moon, we may say things like "3 points for the first screen, then 1 point for other screens."


A good story is negotiable. It is not an explicit contract for features. The details will be co-created by the customer and development team during development. A good story captures the essence, not the details. Over time, the card may acquire notes, test ideas, and so on, but we don't need these to prioritize or schedule stories.

Monday, July 4, 2016

Definition of Ready

Dear Scrum Master, Don't let anything that's not READY into your Sprint.

Imagine, you are going to cook a meal for your spouse for your anniversary evening. Before starting to cook, you actually check, whether all the ingredients are available, you check if those are in the sufficient quantities, you buy out the missing things and then you start cooking, Right? The same is true for user stories.
User stories after their birth, have very tiny details. It is difficult for the team to commit to such stories. Team needs discussions, analysis, arguments and negotiations to groom the stories, so that the stories become matured and then team can commit to the stories.
But how does a team know, if the story is really ready to be taken into the sprint?
As user-story becomes clear and team doesn’t have any unanswered question and dependency remaining, the story is considered "READY". The list of items which help us to identify the "READY"ness is called as Definition of Ready (DOR).

Every user story must satisfy the INVEST criteria, before team commits to it. Every dependency
from the story needs to be removed, before team commits to it. All the necessary softwares and hardwares must be ready, before team commits to any story. These and many more items comprise into a list i.e. DOR.
Before committing to any story, the team can check if the story meets all the DOR criterion. If not they can reject the story, so that the stakeholders can put the missing details into it.
Agile promotes "Courage" as its core value. Courage to say "No" is important while committing for the stories. DOR gives us the sensible reasons to say "No".

Sunday, June 26, 2016

Testers role in agile

What testers do in agile?

coders + testers

In a perfect agile team, there are no people called as developers and testers. Entire team contributes to development and testing. So this article is non-existent in a perfect world. But in the real world, where developer (actually coders) and testers were in existence before agile came, this article finds a valid place. Development team does not mean coders. Software development comprises of coding and testing. So till now, we were mistakenly calling the "coder" and "developers". My view is "developers" = "coders" + "testers". So when we say development team in agile, we really mean coders and tester and any other roles which are required to achieve the say do ratio.
In non-agile environment, the role of a tester includes analysis, test case design test case writing, and test case execution. He is involved right from the project initiation stage up to when the project is closed.
However, in agile environment his role primarily is to work as part of a development team, and to ensure that quality is built into a product by working closely with the product owner. This helps the tester get more details out of the story cards. It will be difficult for the development team to meet the acceptance criteria and consider a story "done" if the tester does not engage him/herself with the product owner. The role of a software tester in an Agile environment goes beyond “just testing” and logging bugs.

Monday, June 6, 2016

How I passed PMI ACP exam

Dear Friends,
I will give you some tips and hints to help you complete you PMI ACP i.e. Agile Certified Practitioner exam in the first go.

Step 1) Real life experience:

I agree with PMI's criteria that we need to have 1500 agile project experience. It gives you good knowledge about how things can go right or wrong practically. So if you do not have that real life experience, then please get it. It really helps you to solve atleast 20% of the PMI ACP exam questions.

Step 2) Classroom training:

This 3 day training was also important to know some unknown things in agile, lean and kanban.

Step 3) Books:

My main study guide was the book from Mike Griffiths: PMI-ACP Exam Prep. I read it three times.
First I read the book in fast pace. I focused on headings and diagrams. After reading each chapter, I also solved the exercise at the end of the chapter. For the first time I got only 50% answers correct.
Second time I read the book in full details. I also carefully read those sections, for which I got wrong answers in the first time exercise. Then I solved the exercise and this time I got 70% correct.
Third time I read the book with 100% attention to each and every word. (remember to read each and every word) Now, this time I got 100% correct answers when I solved the exercise (may be because I would remember the answers by then).

Step 4) Solving the online exams:

Each time I completely read the book, I also solved questions from below links. Some of those are free and some of those are paid. I recommend to solve free ones first :) Paid ones are also equally worth. Paid ones cost you from $3 to $10, which is worth than not doing it & putting $495 at stake. From free ones, I got approximately 20% similar questions in my exam. From paid ones like examprofessor, I got approximately 30% similar questions in my exam. edward-designer link is like a composite of all the online guidance. Remember the questions are not exactly same. Those are similar and you will get fair idea of the difficulty level and also you will get to know your gaps.

Step 5) During the exam:

First read the question carefully and understand grammar of it. If it is easy, solve it. If you are in doubt, mark it and go to the next question. After you solve all easy ones, solve the marked ones. This should leave you with 30 minutes. Now in those 30 minutes, review carefully each answer of all those 120 questions. I am sure you will change answers of at least 5 questions (because your brain keeps on thinking).
Out of 120 questions, I was able to solve 80 questions with ease. Those werevery straight forward (based on my knowledge and experience). 20 questions were little tricky, but if you think twice, then they were reasonable. Rest 20 were very difficult and I had to spend 1 hour to solve those.... and I am sure I might have scored 0 in those 20.
Suggestion: Apart from the suggested book above, also read other books on lean, kanban and XP. Also browse one website related to these topics daily. This will help you to solve those 20 tricky questions.
Best of luck!

Monday, May 23, 2016

Facebook statuses of a scrum master

Day: 23 May 2016

6:00 AM
Did yoga and meditation. This will help me to keep myself calm and composed while tackling every unexpected impediment at today's scrum.

7:00 AM
Had hot cup of ginger tea with a sandwich. Heading for office. Need to reach before my team, so that I can remove any unwanted distractions before my team reaches its desk.

8:00 AM
Called our helpdesk to check Tonny's PC, which was not starting up. Could resolve the impediment within 30 minutes.

9:00 AM
Reminded the Product Owner about adding details to the 3 stories those are on top of the backlog. Those 3 stories are the potential candidates for next sprint.

10:00 AM
Researched on a new Retrospective technique called "sinking ship". We will use it to gather action items in this sprint's retrospective.

11:00 AM
Fought with a project manager who was intruding my scrum team and who was asking the team to prepare reports for leadership meeting, which was outside of our sprint work. Won the battle successfully.

12:00 PM
Had Paneer-Tikka for lunch at "The great India cafe" on 43rd street.

1:00 PM
Held a training session for new developers in our scrum team on TDD. I hope they understood it very well.

2:00 PM
Checked Rally tool to see if everyone has updated the stories with details, hours, TODOs and new tasks. Burndown looks pathetic.

3:00 PM
Enjoyed the backlog grooming session. Stories for next sprint are almost ready. Had to cut down few discussions which were going off track.

4:00 PM
Booked meeting rooms for tomorrow's midsprint review. Booked meeting rooms for Demo and Retrospective meetings. Booking in advance helps to get the room closer to the team location.

5:00 PM
Facilitated daily stand up meeting. Got to know about an impediment in an integration story. Setup meeting with the third party application owner to analyze the problem along with a senior developer from my side.

6:00 PM
Informed in SOS that the integration story in in risk due to dependency on third party application. We should update our Definition of Ready to incorporate the dependencies.

7:00 PM
Enjoying at the Hard Rock cafe with some chickens who want to implement scrum in their teams.

This article briefly tells you the roles and responsibilities of a scrum master.

Thursday, May 19, 2016

If you do these 6 things, then you are a good Lean Enterprise.

1) Loose your weight

In a usual weight loss program, we loose our weight and then gain it once we stop the program. But in a good lean enterprise, you focus at it often. Remember, this does not mean firing the people or doing a massive re-org. These are the best treatments that last a month!

Loosing weight in Lean, implies to keep looking at ways to continuously shed away what we would collect as we grow and do new stuff. Those could be excess inventory, unused or rarely required tools, expensive services (getting more expensive day by day), unproductive events, inflated processes, never ending projects, etc.

2) Wash yourself

Cleanliness is both the abstract state of being clean and free from dirt, and the process of achieving and maintaining that state. Keeping surrounding clean, allows to identify dirt and dirt making elements, helps loose your weight sooner. Cleanliness improves productivity, drives discipline, promotes transparency, limits back side gossips. The best part of it is we get encouraged to be clear in thoughts, words and deeds.

Daily Kaizen, Kaizen events and focus on 5S(sort, set, shine, standarize and sustain) helps the teams to keep the surroundings and environment clean.

3) Learn to say Sorry and Thanks more often.

Every team member in your team is leader in himself/herself. And in such a diverse teams, the biggest impediment in front of the team is leadership style of everyone. One action is perceived by different people differently based on their beliefs, egos and attitudes. Interpersonal strife and collaborative challenges rule until open communications and reiteration of meanings serve as the key.

Humble confidence is necessary while dealing with people and leading them. Accepting the mistakes and moving on becomes the guiding factor. Learning from ones/other's mistakes builds upon the experience and showing gratitude adds the flavor of humbleness.

Encourage Gemba walks, Gembutsu, Genjitsu and Genri and Genichi styles at the workplace.

4) Stitch in time, Save nine!

Lean is all about learning and improving. Learning from failures is the key. The failure is not an event. It is the result of a chain reaction. We need to identify the root cause (and not the root person) for the event and stitch over there. This stitch on time, saves further chain reaction.

Identify that small gap in your system which made the person fail!

5) What goes around, comes around!

Every business produces waste. Lean promotes reducing the waste. The waste could be unused inventory, WIP items pending too long, approval chains, scrap and many more. The businesses are meant to produce profit, value and brand.

When we start reducing the waste, productivity increases. This results in increased profit and value. This creates stronger brand recognition. All this is done to provide satisfaction to the customer. If we produce more waste, then customer will get lesser value and the result is "dis-satisfied customer".

So if you produce more waste, then more waste will come back to you. If you produce more value, then more value will come back to you in terms of profit.

6) Meditate

Yes, you heard it right! With the hectic pace and demands of modern life, many people feel stressed and over-worked. There are many things in life that are beyond our control. However, it is possible to take responsibility for our own states of mind – and to change them for the better. Meditation practices are techniques that encourage and develop concentration, clarity, stability, satisfaction and a calm seeing of the true nature of things.

When you see the true nature of the things going on in your enterprise/project, you start recording them. Once those are recorded, those get improved. Periodic audits identify gaps those are wastes, The process improvement reduces wastes. All improvement opportunities drive towards consistency, predictability, stability, and team satisfaction.

Note: The headings given to each of the above paragraphs, are not to be meant for taken literally; take those as a pun.