Agile Project Management
Sunday, November 23, 2014
Sunday, November 9, 2014
How to conduct effective sprint retrospective meetings?
- Do retrospective after every sprint. No exceptions.
- Involve all stakeholders. Developers, QA, Product Owners and whoever is involved in the sprint.
- Define action items at the end of the retrospective and follow through on action items. In every retrospective, review the actions taken on the action items from the previous retrospective. This is very important. When a scrum master follow through and review the action items from the earlier retrospectives, team will start to believe in the effectiveness of the retrospective. If no action is taken, retrospective is just another boring, useless meeting!
- Make sure every participant shares his/her feedback. Define a ground rule to state that no one interrupts when someone shares the feedback. "Talking token" would be useful in this situation. You can use a fluffy toy or a coffee mug or even a marker as talking token. When someone holds the talking token, he/she can talk and everyone else should listen. Once he/she is done, the token is passed to next participant. This approach will yield two benefits. (a) This reduces the interruption and makes the token holder comfortable to share the feedback without worrying about getting criticized in the middle of the conversation (b) Passing token among all participants helps the shy people to talk as well.
- Make the retrospectives fun. Try to use starfish approach detailed here. Nothing beats the wall and stickies. I usually record the retrospective output in Confluence pages as well to measure the retrospective effectiveness and also for historical purposes.
- When you end the retrospective, ask the team if they want to thank someone for the help he/she provided during the sprint. This will help the retrospective to end in a positive note.
Friday, September 5, 2014
How to design a product/website with a distributed team?
It's challenging enough to design a website even when the entire team is co-located. How about designing a website when the team is distributed? To add a twist to the story: How about designing a website when the team is distributed AND everyone in the team is a volunteer for a charity project?!
This is the situation I faced since January. We, team of seven volunteers, have been doing a project for Taproot Foundation since January. One of our biggest challenges was to collaborate on the design of the website. If everybody is co-located, we could have completed the design in less than a week. However, the team was not only distributed but also working only part-time. We all have demanding full-time jobs. We work in late evenings and weekends for this good-cause project.
I have used Asana to manage the project, it worked well to some extent. Thanks to people behind freeconferencecall.com, we were able to do weekly conference call on Thursdays to check the pulse of the project. We found that none of these tools replaced face-to-face communication required especially when it comes to design of the website or product. I just came across this article in nextweb. Author outlined excellent ideas for proper collaboration of design ideas. You will find it useful if your team is co-located. When I manage another non-profit project next time, I will probably ask the volunteers to gather in Mount Shasta for a weekend to finalize the design. It may not be a bad idea to go to kickstarter to fund the weekend brainstorming :-)
If you are involved in design of a product, you may find Stanford D School methods very useful, apart from the nextweb article mentioned above.
Thursday, May 1, 2014
I am a CSP (Certified Scrum Professional) !
I am not a big fan of certifications. But, I was intrigued by CSP for almost a year. I went to CSM training last year just to make my resume attractive. But, I learned a lot in that training. My planned next stop was CSP certification. But, I could not even start to prepare for the exams mainly because reading list for CSP was too looong!
I kept procrastinating taking the test until Scrum alliance announced to abolish the test route for CSP. That was a wake up call. I registered for the last available weekend before Scrum alliance pulled the plug on the test. I went in last Saturday and aced the test. I prepared for about 4 weeks. It was very hard. However, I learned some interesting ideas just because I was forced to read up tons of books and materials.
Many years ago, I took the PMP exam. That was brutal. CSP is even more brutal. I am glad that I passed that test!
Saturday, March 22, 2014
Missing Retrospective
There were so many times I get the resistance from the team when it comes to retrospective meetings. Usual arguments are: "Why the hell you want to spend one hour in every sprint for this meeting?", "It is a total waste of time", "I do not want to hear all those arguments", "We are matured Agile team, we do not need retrospective anymore", "It is a fish market", etc.,
Among these arguments "We do not need retrospective anymore" is my favorite! It's like saying, "I lost 15 pounds by hitting gym everyday in the past one month. I accomplished my goal. I do not need to go to gym anymore". If you do not continue your exercise, you are going to gain the weight back (and some) very soon. Consistency is the key. Retrospective meeting is the perfect option for all team members to voice their opinions and make meaningful contributions to the team and the project.
If some members are not able to attend retrospective, I do not cancel the meeting altogether. I would always reschedule or conduct the meeting with available team members. I use GoToMeeting or Join.me to connect with remote team members. At the worst case, I send out emails with questions, collect answers and schedule a brainstorming session in the following week.
Gathering feedback and refining the process based on feedback is the core of Agile process. I would not miss it for any reason.
Wednesday, February 26, 2014
Managing Conference Calls
If you are managing remote teams, there is a high probability that you are doing scrums and sprint planning sessions thru GoToMeeting or other similar tools. Wall Street Journal published an useful article on this topic today - Surviving a Conference Call.
Key takeaways from the article are:
- Scrum Master (Meeting leader) must set firmer ground rules than they do for face-to-face meetings and tighter, more explicit agendas
- If a new member joins the scrum team (whether remote or onsite team), Scrum Master should ask everyone in the team to introduce themselves to the new member
- Scrum Masters should talk less than in face-to-face meetings and listen more
- Rotate the note taking responsibility among team members to increase the engagement
Monday, February 17, 2014
How to effectively manage globally distributed teams?
There are two twists to this question. One is how to
effectively manage teams distributed across the world; another is how to do
that in Agile mode.
Managing distributed teams is hard irrespective of whether
you use Waterfall or Agile. Communication is the key. It may seem obvious. But,
you will be surprised how many managers consistently mess up in that
area. It is easy to assume a lot of things about stakeholders who are not
physically present in your office. I have witnessed incidents where a product
owner in London assumed that developers in India would work non-stop, in
varying shifts, for few days before the launch. We had a client in Caribbean
islands who assumed that modifying UI for iPhone app is just a matter of
adjusting some CSS; he thought his
change request would take only few hours whereas the development team took more
than a week. The list goes on and on.
If the team is multicultural, that adds more spice to the project
manager's life. Remote teams in India, Japan, France or Dubai have holidays
that may totally surprise project managers in U.S. It is not uncommon for
remote teams to assume that everyone in the world know about their traditions. Some
countries have Fridays and Saturdays as their weekend. Some have Thursdays and
Fridays. Project managers need to educate themselves on culture and tradition of
all stakeholders while managing distributed teams.
When we first started Agile, there was a lot of apprehension
about using Agile with distributed teams. It turned out that Agile would
actually make project management easier compared to Waterfall. If the offshore
team is going to have religious holiday on a Monday, that discussion will come
up in daily scrum many days before that Monday. Ideally, that would come up in
sprint planning. Scrum masters may need to move around sprint meetings (sprint
planning, sprint retrospective, etc.,) to suit the timings for all
stakeholders. But, that's part of the game anyway.
To effectively manage globally distributed teams, following
are vital:
1. Team collaboration software - Example: Confluence, Asana,
Basecamp, Google Docs, etc., These tools help the team to collaborate on the
project requirements and other project documents. Asana and Google Docs are
free.
2. Backlog management tools - Example: JIRA Agile, Rally, etc.,
These tools will help you to maintain your product backlog and sprint backlog.
These products are not free, but worth the price.
3. Web conferencing software - I would use GoToMeeting whenever
possible. It's a paid product, but does the job very well. If you don't have
budget for it, join.me is a good free product to use.
If your stakeholders are not familiar with any of these
software products, train them before starting your first sprint. That will save
you lot of headache.
Before concluding, an important point about daily scrums for distributed teams:
Set a time for daily
scrums, ask all teams including remote team to participate and stick to the
time. This is a tricky part. Timing may not work out well depending on
where your remote teams are. If your team is in San Francisco and your remote
team is in Ireland, holding daily scrum at 8:45am PST would make sense for all
team members. However, what would you do if your remote team is in Japan? I
have seen companies doing 4pm PST scrum to accommodate both U.S and Japan
teams. One of those companies are having two scrums every day -- 10am PST scrum
for teams in U.S. and 5pm PST scrum for Japan team. That is very unusual, but
happens.
Subscribe to:
Posts (Atom)