Wednesday, September 29, 2010

Leadership is taking strong decisions when needed

Today, i would jot down some points about Leadership, especially around taking stern decisions.

Being a Leader is not a position or event in time, its a process. Its a process governed by some simple ethics and principles.

One of the characters of being a leader is showing Courage when your are expected and especially when you are not expected to show it.

Things are always easy to tell as a story.
A person in my team for name sake I will call him Johnny. Johnny is a productive person from my team. I am proud to have him onboard and he has some skills that add real value to the team.
Our team recently had a change in our core business hours, also over all there are some org level changes going on. All this puts a strain on the entire chain. As my role of Scrum Master, I took all that I could and shield the team from other impact. But there is always chance of me improving and hence some of these strain did got passed over.

Johnny may be took it in a different mindset and decided to call it quits. Its bad we are losing a productive person. But at the same time, till the time he is relieved (which in India is around 1 month to 2 months of notice period), more issues surfaced.

Johnny did not particularly had loss of productivity, but choose to relax and let team take the heat. However, no matter how good he is, when one tries to take advantage of the situation, its not right to allow it.

Release time came, team is taking the heat, fellow peers are asking him to chip by making it to Office in core business hour. Johnny, in his pride took to the thought, I am good and I will not give in to these restrictions. Not unacceptable, if you don't believe don't live it. But in an organization as long as the contract is there, please complete it and go on.

This story continues as this. There is a mail exchange to discuss relieving date. As all these mails are they are beautiful. They show a lot of emotions and affinity and much of it is true also.
I reply to this email, agreeing to the fact, we had great time together and he was an assets to us. It continues to say that this not being lived up to now.

The message clearly acknowledges the fact, that this person was good in his work and that I was proud to work with him, at the same time, it clearly mentioned that current behavior was quite opposite. I even mentioned, that If I were asked to complete the formalities of relieving him, would I sign "OK". I mentioned "NO", I am not ok.

I believe being a leader, you have to take firm decisions, strong but thoughtful steps, which talk about transparency. People should know what is fine working in what situation and what is not fine. No mixed feeling, no confusion there.

Yes you where good in the past, but if it comes to saying "Has he completed his formalities?", the answer is what it is seen as. The past and present are different. A Hero in the past can not get away with his/her ignorance in the present. A Hero has to grow up to be a Leader by being a Hero through and through.

Cheers,
Rohit

Monday, September 20, 2010

Playing Games is the best way to learn - You must try it too


Open up to playing Games - Learn like never before!

Today, my Agile Mentor Vinayak Joglekar, showed us one concept by making us play a game.
So far, I liked playing games, but felt ridiculous to initiate one. Yes, I call myself an Agile Evangelist, but there was a ice breaking required.

Vinayak is Founder and CTO of our firm Synerzip Softech. He helped us start a group named Agile Evangelist. We meet every monday at a coffee play to discuss things.

Today we played a Game which showed us the basic principles of Kanban.

Here is the premise of the game. There are two designers who keep designing module, they pass it to the two developers. The developer in turn pass it to one QA who passes on to one Deploy Person.

The key thing of the game is the productivity factor introduced by giving each person a dice. Along with dice each designer is given a set of cards.

The flow of cards is from Designer -> Developer -> QA ->Deploy (From right to left)






















How it is played?

Understand the purpose of Dice and Cards.
Dice show the productivity of a person each day. People have good days and bad days, and his does effect their productivity. The cards represent the amount of work they got done.

Each person rolls the dice and for each dot on the dice they pass those many no of cards.
This means if Designer rolled dice and had 5 dots, he will pass five cards to the Developer. If developer rolled the dice and he had 2 dots, he can pass 2 cards to the QA. If QA rolled the dice and it had 4 dots, he can still only pass 2 cards as that's what he had.
Also, at any given time, a person can keep rolling the dice and he may not have any cards to pass, so he waits until he has cards to pass on.

Phase 1
Be Super man and take max items on your plate

1 Dot = 1 Card
2 Dots = 2 Cards
3 Dots = 3 Cards
4 Dots = 4 Cards
5 Dots = 5 Cards
6 Dots = 6 Cards

In phase one each person rolls the dice and passes those many cards to person on left. So if a person constantly roll 5 he will keep passing 5 cards to left. Now it the person on Left, constantly rolls 2 he will keep passing 2 and more cards will pile up with him.

Why does this happen? Think about it for a while.

Phase 2:
Be a Normal person (and wear your underwear on the inside)

1-3 Dot = 1 Card
4-6 Dots = 2 Cards

We have learned our lesson, we take limited work on our plate at time.

Play this version to see what is the result.

Overall, we observed unlike before any time, a person does not have a pile of cards with him/her. The person's mood does not effect his productivity so much. Overall we limited the threshold of work a person can pass on (meaning process).

At last, the moral of the study. Don't try to be Superman, wearing your underwear on the inside , is more comfortable.


Cheers,
Rohit


