Category: Management


US National Archives - Creative Commons image

Workers assembling radios. Photographer Lewis Hine. US National Archives – Creative Commons image

Typically in plan driven model, scope is fixed and the cost and schedule are variables.  Many large scale software projects were and continued to be implemented this way.  In many instances, when a particular scope is desired within a giving time-frame (fixing the schedule), plan driven projects add resources.  But as we know simply adding resources to a project doesn’t always bring about the desired goals.  As a matter of fact, if resources are added late on a software project, it actually has an adverse effect.  This was indeed observed by Fred Brooks in his book The Mythical Man Month, also known as Brooks’ Law: “adding manpower to a late software project makes it later”. 

With Agile software development, the triangle gets  inverted – where cost and schedules are fixed and the scope is variable.

Waterfall-Agile Triangle

Even for Agile projects, there could be instances when a fixed scope is desired within a given time period.  For example, when an external entity drives a compliance or mandated project.  In those instances, the only lever stakeholders may have is adding resources for a delivery with fix scope and schedule.  But, are there better ways to add resources or capacity to an Agile project without falling in the same traps of experienced with plan driven methods?

Before we answer that, lets briefly consider teams on Agile projects.  Agilists  have generally made 2 recommendations for effective teams:

  • Keep team intact or stable for a long periods of time
  • Keep team size between 5-9

A recent paper called The Impact of Agile Quantified seems to support these two recommendations out through empirical data.

Stable teams, defined as having less than 10% membership change in a 3 months period vs Unstable teams defined as 40% variance in their membership tend to:

  • Have more throughput (volume or work)
  • Have less variance in their  throughput (they are more predictable)
  • Have less defect density (higher quality)
  • Have less time in process (better time to market)

From the same research findings, teams of 5-9 team members have the most balanced performance when it comes to predictability, productivity, quality and responsiveness.   Generally, smaller teams (of 1-3 people) are 40% less predictable and have 17% lower quality; however, they do have 17% more productivity.

Instability in Agile teams can happen sometimes which may not be in direct control of the resource managers.  Like, for example, a team member gets promoted or changes positions or leaves the company altogether.  In some instances, a resource manager may also have to move team members due to skills match, team dynamics or performance considerations.

So given these findings, what would be the best options in adding resources to an Agile project or a release?  Creating a whole new cross-functional team of 5-9 team members during early to mid part of the project along with a Product Owner and a ScrumMaster (presuming you are following Scrum) would be the best option.  This will allow added capacity without running foul of the Brooks’ Law.

But if the budget add doesn’t allow addition of an entire new Agile team, then other viable options becomes little less ideal.  One option would be to add team members to an existing team to make them more cross-functional or remove a crucial skills constraint, so the team becomes more self-sufficient.  The other option is to shore up smaller teams that have less than 5 team members.

Alternatively, you can level-off a larger team and form 2 teams.  Take for example, there is additional funding for 4 team members and Original Team A makeup: 9 team members + PO + SM.  Form Team B: 5 team members – 3 new team members + 2 team members from Team A (presumably a team member can initially serve as SM initially) and  a PO.  Now New Team A would be: 7 team members + PO + SM.  Since, both teams would be within the ideal size range, and assuming you are able to maintain the cross-functional nature of both teams, you can still reap the benefits of higher throughput, better quality, more predictability and better time to market.  Again, these aren’t the best options because affecting existing well performing teams will inevitably create an initial setback as new teams re-form and then re-norm.

Ideally, if short term results are desired, say within a quarter, scope reduction is probably still the best option instead of disrupting Agile teams.

Advertisements

Just One More Level

TaeKwonDo Practitioners (© Aashish Vaidya)

As transition goes, shedding the old ways and adopting new ones are fraught with doubt and confusion.  This is true of any large organization transition effort as it is for scaling agile practices across the enterprise.  One of the challenges for enterprise transition community leading this change effort is figuring out how to move people with different understanding and different needs from novices to experts.

Many times, a model or a construct of learning helps us classify how to approach people with different levels of understanding and teach them new techniques.  Alistair Cockburn introduced the concept of Shu-Ha-Ri to software development.  Shu-Ha-Ri is borrowed from the martial art practice of Aikido.

Here is how Martin Fowler describes it:

