Posts Tagged ‘Agile’

Early last week, I had the chance to complete an Arabic Translation for Nexus Guide.

Nexus is presented by Ken Schwaber as “the exoskeleton of scaled scrum.”

In Nexus, Scrum is used as the main building block however the focus in Nexus is on integration of work products from different participants to form an integrated product increment at least each sprint.

This would enable Scrum to scale well for large teams handling complex projects.

In this translation, and for consistency, I made sure to stick to the same Arabic translation for Scrum terminologies from my prior translation for Scrum Guide.

Feel free to send me your comments, suggestions or corrections.

The full set of translations along with the original English version of Nexus Guide can be found on this page.



Read Full Post »

The idea of self-organized teams is simple: autonomous teams are much faster, because they take decisions and solve problems without waiting for gestures or inspirations from the “operation mastermind” a.k.a. “the manager”!

Self-organized teams are much more prone to becoming hyper-productive, and therefore becoming self-organized should be a goal of every team, right? that is easier said than done!

“The employee won’t do what she has to do unless you tell her” is the classical wisdom in a typical command and control work environment. Changing this is a challenge!

Also, there is only little literature that goes beyond the basic definition and merits of adopting this management style to the how part of the story. This is obviously because transforming to a self-organized team is a different journey each time, no one prescription! It depends on work culture, invested time and resources, management support…etc.

My experience in a strict micromanagement environment proves that gradual transition following Deming’s Plan-Do-Check-Act has better chances to succeed.

Pushing team members out of their comfort zone and encouraging them to take the ownership of the work was faced by a lot of resistance mixed with lack of understanding, but things got better with time and persistency.

Also it gets particularly difficult when you try to cross the departmental barriers where you have no authority!

Another tip from El-Ssamadisy’s book Agile Adoption Patterns: A Roadmap to Organizational Success is to educate team members about Responsibility Process.

And apparently relentless leader is mandatory as well for such teams to transform successfully to the self-organized realm.

One more tool that I found useful is to allow the team to share the benefits of their productivity.
By implementing a simple financial incentive policy, team members start to show more self-initiatives and wait less for directions. That is especially useful when this incentive is directly proportional to the overall productivity the team makes measured by visible, transparent and understandable KPI’s

That is my observations so far, I will keep you posted!

A final thought, in Makkah in my last Umrah, I couldn’t help photographing the janitors while they were busy at their daily work in the holy places, hence the photographs accompanying this post.

In their daily work, they follow a specific rhythm, they move among hundreds of visitors and pilgrims, pick a WorkersInHaram-2location, zone the space and start distributing soap, and then sweep it , dry it and then move to another place and so on.

They know what they are supposed to do and they do it! and they deal with the situations they face autonomously, in fact it was very difficult for me to distinguish their leader! And I knew him only because of his old age and because he was carrying the water and showing them the next place to clean.

I am impressed with the systematic, hard, yet steady paced work these men are doing! That is, in my opinion, self-organized team in action!

Read Full Post »

Recently, I had a chance to test Affinity technique to classify a considerably big number of items. The problem was to look into our customers’ data and analyze it to find new ways to provide better services and eventually generate more revenue.

We wanted initially to segment this database according to two main factors.

First: whether the customer is still using one of our products or not.
Second: if the customer has valid M&S contract or not.

A quick export from our CRM system gave me an Excel sheet of more than one thousand row! The list contained customers from the 90’s until today! To make things more difficult, CRM data was in many aspects not complete or up to date! Looking around, it was also clear that no single person knows about all these customers.

But, using Affinity technique and in 4 sessions, 15 minutes each, a team of five members from sales, customer care, and telemarketing managed to categorize the full customer set  into one of five groups, how efficient is that ?Affinity to the max

Three observations from this exercise though,

1- At first, I was telling participants not to talk and move the customers’ cards around the table, then debate about any customer belonging to a specific group at the end. I found that this rule mustn’t be so strict. In fact a moderate discussion is desirable, it would streamline the classification process and eliminate the need for an after session debate or at least reduce it to the minimum. This is provided that no one member dominate the session and all opinions are respected.

2- Second remark was about the maximum number of cards. I found that the 5 members of the team were able to handle a maximum of around 250 cards in one 15 minutes  session. In my assessment, a smaller team would result in less classification quality, bigger team would require more time to finish the job.

3- In one of the sessions we actually crossed the 15 minutes time limit and I started to notice a slow down in team’s performance therefore I stopped the session. It is better to keep session quick while the team energy still high.

Above being efficient, Affinity technique helps reaching consensus, it acts as a team building technique, and it is also fun!


Read Full Post »

Go Live on Deadline!

The fact is your project was going smooth…the customer was happy…you had a signed scope…signed requirements…you finished development and here comes the day you were waiting for…the Go-Live day…and then BANG…your QA engineer reports TEN new issues between enhancements and bugs, the team starts dancing on one leg trying to fix…unfix…and things get only worse! you sit and write to your customer “sorry, we are missing the deadline!”