Selling within Company

Evangelizing Agile sounds great to hear. But like any things if the goals are not decide, you will reach where you intended, which is NOWHERE.

Step 1: Set Simple Goals to achieve, mine are
  1. Make Synerzip follow Agile more than before. Be more specific - All team to do Daily Scrums in next 2 months
  2. Evangelize Synerzip's Agile Profile to rest of the world.
  3. Have loads of fun while doing it

Step 2: Catch what we do right, before asking people to act on new ones
  1. You can only EVANGELIZE, if you can catch People doing RIGHT Things. And Surprising people do a lot of right things :)
  2. Simple principles to remember, when dealing with People.
    a. Criticizing NEVER HELPS
    b. What is appreciated gets repeated, what is ignored disappears.
    c. Making interaction between people a Celebration, is the best way to make it a Ritual
  3. Appreciate publicly what you see your people doing Good. They will not only open their ear but their hearts to you.
Step 3: Talk more about people within than people out side
  1. Interview one team and find out what they do right in Agile. Record the Interview, Write the Interview and Publish it first inside.
  2. One team does one thing better than other team. The goal is to show the good in very team to inspire others to follow it. Caution - Never ever Compare.
  3. Let team compete amongst themselves, this is a welcome social change. Infact, encourage this.
Step 4: Reward should be achieving the Goal itself
  1. Instead of Monetary goals or KPIs, make people who helped achieve the goals as Star of the Organization.
  2. Publish his/her interviews on Youtube or blog (Ofcourse after talking to legal).
  3. Nothing can compare to a person being highlighted in a unique way. e.g Brijesh carried the Agile flagship for my team in Synerzip.

My 50 Cents, more for later

Cheers,
Rohit

Leading by example - Playing Scrum Master in difficult scenario

Like a lot of people I have taken certification in scrum practice and understand it. Often for one reason or another we are asked to or made to abandon our Scrum Master hat.

I would like to be different, and I am ready to pay the price, Smilingly :). I am one of the few who is lucky to have a Great team, who loves me and adores me. And I mean Great, Guys who take responsibilities, don't shy way from additional loan when it comes. Guys who can solve any problem in the world. This bonding and building of Great team, happened due to lot of things I learn in my Scrum Master Training (Thanks to my coach Pette Deemers).

It was there where I learned to be a Servant, Body Guard and Coach for my team.

Quite recently it happened, I was asked to finish some fixed number of Goals in bug fixing sprint. The team worked fabulously and by half the sprint our first goal of 0 Defect looked close. Since this was the most important goal for the sprint, I asked the team to only focus on that till it look almost easily achievable. After half the sprint, I asked the guys to see if they can take up the other goals as well. And they did great on that, distributed it amongst themselves.

The came another Goal (disguising itself as stretched goal). Team has Priority 1,2,3,4 and Priority 5 gets added, asking them to start on it in parallel.

What do we do here? I am sure many of us have faced this situation and most of us give me.

For the greater good, its always worth stretching and giving in. But for a priority 5 goal, you need to take out and wear your scrum master hat.

I stood for the principle, its the team call to start with Goal 5 in parallel or get Goal 1,2,3,4 to delivery. Its more like Kanban, at one point in time, team will do X no of things not more.

Being Scrum Master is not easy not unless you put in your heart and job on the line. If I am trained to be a Scrum Master and payed to play the role of a Scrum Master, I should just play it.

Yes, today I was a Protector. Tomorrow, I have become a coach to show higher management the side me and my team can clearly see.

Chao,
Rohit

Saturday, September 11, 2010

Are you really following the spirit of Agile?

Agile is very powerful tool for success of a Company and its clients.

But the question is are you really following the true spirit of Agile?

Answer the following questions and find out.

1. Do all the members in your team share responsibilities?
2. Do all the members in your team know clearly what is to be done with in a sprint?
3. Is the metrics e.g completion status and bug count up to date by itself?
4. Do your developers and QA spend most of their time on their desk working instead of meetings?
5. Is most of the stories/features completed with no bugs with in a sprint?
6. Do priorities comes from Product Management and estimations/cost come from Developers/QA?
7. Are there no extra meetings than daily scrum, sprint planning and demo meetings?

If you answer Yes to most at least 5 questions than your are following Agile to a good extend.

The irony I have seen in Organizations (prev Waterfall) people are been told to follow Agile. Agile can not be told be followed, he has to be sold. Its more of a mindset than a process.

Any Process that is closer to becoming a mindset has much better chances staying alive.