Shu-Ha-Ri is a way of thinking about how you learn a technique. The name comes from Aikido, and Alistair Cockburn introduced it as a way of thinking about learning techniques and methodologies for software development.

The idea is that a person passes through three stages of gaining knowledge:

  • Shu: In this beginning stage the student follows the teachings of one master precisely. He concentrates on how to do the task, without worrying too much about the underlying theory. If there are multiple variations on how to do the task, he concentrates on just the one way his master teaches him.
  • Ha: At this point the student begins to branch out. With the basic practices working he now starts to learn the underlying principles and theory behind the technique. He also starts learning from other masters and integrates that learning into his practice.
  • Ri: Now the student isn’t learning from other people, but from his own practice. He creates his own approaches and adapts what he’s learned to his own particular circumstances.

One of the common refrain you hear from many people who have learned some basics about agile methodologies is to say, ” see we understand the agile practices, but how are we going to do this differently here?”  The questioners, here might presuppose that certain practices just won’t work in their environments and want to start tailoring things right out the gate.  Especially, when they have learned that agile is all about adaptability and change.  So there is this predisposition to jump to the Ri stage.  But, agile practices are supposed to be an experiential process.  You do things, reflect on what worked and what didn’t , in short you inspect and then you adapt.

But, many balk at directive practices in the Shu state as it run contrary to the agile manifesto, itself.  Here is Rachel Davies, co-author of Agile Coaching who takes on other agilists, in a post  called Shu-Ha-Ri Considered Harmful:

I’m uncomfortable with approaches that force students to follow agile practices without questioning. These approaches seem to violate the first value of the Agile Manifesto “Individuals and interactions over processes and tools.” I question whether introducing agile software development techniques to people is anything like martial arts training. Software development is knowledge work and our aim is to build a team of reflective practitioners. To do this we need to engage with how people think about their work. Are techniques from physical arts that build muscle-memory really applicable here?

For me, agile Boot Camps and Shock Therapy approaches lack basic respect for the team’s unique context and the experience of people on the team. Agile software development is a much looser discipline than a martial art like Aikido. Organizational culture and nature of the product being built are major factors in what agile techniques the team will benefit from most. If we establish a sensei-novice model, we’re not fostering the independent thinking and reflection that will take the team beyond the Shu level.

To some extend this is a valid argument.  You have to respect the individuality of the team members and allow them to question the practices they are supposed to be following.  And invariably boot camps and shock therapy approaches will only have an ephemeral effect like a motivational speech would.  You are pumped up for a while and get a boost of energy, but the sugar high wears off quickly.

But at another level, this is a very shallow read of martial arts and the sensei-novice model.  Even cursory look at history of martial arts would suggest that they are not merely about physical activity, but means to develop deeper connection to moral and spiritual dimensions.  Just as you wouldn’t confuse the practice of yoga to be only about physical well-being.  That is just an aspect called hatha yoga , but in larger context yoga has much more to do with “knowledge work” than building simple muscle memory.  Albeit, the knowledge is different, not software development variety.

The issue isn’t necessarily with the Shu-Ha-Ri construct, but how it might be used within the context, and it is more about its understanding and its implementation.  Further on in the post, Davies calls out the real peril:

Installing a basic set of agile practices by force can be done quickly so the organization starts getting benefits from new ways of working faster. Teams are superficially at the Shu level in the space of a few weeks. Often, the management team considers the agile rollout is now complete. It’s assumed that teams will continue to apply what they’ve learned. But without any experts around to enforce agile practice, pretty soon a team falls back to their old ways or sometimes worse carries on with agile practices that don’t make sense for their project.

I was pleased to see “cargo-cult agile” called out in the new book “Practices for Scaling Lean & Agile Development” by Craig Larman and Bas Vodde. They say “Avoid forcing–When coaching we encourage: volunteering; do not force any agile or lean approach onto people; people should be left the choice to think and experiment…with concentrated long-term, high quality support. The best, the most sticky adoptions we have seen had this approach.”

