Thursday, October 31, 2013

Agile with Offshore Development - What Makes it Work?

A trend that's been grabbing the software development world recently is the move to offshore development, where much of the development work is done in lower paid. Offshore development seems opposed to agile development in a couple of ways. The question here  is whether agile techniques can be used in an offshore setting. If so how? What are the cons and pros and what are the lesson learned so far for offshore agile experience?

Wednesday, October 30, 2013

Agile Automation Testing Lessons

As more and more teams dive into Agile, they realize how much Test Automation approach affects success of the project and realize that Agile presents some serious challenges as well. Successful Test Automation approach together with good practices and mindset can affect development efficiency, creativity, early feedback and overall ability to produces on time working software. This RooJoom holds a small collection of lessons taken from agile automated testing projects presenting some ideas of how to build and maintain agile automation activities.

Monday, October 28, 2013

Finding the Right Agile Candidate- Interview Techniques

There are many more people with the word "agile" on their resumes than actually has the agile mindset and techniques in them. Implementing a few agile related interview techniques can increase the chances of finding people who are able to work effectively in agile environment.

Servant Leadership - Elevates Performance

Servant leadership is an age-old concept, a term used to suggest that a leader’s primary role is to serve others, especially employees.  While traditional leadership generally involves the accumulation and exercise of power by one at the “top of the pyramid,” servant leadership is different. The servant-leader shares power, puts the needs of others first and helps people develop and perform as highly as possible. In fact Servant leadership is a blend and balance between leader and servant. Its an attitude leading to A path of  high performance.

Sunday, October 27, 2013

The Retrospective Session: What is a retrospective?