Lets start at ground level up, by following agile your Developers and QA should have following benefits
  1. They should be spending more time doing their core work on their desks. If they are in any meetings these must be mostly due to their own need to collaborate on understanding a feature or design or an approach. If your developers and QA are being pulled in to meetings by project manager, THIS IS NOT AGILE.
  2. Agile means doing common sense, more trust delegated to people. If asked to any member of the team what is the sprint goal and upcoming release goal, the developer/qa must be able to clearly mention this. This is what we call People over Processes. We invest in people and trust in people. Processes are need only when
    1. Managers fail to communicate the goal to the team
    2. Organization lacks trust
    3. Weak Leadership which is unable to replace people who do not align with
    Organizations's Supreme Goal.
    That is why I am against extreme processes. An Organization which relies heavily on Processes is either
    1. Concentration Camp
    OR
    2. Deck of Cards which keeps on falling apart

  3. Agile needs team members who can share responsibilities. The easiest way to make this happen is to show employees that you have trust in them and keep on grooming them. Keep appreciating regularly what people do correct, so it becomes a habit and keep communicating what is expected from them, so they are constantly reminded. If your team has 1-2 heros who pull of things, this is a BAD sign. ACT NOW and give others opportunity to become successful with in the team.
  4. You as the person in charge needs to make sure team is not pulled into extra meetings (which management requires) and they are stopped from working. This only means they are always serving others and in doing so staying late. Project Manager/Scrum Master needs to go to the team and provide them information instead of calling them to meetings. I personally saw this helps in getting a team extremely productive and motivated.
  5. Lets go a level up, team should be provided the right information at the right time. Only then you can expect productivity out of them. Product Managers are required to communicate what they want from the team well before next sprint. They are to clearly give every thing the team needs. Say mockups for functionality expected. If Product management is stretched or absent, a QA preferably or developer should be assigned a story to create a mockup or PoC of the work to be done in next sprint. This than has to be then frozen by Product Owner/Manager. Idea is team needs to be told what is expected out of them.
    Another important and most difficult point is estimations should come unbiased from team members. Although most Organizations like to have some control on these, more or less Team Members should be told to drive the estimates to get the best quality shippable product
  6. The team needs to become mature for Agile mind set. This is all about taking responsibilities and understand how metrics and information flows in deciding the fate of Organization. Ground level metrics (light weight) like how much a user story is complete, which user story is started on, what is the bug count, needs to be done by the team by itself. Unless this does not happen, team is not mature. The team needs to understand where their status updates and metrics used at high level to take decisions.
The above can not be found in any Agile book or workshop, but had been by personal experience to running a highly effective team.

My 50 Cents on finding out If you are really Agile or not.

Thursday, September 9, 2010

Evangelizing Agile in your Company

Evangelism is selling your ideas.

An Evangelist is a sales man who sells a way of doing things. Like any sales, you sell the following
1. Convenience
2. Dream
3. Better Self Esteem















Rules of Evangelism (in short what sells)
Evangelist has to sell ideas, basically implant the ideas in some one else head. Unless we don't have the technology of "Inception", we will have to make do with following

Non Intrusive
Never intrude or force your employees to listen to your evangelism speech. That's not evangelism. Do not force them to watch some thing or spam their inbox or force them into unwanted meetings or sessions or workshops.
Psychology says brain rejects anything which is forced. Brain accepts any thing which is strange, extra ordinary and interesting

Attract, Evangelize and Reward
First you need to find ways to make people come to you. Often organizations are autocratic in forcing ideas, they should instead be selling ideas.

Forced Ideas never stick, Sold Ideas not only stick they grow.

Some Fun ways of doing Evangelism for Agile

Agile Fiesta

Inviting People to the occasion
Every now and then call on to Agile Fiesta in your company. This is a reward to them to let them freak out and enjoy.
Remember, If you want people to come, please invite them for free food and drinks. Important point to note is they are your guests and not just your employees.

Yes, Certain Investment is required.
Investments in knowledge and learning pays out big time throughout life


Some stalls are for food, some are for agile (Food for brain)

Evangelize

Have your evangelist, sell Agile. Their key work is to talk to people one on one who approach them. Apart from selling Agile, they should talk to them about how things work and not work in their group.

Evangelist are public speakers but also great Listener

Question: How to make sure people go to the stalls?
Answer: Probably you are asking the wrong question, in the first place.

Question should be : How to make it interesting and fun to people to go to the stalls?
Answer: Simple, like in any carnival and fiesta, people go to the most fun stalls to play games and win some thing

Question: How to make sure people find their way to agile stalls?
Answer:At any stall, a person gets a Agile-Learning Sheet. He has to take this with him to each stall, if he wants to win a reward and be eligible for the lottery.

When a person talks to an Evangelism, based on the interaction and depth of questions. The Evangelist gives stars to him/her. This could even work in this way, a stall has 3 people telling 3 aspects of Scrum. Each can give one type of star. If the person talks to all 3 people at the stall, they win all the stars for Scrum.
Here is how it can look

Agile-Learning Sheet

Reward and Lottery
At the Reward and Lottery stall, the people who had filled the Agile-Learning Sheet exchange it for rewards.
The rewards are based on how many stars the person earned. Also, all the people who turned in filled in sheets are eligible for lottery.

Rewards have to relevant to what is being evangelized.




Go on Evangelize Agile!