In a large organization, there is rare chance that you will encounter people who do not fall into all three categories of learning: the complete novice, who just wants to be told what should he do next; the intermediate, who knows agile practices well enough to start digging into deeper underlying theory and principles; and experts, who are adept at reading the context and tailoring their own practices to continually achieve business goals.  For enterprise transition community leading adoption of agile in their enterprise, the goal is obviously to encourage people to think critically, experiment and continuously learn, and deftly deal with people at all 3 levels.  Anders Ericsson, a cognitive psychologist, who developed the popular “ten thousand hours” theory of mastery has a second prerequisite for expertise – “the notion of deliberate practice, which describes the constant sense of self-evaluation and a consistent focus on one’s weaknesses rather than playing on one’s strengths (ref Maria Popova’s blog post).  This notion is something the enterprise transition community and agile coaches need to be aware of, and one which our software brethren who design video games understand real well:

[The “zone of proximal development” is] the idea that learning works best when the student tackles something that is just beyond his or her current reach, neither too hard nor too easy. In classroom situations, for example, one team of researchers estimated that its’ best to arrange things so that children succeed roughly 80 percent of the time; more than that, and kids tend to get bored; less, and they tend to get frustrated. The same is surely true of adults, too, which is why video game manufacturers have been known to invest millions in play testing to make sure that the level of challenge always lies in that sweet spot of neither too easy nor too hard.”

The challenge, then is to figure out a mix of practices that you know the teams will be able to take on, and add that 20% “stretch” practices, which allow the teams to flex and get to another “level”.  And hopefully soon, they will internalize what gamers who are hooked – they beg for that 5 extra minute to complete one more level!

Rachel Davies continues:

Learning new ways of working takes time.  As Ron Jeffries once said “They’re called practices for a reason.  You have to have done them. Practice makes perfect.” If you base an agile adoption on Shu-Ha-Ri model, the trick is to remember the goal is beyond the first-level. Your teams need more than training. Allow plenty of time and on-going coaching support for teams to get them into the Ha phase and beyond.

The constant care and feeding of agile teams will be needed at least till the organization moves through the Ha stage.  After all, you come across many agile teams, who have practiced agile for years, but are stunted in their growth.  These teams are upper bound to their organization’s proficiency in new techniques and inextricably linked to its culture, its inertia and change aversion, which doesn’t allow continuous improvements to take place.  So then the Shu-Ha-Ri model can still be useful model, provided that the community understands that you have to look beyond the rollout of initial agile training and project kickoffs.

PS: A parting note, though this was much before my time, if you want to see Ri practitioners in action, then watch the video of these two cats, who delivered a 90% improvised piece, but still based on an underlying musical framework.  They are still grounded in the principles and theory of their craft, but their uniquely tailored performance fits the context, and with their virtuosity, they transcend the rules to create a masterpiece – in essence, they make their own rules.

Corn Field, Sauvie Island, Oregon (© Aashish Vaidya)

Back in 1930s, the Great Depression and the Dust Bowl – the dual economic and environmental degradation – caught small family farms into its vicious grip.  To reverse this devastating effects on farmers, the federal government enacted farm subsidies “aimed at helping small family farms”.

Fast forward decades later, the well-meaning policy that sought to help small farms is now producing unintended consequences and counter-productive outcomes.  An USDA publication notes that over those last decades, the total number of the farms has declined from its peak of 6.8million to 2.1million by 2002.  Increasingly, large operations make up to 73% of the production value, even though; they constitute only about ten percent of 2.1million farm operations.  These small number of operators controlling a higher concentration of agriculture production value also produce political clout.

Mike Russo of U.S. PIRG Education Fund in his white paper Apples to Twinkies: Compare Federal Subsidies of Fresh Produce and Junk Food, notes:

Since 1995, taxpayers have spent over $260 billion on agricultural subsidies. Reflecting the political clout of the biggest producers, the lion’s share of the dollars go to a very small number of larger operations – roughly 74% of subsidies go to 4% of U.S. farmers. These large operators, who are recipients of federal subsidies may then turn around and use the money to buy out more small farms.

So, now you have a situation of the original intent of incentive completed subverted and turned upside down. Instead of helping smaller farms, it actually hurts them!

USDA is responsible administering subsidies and making nutritional recommendations for a healthy diet. USDA has replaced the food pyramid with a food plate, which now shows that a balanced diet should be equal parts fruits and vegetables and equal parts grains and proteins. However, USDA doesn’t quite distribute its aid in accordance with its own food plate recommendations. States Mike Russo, USDA “distributes considerable federal financial support for the [grains and proteins], and virtually none for the [fruits and vegetable].” Since 1995 to 2010, the US taxpayers have put up $260 billion in agriculture subsidies.  Notes Mike Russo:

…by far the lion’s share of taxpayer dollars go to subsidizing a few commodity crops. Of the $260 billion spent since 1995, a full $77 billion went to subsidize corn; wheat and cotton growers received just over $30 billion apiece; soybeans were subsidized to the tune of $24 billion. Commodity crops are not unhealthy (not counting tobacco or sorghum – which type of grass-fed to cattle). But, with large subsidies, the commodity crops find a different path to our tables: But most of the corn and soybeans we grow do not go to Americans’ plates as-is. For example, only about 1% of U.S. –produced corn is the sweet corn that is usually directly eaten by humans. Instead, most commodity crops are fed to livestock, turned into biofuels, or processed into additives like high fructose corn syrup and hydrogenated vegetable oils.

So where do Twinkies come into all of this? Mike Russo writes:

Take the Twinkie: of its 37 ingredients, at least 14 of them are made with federal subsidies, including corn syrup, high fructose corn syrup, corn starch, and vegetable shortening. Twinkies are sweet, fatty, and calorie-rich but utterly lacking in nutritional value. And they’re cheap, too, in part because consumers have already made a down payment on many of the ingredients with their tax dollars.

And what about those apples?  Well it turns out that “only one of the top twenty federal subsidy programs directly supports a fresh fruit or vegetable: apples.” Since even that subsidy is very tiny. In fact so tiny that Mike Russo says, it is as if “each of the America’s 144 million taxpayers would be given $7.36 to spend on junk food and 11 cents with which to buy apples each year.”

Though, there are many complex reasons for the obesity epidemic, “one of the simplest is also among the most significant: junk food.  Between 1977 and 1994, Americans increased their daily caloric intake by 206 calories.” That is equivalent to 1.25 Oreo cookies (my own calculations using information from Nabisco website). It is expected that health expenses related to obesity and related co-morbidities will increase from $150 billion a year to $216 billion by 2030, and with projected half of the Americans meeting the definition of obese.

Junk food brand display at grocery store (photo credit: aashish vaidya)

What we can surmised is that a well-meaning incentive is put in place (US farm subsidies to affected small family farmer) which then over time is subverted and actually hurts the very people it was supposed to incentivize (large farm operators get the giant share of the subsidies, which they in turn use it to buy out more small farmers).  Then, the institutionalized incentive gets misdirected  and produces unintended consequence (USDA directs vast majority of the subsidies to few commodity corp and those cash crops make junk food cheaper and ends up directly or indirectly contributing to obesity and vastly increases, amongst other things, health related expenses).

Is this is a pattern unique to government entities only, or do we see an equivalent in the corporate world as well?  I will  pick up this line of inquiry in a future post.

In an ironic twist, Hostess Brands Inc., the makers of Twinkies and Wonder bread, amongst other products, filed for bankruptcy earlier this year, citing pensions and a soft economy.  The reasons conspicuously don’t include that perhaps the American consumer may already be turning away from unhealthy products to healthier ones.

References:

Department Store - Mall (© Aashish Vaidya)

Last month, like millions of other shoppers, we headed to a department store.  We noticed that the associates were little more cheerful than in the past.  Maybe this was new a crop of temp workers who took to their jobs with gusto or just existing employees, who were spurred on by new spirit of customer service.  Within minutes, an associate greeted us warmly and moments later another one engaged us directly.  Not content with just a friendly hello, he went on to mentioned items that were on sale, especially the wool jackets, which we noticed we were passing by.  When I mentioned that I already had a short wool jacket and a long overcoat, he looked at my wife and said “well, he can always add a third in his wardrobe, right?”  Unlike typical mall-store employee, it seemed like this guy actually knew to appeal to the real decision maker.  Well, the power of suggestion was already at work and we figured that it might actually make an appropriate gift for someone on list.

As I was trying out a jacket, a third associate came by.  “Wow, ” she said, “this really looks good on you.”   When I told her that we were looking for a jacket for someone else, someone older.  She immediately went on to recommend a more conservatively styled, but a considerably less costly jacket.  This was refreshing, she was really trying to help us come up with a gift that suitable, instead of trying to power selling.