It’s continues improvement aimed meeting, taken place at the end of each sprint. Helping the team to improve their performance effectives and efficiency ( . We look back as a team, learning from what we did wrong and how to improve in the future. And learning from what we did well and how to recreate it.

This is, in my opinion, one of the most important sessions to take place as part of the agile rituals that lead us to continuous improvement.

Don’t skip this session!

Why ?

Because it’s a learning meeting. We Communicate our performance on a regular basis (end of each sprint) we retrospect over our performance and pick action for next sprint.
Why retrospective?

·         Because improvement does not come alone. Having a heart beat  of improvement sessions will take us forward.
·         Because we if want to constantly improve  we need to have this official place and time, and it goes without saying that talking about our performance is what we naturally do, Regardless our results.
·         Because continues improvement and learning can come only when we are set to reflect over our performance, effectiveness and efficiency.
·         Each team member sees things differently, if we wish to improve as a team we need to get everyone’s opinion to the context of the team.
Without a retrospective session, the team will probably continue to make the same mistakes all over again and the improvement items will be randomly, based on crisis and the rate of improvement will be lower than it can get.

Who attends the retrospective?
Team members only! Those who have tasks on the board. Pigs , remember?
Managers are not allowed. Why? Because it’s a self-organized team, remember ?  Because the team should be accountable for its performance, therefore accountable for the improvements.
The team will decide whether to share or not retrospective items.
The scrum master can conduct the meeting  few first times , but later on it is recommended that The team will conduct the meeting.

Things that should take place during the retrospective:

·         The retrospective is an open discussion
·         Set up goals
·         Assign tasks to goals for next sprint.

In this session, we will ask ourselves questions:

1.    What should we continue doing?
2.    What should we stop doing?
3.    What should we start doing?
Or :
What were our successes “+” , or things we wish to improve “_”

The session should take place at a time when it’s convenient to chat, in a sharing atmosphere. Each team member should feel entitled to comment and contribute to the session and to the three questions.
We sometimes encountered people who avoid this session with various excuses, such as “we don’t have time for yet another meeting”,” we don’t want to share our thoughts and feelings with others”, and so on. Team members may be afraid to share their thoughts and opinions, especially if the managers are very 'command and control', ordering team members around and managing the team tasks.

Two types of retrospective as important to mention:

·         We can have a goal oriented retrospective, which is aimed to talk about a specific issue. For example – our relationships as a team with our interfaces.
·         Or we can have what I call  as “free hand” retrospective , which is  more of an open discussion over issues bothers the team , and from there the discussion will scope over the most important issues that the team thinks needs discussion.

Setting up a retrospective session:

     Allocate about an hour of team time.
     Conduct the session when just the team members are present, especially for the first few sessions.
     Have the session where you all feel comfortable. Don’t take it outside, at least not at the first times.
     Set the ground rules: for example: everybody can talk , we are here to share our view, don’t interrupt when one team member is talking and more…

As usual, the format may vary, and you can employ more creative methods than just conversation or writing tasks down on sticky notes.  Here are few examples:

Example 1 :

     One team member will review the weekly tasks. Preferred to be the scrum master Along with the rest of the team, the scrum master will summarize the sprint: main events, achievement, outcomes.
     Each team member says, in his turn, what he thought of the sprint, what can be done better, what we should keep on doing and what we should we start doing.
     One team member needs to summarize what the team says. This shows that we are taking the session and the things the team members are saying seriously.
     Pick a few tasks (not many) for preservation, changing, or to start doing.
     Assign a team member to each task. His role will be to follow this task and make sure we discuss this task in the daily family gathering.
     All team members are committed to the retrospective tasks and outcomes.
     In each retrospective session, bring up the outcomes and progress of the previous session’s action items. You may even choose to bring up the previous tasks as something we may want to deal with in our next sprint.

Example 2:

1.    Draw three columns on a white board or piece of paper:
     Things we would like to keep on doing.
     Things we would like to stop doing.
     Things we would like to continue doing.
2.    Pass around sticky notes.
3.    Each team member writes down issues and adds them to the appropriate column. Don’t comment or criticize team members over issues they add to the board.
4.    Once all finished, the team chooses the first team member to go to the board and make his case. Explain that you should start off with the positive things.
5.    When a team member finds that another team member wrote the same thing he did, he may approach the board add his sticky note together with the one presented.
6.    When a team member start presenting the issues he thinks requires improvement, start asking questions.
7.    We now have a good overview of the issues that occupied our mind during the last sprint. We also know what are the most important issues we need to improve, as we listened to all the team members' opinions.

8.    Now, it’s possible that some issues will create a lengthy conversation. If this happens, it is best to stop the discussion, and ask the team members to talk about it after the retrospective session.
9.    After all the tasks and team members concerns are on the board, lets select the tasks for improvement, to keep or to start doing.
10.  We can move the selected tasks to our ongoing tasks board, and put the rest in the backlog. This way we make sure the improvement will be followed (during the daily meeting) and will take place.

You can perform this session in many more creative ways, as long as you remember to have :
Open discussion:

o   Remember to get into the mood of active listening. Ask questions during the session.  Don’t let slogans to stay as is, get to the root cause of what happens.
o   Visualizing and sharing your issues as a team on the board, as part of a team dialog, makes it easier to talk about issues and address them.
Set up goals

Achieving goals with agile – using Kanban and scrum with kids and at home

Why spiders can help you achieve your goals

Assign tasks to goals for next sprint.

o   Just make sure not to select too many tasks for improvement. Focus on the important ones.
o   By the way, this isn’t as obvious as it sounds. By choosing the important tasks, we find out what the other family members are thinking. We may find out that there are specific issues that bother more than one family member, and we can focus on those for improvement.

More creative retrospective sets:

Attention and techniques:

•       Don’t let this session become a status reporting meeting and then to be delivered later to managers.
•       The past looks all black and the retrospective becomes a sad or angry meeting?
•       Use future spective technique to look at the future and make things better.
•       When we delay issues to the retrospective instead of solving them on the spot.
•       Raise the issue in the retrospective and make sure to bring the message that issues can be solved outside the retrospective as well..
•       Too many problems rise in the retrospective?
•       Set priority and take issues offline to task forces.
•       Deal with one issue at a time

You can use “retrospective” meeting whenever you have something you want to check and improve , you don’t need wait to  have a retrospective session to make a change or improvements. All you need to know is how to talk about things.

o   Credit “agile kids book “

Is Your Team Effective? "The 5 Dysfunctions of a Team"

Author Patrick Lencioni identified five common problems that affect team performance.
  1. Absence of trust.
  2. Fear of conflict.
  3. Lack of commitment.
  4. Avoidance of team accountability.
  5. Inattention to team objectives.

The  awareness of the five dysfunctions will help us recognize issues as they happen, so that you can help team overcome those obstacle toward better performance. What agile has to do with it?
While Agile practices are explicitly aimed at ‘uncovering better ways of developing software', it also addresses wonderfully the aspect of team dysfunctions subtly. 

Saturday, October 26, 2013

Team Coaching Games

Great teamwork makes things happen more than anything else in organizations.  People work most effectively when interacting with others they know and trust. Team coaching/ Building games enable people to build trust and rapport, which can lead to better outcomes. Team coaching games are versatile and can be used in a variety of situations and  also provide a wonderful opportunity to bring to life awareness and interest to organizations issues. 
Here are some tips and techniques of games, exercises and how to perform them with your tem. Enjoy!

Friday, October 25, 2013

Disney Inspirational Moments

"Disney movie quotes offer words of encouragement to children and adults alike that serve as inspiration to follow our dreams and never give up."

$1Billion a Year Industry- What is This Coaching Thing?

A good coach is someone who is an expert at helping others create positive change in their lives. The goal? To help the client identify and achieve their greater goals and to help them live a better life.  The ROI from coaching is astonishing and even more so for professional coaching. The bottom line is that Coaching is not just perceived as a nice-to-have intervention any more.

Thursday, October 24, 2013

Creating an Agile Product Roadmap

The product roadmap is an overall view of the product's requirements and a valuable tool for planning and organizing the journey of product development. Think of your roadmap as a guide, intended to keep everyone aligned and in the loop, but not as a strict project plan. Here are few tips and techniques to create your product roadmap.

Wednesday, October 23, 2013

Team Estimation Games

"The Team Estimation Game is the best technique we have found to get a scrum team up-and-running with useful estimates. It plays like a game, but it accomplishes valuable work: assigning story point estimates to user stories. Teams using this technique are typically able to estimate 20 to 60 stories in an hour. The game was invented by our friend and colleague, Steve Bockman."