Cartoons on sticky notes by Doug Savage, http://www.savagechickens.com

In retrospective, you can see what went wrong…this is the first time you try to deploy the product to production servers, isn’t it? the first time the customer actually sees what you were cooking for 5 good months! the first time you integrate all the different pieces the team was working on! all these “first times” are what went wrong indeed!

What should you have done to avoid this? Well…It is obvious, intuitive, and self-evident! shed some light every now and then on what your team is doing, throw a demo with couple of sweets plates from time to time, bring the customer on board, make him or her part of the team, test first, test last and test all the way, integrate relentlessly and continuously…and don’t, I mean don’t ever deliver everything at one time! deliver the smallest meaningful piece of the system and spend the rest of the day discussing it with the customer as if it is all what you will deliver! let the team meet and share ideas…don’t allow two team members not to talk for more than three hours…yes, 3 hours!…collocate the team…collocate the team …collocate the team!

In one word go Agile!

Read Full Post »

Last weekend I read two interesting papers by Jeff Sutherland and others the Shock Therapy and the Scrum: An Extension pattern language for hyper-productivity software development.
In these two papers Dr. Sutherland describes how that although scrum is designed to increase the productivity, team’s success in achieving this goal varies! He refers to some teams that have an increase in their productivity by 400% and describes them as Hyper Productivity Teams. He also enumerates a number of patterns that were evolved by scrum community and are common among Hyper-Productive teams. Couple of other interesting articles about this topic are Group Coherence for Project Teams – A Search for Hyper-Productivity and Scrum Metrics for Hyperproductive Teams

In my opinion, and probably I am not saying anything new here, productivity is dependent on two main aspects of the team, one is organizational and social and that is the human dynamics of the team, the other is technical and methodical and that is related to the process and practices applied by the team. Consequently productivity level is proportional to how good is the communication and collaboration between the team members and how fluent they are in Scrum and Agile practices!

Having said that, and from experience I think maintaining the same high momentum all the time is quite difficult, productivity level would rather fluctuate reaching hyper-productivity state one time and falls back to average or below average productivity before it bounces back and so on.
The most difficult task in my opinion is how to maintain the hyper-productivity state once the team reached it? and how the team can bounce back quickly if it falls to normal productivity?

I am sending this question to Dr. Sutherland and to the community, and I will share with you the responses I receive.


Read Full Post »

Scrum Guide in Arabic


Folks at scrum.org kindly accepted my Arabic translation for latest Scrum Guide and published it today!
While I tried to be faithful to original script as much as possible I made some choices when I thought necessary to make the Arabic text less obscure. For example I chose to arabize “sprint” to “سبرنت” instead of translating it to “الرَكْضَة” or similar.

Please check it and let me know what you think, I will be glad to receive your comments or if you see any section of the translation that needs an improvement.

Have a nice day,

Read Full Post »

In public bids, we commit to fixed time, scope, and cost. This commitment, at this stage, is a mere guess! A guess that wouldn’t hold for long as change floods the project once project starts.

So, to mitigate the risk, we either pad our estimates generously, or we bid low and count on starting the project with an extensive analysis phase. From analysis, we produce a thick document we call the Software Requirements Specifications and we insist that the customer sign this document before we move on to the next phase.

The result is that we squander a lot of time and effort in the analysis, signing the requirements specifications becomes an epic of meticulous document review and heated debates cause friction and undermine trust among all parties!

This usually ends in one of three scenarios:

1. We force the customer to drop the change request, so we end up delivering something less desirable to the customer.

2. We tell the customer, “We will do it, but we do it only as a favor” and usually quality will suffer greatly as we try to shortcut the effort to preserve our financial condition.

3. Or we force the customer to pay for the change and the customer becomes unhappy and feels cheated.

It is a lose-lose situation!

In my opinion, unless you have a degree of freedom in adjusting one of the project constraints, then don’t do it! It is a death march!

However if we have to accept such a project for whatever reason, then Agile can still help and here is why:

1. Agile gives us the advantage of delivering valuable software early, while in classical Waterfall we may hit the deadline without having any usable software produced.

2. Agile helps us mitigate the fixed-price contract risk because it makes us fail fast! It simply gives us a better chance to cut our losses if we have to lose.

3. It helps us gain the customer’s trust by using tools such as sprint review meetings and demos also by using information radiators and making project progress visible.

4. Agile also engages the customer in the development process, which encourages the customer to share the responsibility of meeting the project constraints.

So, yes, by all means do fixed-price projects in an Agile way. You will have a better chance for meeting the project constraints, you will also know early if you can’t do it, and you can withdraw before you lose too much!


Read Full Post »

Older Posts »