We did like the jacket she suggested, but, the store did not have it in the size we wanted.  No problem, the associate assured us, she’ll just look one up in the system and have it shipped.  She was able to locate a jacket, and we proceeded to make payment, partially with their store issued gift certificate and the rest with a credit card.  And this where things got little more interesting with a seemingly ordinary transaction.  Her system would not accept the gift certificate as a partial payment.  No problem, the associate consulted with her teammate and figure out, she can exchange the gift certificate for a gift card.  And then she processed the payment.  Nice, it was admirable to see the associate and her teammate being resourceful and making the extra effort to complete a sale.

But, the very next day, we got an email simply stating that the order was canceled and no money was charged to the credit card and the value of the gift card was reverted back to the card.  Hmmm, hello, that’s a problem!  As the gift card was fully used, so as we generally do in this situation, we had already handed the gift card back to the store associate to recycle it.

Groan – that meant having to deal with the Customer Service department.  After the usual dreadful shuffle of getting through the labyrinthine IVR system, about 30-40mins later, we got a live rep.  This rep, though, had none of the warmth and the level of engagement that the store employees exhibited.  Instead of expressing any type of regret, he told us  that a new gift card to replace our old one should make its way to us in 7-10 days.  And if we were still interested in buying a jacket, we can pick it up at a store that was about 20-25miles away, but it was no longer on sale.  And if we wanted it shipped, there would be additional shipping charges.  None of the compelling reasons of value or convenience existed for us, so we declined his offer of having the nearby store hold the item for us.

About 10 days elapsed, when the gift card didn’t show up, another call to the customer service had to be placed.  Good 45 minutes later, a “friendly” CSR,  said she couldn’t find any record that we had talked to someone about 2 weeks back in the system.  But she would revert the value on the original gift card.  Umm, deja vu, didn’t we just go through this before!  After patiently explaining to her that we no longer have the said gift card, she asked us if we can contact the store to see if they had the card.  Uhh, does she really think the store clerks would really have that particular gift card on their hands after 2 weeks?  We leaned on her, and had her finally agree to send a replacement gift card.

I recount this experience in some what details,  as this  raises a few interesting IT related systems and management questions:

  • Why would the POS (point of sale, not the other type!) system not work with the store issued gift certificate, but work with a gift card?  Did someone put in a weird business rule that no one can fathom and the frontline sales associates are left to fend for themselves?
  • Why did the system allowed overselling an item when it showed there were plenty of units available at the time of purchase?  Was the inventory not real time?  And if so, was this a usability issue where the system should have alerted the sales associate not to make the sale and have a problem until the actual inventory count is confirmed?
  • Why wasn’t the system handling a gift card related cancellation differently?  Did it always presumed that the customers will keep their spent gift card, on which the value could be restored?  Or did a product owner did not hand a properly written acceptance criteria or acceptance tests to the software IT team?  Or that the software implementation team never bothered asking?
  • Was customer service department cluelessness, a vendor management issue (if it was an outsourced vendor)?  And why wouldn’t the company properly empower their CSRs  to actually make a sale when they are in a live, high touch customer interaction?  Many other retailers have already figured this out, their store clerks or their CSRs can ship products from their warehouses or from any stores either to a convenient store location or directly to the customer.  So this was a lost opportunity.

The net effect of this was a dissatisfied customer, who lost a lot of their time and use of gift card for days.  And it was a huge waste of effort for the frontline sales staff, which worked diligently and creatively to problem-solve and make the sale.  And for the retailer, this is still a revenue sapping transaction, as it still might generate more customer service calls (the replacement gift card is yet to arrive at the end of the promised delivery window).

As IT and software professionals, many times we are so removed from actual users of our systems that we don’t provide the type of support the frontline associates need, or we don’t ask the right questions from our business or product owners.  In this particular instance, the value chain wasn’t aligned from front to back.  The system wasn’t aligned with a single focus – make a sale with least waste and satisfy the customer.

But, lest you think this is just another rant (which it is!) on usual poor customer service of a big department store, I will close with a very interesting observation we made at the store.  While we were waiting for the transaction to complete, we saw a few store associates in an impromptu “huddle”, where one of the teammates reminded others to keep restacking clothes and tidying up all the floor space.  There was even a mention to balance the engagement with customers, while at the same time flowing around so other customers feel just as welcomed.  Nice, a wonderful example of inspect and adapt.  Now only if the frontline staff can extend this spirit to their CSR and IT departments.  And if the CSR and IT departments really learn to have their spirited frontline’s back, they will be on to something!

%d bloggers like this: