Category Archives: General

How do you manage a Disruption ?

 

The world of new product development is (NPD) is an extremely challenging one, and while the output of such an endeavor is never a sureshot guarantee, the journey itself is immensely fulfilling. Edison was reportedly asked by his assistant on not being successful with his electric bulb work despite two years of efforts, something that Edison could not understand… “what failure…we have discovered so many ways how an electric bulb won’t work”.  In a corporate context, however, we all must work within boundaries of finite resources (time, resources, people, etc.) to create the next telephone, the next microwave, the next LCD television, the next Windows or the next Google. It is perhaps the dream of every professional to be part of such life-altering Greenfield projects (many times also referred to as the ‘Version One’ in software world) and make a lasting impact on world around us.

However, innovation doesn’t only happen in such large doses. It also happens in small doses: small-small daily changes, enhancements, modifications, improvements done in thousands and millions of places in a product such that the final impact is as breathtaking as the version one. In fact, some might consider such ‘brownfield’ effort as much, or even more, challenging than the Greenfield because in a brownfield effort, one must work around constraints and ground realities that are not up for change. Irrespective, there are adequate challenges and learning opportunities in any endeavor that creates, or improves upon an existing product or service. This is the opportunity for a technical professional to sometimes work as an artist and make her lasting impression on the canvas, while also working as a child building grand designs of lego building blocks. As a manager, the fun is little more challenging than for others J

While a traditional project manager applies all his knowledge and skills to synthesize all tasks, inputs, resources and constraints to build a plan to execute the project, a project manager working on a new product development endeavor must recognize that the work has innate challenges, and quite often the task is a wicked problem.  There is an element of risk, a certain amount of discovery that in fact makes working on such a project worthwhile. It is not by accident that the best talent in the world gets drawn to companies that routinely engage in such work. Welcome to the world where the only objective is to create disruption ! However, traditional project management is all about applying time-tested sound principles and practices to bring a project under control and achieve all its goals. However, managing a disruptive endeavor is much more than that – to begin with, not all goals might be known. Some risks might be completely immitigable, and one must simply learn to accept them. Many of the activities in an NPD project might actually be undertaken for the first time, and hence for all practical purposes is more of research work than a mere development.  In short, one might not be able to apply all practices of traditional project management in letter and spirit and yet be able to create the right disruption that is envisaged. However, it is not an impossible problem.

In PMI NPDSIG, we are working towards creating a community of researchers and practitioners and enrich the body of knowledge by learning newer and innovative methods of problem-solving, shortening the cycle times, improving product reliability, improving the ability to manage such a project and so on. While recognizing the inherent challenges such an endeavor poses, and to an extent might be at crossroads with a very straightjacket approach to project management, we strive to explore the middle path – how best to apply principles of project management to a new product development endeavor, and meet the dual objectives.

I am part of the NPDSIG team for 2009, and as Vice Chair for Communications, I have an extremely interesting and challenging role. Here is how I propose to work on them:

  • PMI NPDSIG publishes a newsletter, Project Management Innovations, for which I serve as the editor. It is published electronically four times a year. I propose to take up themes for each of those issues and scout for talent all over the world to share their opinion, experiences and trends in that area. The idea is to learn from different fields and understand how well practices from one area could be used to solve similar-looking problems in another. Some of the themes I am exploring are
  • Lean: how well Toyota’s Lean Production System is being used in creating other innovative products and services
  • Green: we often tend to associate green only with companies that consume hydrocarbons, but in a broader sense, several companies are making invaluable contributions by adopting green in their technologies
  • Innovation: while our field of work is all about innovation, how the process of innovation is managed, how are organizations able to reduce the risks and lead times, etc.
  • Human: we exist to serve the society, and so must our products. How do organizations create technologies that, for example, enable the poorest of the poor to become literates, acquire practical skills to earn a livelihood and become self-sufficient, how has mobile telephony changed the lives of millions of poor people around the world and empowered them as a first-class citizen of this world.

As an editor, I shall be working with potential authors and SIG administrator on planning the release, review and proof-read articles, etc.

  • The discussion list has over 900 members, but there is practically no activity on that list. We need to revive it by involving list members in various discussions, share thoughts and articles, etc. While this requires a team effort, the need is to identify subject experts who can initiate conversations, offer conflicting opinions, cross-pollinate ideas and involve list members by listening to their problems, their experiences. The idea is not to take the high road by proclaiming ourselves as ‘experts’ but by facilitating thought process, we aim to serve the listmembers.
  • I would like to conduct one or two events in 2009 with PMI Bangalore Chapter and also with IEEE Technology Management Council (TMC) Bangalore chapter of which, I am the Chair for 2009. IEEE celebrates 125th anniversary in 2009 and among eight global cities, Bangalore is chosen as one of them and will have major events (http://www.ieee125.org/). I propose to conduct some event along with IEEE TMC Bangalore chapter that helps us build bridges within IEEE community as well as (hopefully) open doors for more membership. I don’t know if that is possible, and if yes, what would be a budget for this, but I thought of sharing my thoughts here so that you could advise on what is possible.
  • On the lines of PDMA and our very own PMBoK, I would like our team to undertake an effort to codify the NPD knowledge in context of project management profession. This codification could also be a reflection of the state of art in this field, and serves as a quick-learning tool into the basic tenets of NPD, tools and resources, best practices and emerging trends. This could be made freely available resource for the advancement of our field.

If you are a professional involved in the exciting world of new product development, then join us for mutual learning.

Which of the ‘real worlds’ does your software team live in ?

There was a highly charged discussion on real colocation vs. remote colocation on one of the mailing lists. I think the number of posts far exceeded 100+ and eventually there were more emotional and personal arguments than any meaningful real responses. Finally, the original poster left the group, people who were left on the group were in introspection + justification mode for a day, and life seems to be slowly returning back to normal on that list.

I think the discussion lost its fizz because of several reasons, but I feel most of us are still living in a denial mode as far as remote work is concerned. Just because we have Agile Principles that ‘favor’ colocation, there is no good reason to justify that as the means to colocate the teams, come what may. My argument is don’t suboptimize the whole in order to superoptimize the parts. So, if I were a carpenter on contract to build a house and only knew how to use a hammer, it would amount to me demanding that every door and window be made using only the hammer whether the house needs that or not, and whether that suboptimizes the house construction or not. I look at life this way: if you are lucky to have an ‘ideal real world’: small, colocated teams, than by all means, go Agile in its full spirit. However, if higher business imperatives make your business remotely located in multiple locations, then you can’t be pushing your tool just because that’s your comfort zone ! A customer doesn’t care what process we use internally as long as he get what he wants and when he wants at the right price point he has in mind. To a large extent, the same goes for your management also. They might recognize that you can improve your development productivity 2X (or whatever is the going rate) but let’s be honest. How much time and effort does the software phase consume in the overall product development ? Obviously that number varies depending on the type of system being built, but even in 100% software-only products, there is a reasonable (and quite often, significant) amount of time and effort that must be consumed by non-software teams. If we assume software teams are consuming 40% effort on a systems project, and by distributing work, the organization is getting a 2X improvement (without being judgemental about the type of ‘improvement’, let me just say this is a result of availability of talent at the right price point that is able to deliver the work within desired quality). Now, even if Agile practices are able to bring a comparable 2X improvement, that is probably only affecting that 40% of the development effort to become 20% but at the cost of colocating everyone which means the cost of overall project might double in the worst case, going up from 100% to 200% ! So, if that is the way an argument for supporting Agile adoption is made, I won’t be surprised if there are no takers. This ostrich mindset reminds me of the Swiss Army manual – if there is a discrepancy between map and terrain, trust the terrain.

A far better approach would be to first understand what is an organization’s constraints and expections in distributing the work to remote teams. What benefits are being expected, and are actually being accrued in reality by doing that. Once done, that is a great starting point to have the debate on how best we can make distributed teams more productive – so, it is nomore a question of pure faith vs. pagan. It is a question of what is the best way we could help teams in the given context. The idea is not to challenge why real world is so ugly and try to facelift it because the mirror won’t like it, but to accept the real world for its face value (surely, healthy debate on why it is so is always welcome in any organization) and find or make the mirror that will do best possible justice to the real world.

I once worked on a product in Digital Set-Top boxes that had teams in Belgium, Netherlands, India, Ireland and US and even though some might argue, thre was no way we could have done that project in a single location, and the major reason was not cost arbitrage alone. We all knew how difficult it would be to coordinate among so many locations, how difficult it would be to ensure that architectural integrity is maintained, interfaces stay consistent, and so on. Yes, that is real world. We were some 60+ engineers combined in all those locations. Could we go back to our company and tell, you know what, our software development process doesn’t support multisite work and we get cold sweat just thinking of what a nightmarish experience this would be – how about putting us all in a single location because that’s what we know ? Theoretically, one might do this, but I think the company has hired me not so that I could replay obvious excuses to them, but show my knowledge, skills and ability to manage complex problems like these. Precisely the reason I am in this job – if those real world problems were not there, would there be a justification for my role ? So, I would perhaps be better off doing as best a job as I can. The first thing that I might want to do is to acknowledge the real world.

That brings me to a very fundamental idea – what is real world ? is there a universal definition of real world, or is your real world different from mine ? is there a universal process that can heal all type of problems in the real world (whether there is only one real world, or multiple real worlds) ? why should we always think that a process must be macho enough to be able to solve all type of real world problems ? when no one man or woman can claim to know it all even in one domain, why is it that we want to project our process as Mr. Perfect Process that acts like a silver bullet for all types of targets ?

Which of the ‘real worlds’ does your software team live in – an ‘ideal real world’ or a ‘real real world’ ?

What is wrong with Gmail ? …and why is LinkedIn going down the same path ?

Those on Gmail have my heartfelt sympathies. Additionally, if you also use LinkedIn, welcome to hell !

Let’s first talk about Gmail. Have you seen what’s happening off-late: gmail is getting painfully slower by the hour, it freezes every now and then,.. I am now seriously thinking of switching over to a ‘simple’ webmail (does anyone know any webmail without any GUI ?)..maybe back to my old Hotmail account 🙂 or one of those not-so-fancy mails that don’t compromise the basic functions of a webmail over its other commercial interests, howsoever seductive they might be.

When Gmail came, it wanted to create an ‘exclusive club’ of gmail users – if you were a nobody (like I was, and still am, but I was a bigger nobody back then), you just could not sign-up by yourself, unless invited by a kind friend ! The official reason was that they wanted to reduce spam – the logic being: friends will get their friends on gmail, and since friends won’t spam their friends, there won’t ever be any spam on gmail. How naive…rather, how stupid ! Today I have more mails in my  gmail spam than on all my other mails put together ! But then, I am getting ahead of myself. Let’s get back to the story. Gmail created this exclusive club which for a moment seemed to hold itself admirably well against spam. People thought the magic was working. However, nothing could be far from the truth. The spam was not there not because of this friends thingy, but because no one new those new email ids ! Once people came on gmail, they started flaunting their ‘exclusive’ mail ids, registering here and there on the net, and the next thing people woke up to was their inbox full of spam (ok, in gmail world, the ‘inbox’ would probably never be full, but then you do get the point). However, I must compliment gmail guys on the efficiency of their spam filter – it works pretty well.

However, spam is not the biggest problem plaguing gmail today. The biggest problem is its slow performance , and that you are paying for this slowness ! When you open an email, adrenalin starts flowing through gmail’s celebrated algorithms – they go through your entire mail (don’t be shocked by this machine-led invasion on your privacy) and try to match words in your email with those from their paid-search so that those paid ads / targetted ads could be directed at your screen. Gmail doesn’t do it because it loves you – they do it because popping every ad on your screen makes them some money, and if you happen to click on one of those annoying ads, google’s cash registers get few more cents 🙂

The final problem is a classic product management problem. To their credit, gmail has not fallen prey to that mindset yet, but it is still relevant for this discussion (and actually, the #1 reason behind LinkedIn problem discussed ahead). When Hotmail came, it appealed simply because it was the first one – it was a highly disruptive force. Very soon, we had the copycats marching down as fast as they could in the race to get other users on the net to sign up on their service. Mind you, a free service with no revenue model whatsoever. Over time, everyone started competing with each other, and today, almost every webmail looks very similar to any other webmail – so much so, that only the URL is different ! What started as a simple feature on product manager’s wishlist got diluted down so much that eventually there was no differentiation left anymore. Gmail does stand proudly on the victory stand so far (for who has seen tomorrow ?), having resisted the pressure to mimic other webmails. Why, even the simple concept of folders (other than inbox, sent and trash) have not yet been introduced in gmail. Instead, the concept of ‘labels’ is something that were are slowly getting used to live with. However, another notable product has fallen very cheaply to this sin.

So, what is LinkedIn doing these days. In the race to overnight lose its virginity to mainstream pulp features, it is working overtime to fast lose its billing as a no-nonsense social networking platform for professionals (did I say ‘senior professionals’). It is meekly surrendering to those wal-mart features that make it mimic the cheap Made-in-China fakes, in the sense that you can’t complain that LinkedIn doesn’t have this feature…anymore. But, and that is a big BUT…doesn LinkedIn have to do it ? I mean, does an average user on LinkedIn want those cheap features (he has several other options). The fact he is on LinkedIn is because of the ‘elite’ features that it offers. Now that it offers all orkut-ish features, it is indeed worth introspecting what is the value he is getting on LinkedIn, notwithstanding a free service. Now you can inform people of your travel plans, share your blogs,  events with people on your network…and the worst part is none of them work. The events app can’t still list events in Bangalore when I check that option. The blog app takes an eternity to list anything that looks like a blog for all of my 600+ connections and how much I wish I could ‘control’ what I wanted to see. The net result is that my LinkedIn is slower, never shows the right information, and shows me all information that I don’t care ! Could they please work those bugs and create a better way for me to control what I care to see…and did I say, I get to control it !

My feeling is what we saw in webmail warfare which them happened to browsers (and still continuing) has now entered next round with social networking platforms. All started with their own unique value preposition, but succumbed to roadside greed and are now copying features like maniac in a race to outsmart the one ahead in race. The all want to suddenly offer uploading pictures, sharing music, video, chat, travel information, where you have been on earth, books that you like, movies that you like, schools you have been to, and so on. What they don’t realize is that people who came to their site came and stayed because they liked something unique about their product and service. They might not like (or want to use) all those pulp features that were anyway available on other sites even when they came to this site in the first place. And to satisfy their urge to use those pulp features, they are most probably already on those sites as well. So, by bundling those pulp features, you are only probably diluting your offering. Also, it is depriving you of your precious R&D dollars who could have been doing something little more useful, like creating brand-new features out of thin air to continue maintaining your competitive advantage. But then, common sense is still not so common a commodity !

Here is my prediction: in next two to three years, every mainstream social networking platform will look the same. The innovation will gradually die, and the blind race to mimic other players will lead to further blunting of the axe. Of course, no one will still make any money from this service – for there are already so many free platforms a dime a dozen that if you even as much as dream to make your service a paid service, people will soon mass migrate and find another option. Copying the webmail product management approach in social networking platforms will make the suffering a little more painful…not for them…but for you as a user.

Are you helping your competitors succeed ?

I just read a nice story on the home page of Luke Watson, and was struck by its ‘simple power’. It goes like this:

A few years ago, there was story going around about a farmer who won a particular category in the Nebraska State Fair four years in a row, which is unheard of there. The local newspaper sent a reporter to interview the farmer to find out what he did to achieve such a feat.

The reporter asked, “What’s your secret? Do you have any special corn seed?”
The farmer replied, “Absolutely, I develop my very own corn seed.”
The reporter said, “Okay, so that’s your secret – you developed your very own corn seed.”
And the farmer said, “No, not particularly.”
The reporter exclaimed, “I don’t understand. What’s your secret, then?”
The farmer said, “Well, I’ll tell you. I develop my own seed, and then I give it to my neighbors.”
The reporter said, “Huh? You develop your own seed and then give it to your neighbors? Why would you do that?” The reporter was incredulous – why would anyone in his right mind develop his own award-winning seed and then just give it away??
The farmer said, “You don’t understand how corn is pollinated. It’s pollinated from neighboring fields, and if you have fields around you that don’t have top-quality corn, then your own fields are not going to grow top-quality corn. But if my neighbors’ fields have strong corn, then I’ll have awesome corn! That’s how I won the Nebraska State Fair four times in a row.”

(Adapted from “Success From Home” magazine, Vol.4, Issue 10, Oct 2008, p109, Plus Publishing)

Is this open-source competition, open-source innovation, open-source collaboration or what ???

Hats off to the farmer in the story who exhibited such an unconventional and long-haul thinking. How many of us would be willing to apply such a bold thought in our business ? I find this a brand new approach to innovation – one that is really deep-rooted in helping others succeed because that is the only way to bring one’s own success. Even though our farmer is still winning hands-down in the competition, his neighbors are clearly happy using his high-quality corn (otherwise they would not use those corns) and despite the fact our farmer always wins, they don’t seem to mind his success – because his style of innovation is helping them all improve their own respective yield. Without their support, he can’t succeed, and he won’t get their support it they themselves are not succeeding. So, first he must help them succeed so that they, in turn, could bring him bigger success ! wow !

I am trying to think of companies that flourish using such a model of innovation…could not think of one, but there must be some. Write back if you know of some such company.

…but, are you helping your competitors succeed ? maybe, that’s the key to your own success !

Is Scrum serving your Software Development, or the other way round ?

There was a question on the group Scrum Practitioners on LinkedIn if “…implementing Scrum as a whole should be our goal or would you use aspects of the Scrum methodology to realise an agile culture change ?”

Looking at the disproportionately large number (with an increasing trend) of posts on popular mailing lists on Scrum and Agile software development, I am alarmed that most energy and thought is being spent on figuring out “how Agile you are”, how should the user stories be worded, and whether one uses planning poker or not ? I mean…does it really matter whether you use ‘deal hours’ or ‘story points’ whatever that means ? If your team members are not speaking out ‘impediments’ in daily scrum…come on…that was the case in good old days also…expecting that Scrumifying the process will make everyone speak up honestly, do their job on-time and love thy neighbors is little too much of wishful thinking in my honest, brutal and uncharitable view. 

Scrum exists to serve its master, which is Software Development and not the other way round. So, implementing Scrum can never be the goal by itself (isn’t that where we went wrong with the CMMs and the ISO9000s of the world ?). Timely delivery of on-specs and high-quality software is almost always the goal. Anything that helps in that direction is a only a means towards that goal.

I would take whatever is applicable and makes sense to MY business situation – which is a unique combination of:

  • my organizational maturity +
  • organizational culture +
  • type of problem being solved +
  • management style +
  • … +
  • another one hundred and one reasons that must be analyzed before prescribing a one-size-fit-all solution.

To that end, I will not stop at Scrum but explore other Agile methods, Six Sigma practices, Lean principles, Kaizen philosophy, TOC / Critical Chain..even borrow from CMM / CMMI and ISO…and…why not…the good old Waterfall (sometimes, the old wisdom is not so bad after all !)….just about anything under the sun that makes my business look better. In fact, for more complex problems, I might look up to other industries like construction, shipping, logistics, etc. to see how they solve such problems and learn from there. After all, my business is far more important than an academic satisfaction of having implemented a one hundred percent bookish definition of Scrum without knowing whether it is working for me or not, and completely depriving myself an opportunity to know if there are better ways to solve my problems.

Scrum doesn’t have the monopoly over good software development practices. If we all started blindly following Scrum in toto, there won’t be any better solutions to newer problems. There must be a healthy effort to question Scrum practices and make continuous improvements in it instead of treating it like holy scriptures which can’t be challenged.

My prescription for myScrum test would not to measure it by inputs (i.e., do you do 2 week or 4 week sprints, are your specification complete before the next iteration, etc.) but as follows:

  1. Are your new practices improving employee motivation ?
  2. Are your new practices improving team productivity ?
  3. Is frequent software delivery improving customer satisfaction ?
  4. Are you able to accommodate late requirements with increasing ease ?

I think if you can answer all of these questions in affirmative, you have a winner in your lap – doesn’t matter if it doesn’t measure up to the ‘stringent’ criteria of Nokia Test or some other activity-based assessment of your software development religion. You don’t even need to call it Agile or Scrum…just call it Photosynthesis, Metamorphism, Evolution, Oxidation…whatever you feel like…after all, your Scrum should serve your software development needs, rather than you serving Scrum.

Is Scrum serving your Software Development needs, or the other way round ?

Report from 14th India Telecommunications 2008 International Summit

I was a panelist for the “Video-IPTV Services” Session at the recent 14th India Telecommunications 2008 International Summit organised at New Delhi, 23-25 Sep 2008. The event boasted of some of the most eminent personalities in telecom world, with the Minister of Communications and IT, Thiru A Raja, doing the inauguration. Despite such an impressive gallery of speakers from almost all over the world, it was rather unfortunate to see such a dismal attendance from the industry. The academia was also conspicuously absent. For a seminar of such stature, a healthy mix of representation from the Government, Regulatory Bodies, Standards Organization, Vendors, Application Providers, Content Providers, and Trade Associations would have been ideal to stimulate some thought-provoking sessions. I will give full marks to the Government, DOT, TRAI, BSNL, MTNL, UMTS Forum, 3GPP Mobile Competence Centre and CDMA Development Group (CDG) who were well-represented by their seniormost officials. However, the participation from industry was disproportionately low, and the participation form academia was almost zero. Adrian Scrase of 3GPP Mobile Competence Centre time and again requested the Indian Telecom industry to improve its participation in the international standards organizations. I think we had more foreign speakers than local ones. On last day of the summit, the average attendance was never more than than 30%-40% and in the last session (which, unfortunately I was part of), I counted exactly 15 attendees, some of whom, no doubt, were busy checking mails on their laptops.

I don’t know if it is the ‘seminar fatigue’ that is slowly causing such lack of interest among the industry which is second largest in the world, fastest growing in the world, has over 330 million connections and is backed by probably the most progressive ministry of all times. The entire world is coming to India to do business in such a fast-growing window of opportunity, but we couldn’t care less ! On the first day, there were paid workshops and some 40 participants had paid over $350 each to attend the full-day workshop. I believe there were never more than ~20 attendees and in the last hour, there were exactly 4 attendees ! Sometimes I wonder how much companies spend (waste ?) on sending people to such costly conferences with no ROI ? I was chatting with the event management folks of the summit and everyone was rather surprised at such a criminal waste of company resources. I am sure we can do better than that.

Anyway, let me share some thoughts on the IPTV deployment in India that I shared during my short panel slot. My contribution was limited to highlighting the issues as someone who has worked in Digital Video Broadcast (DVB) from the engineering / R&D perspective, as technology watcher and as networking and application performance management equipment manufacturer (thanks to my company NetScout for my participation). I see the following issues with its deployment in India:

1. There is no standardization yet on Conditional Access System or the Digital Rights yet. I remember when working on developing Digital Set-Top Box (STB) back in 1998, we had the architecture that would not allow a set-top box of one service provider to decode the feed of another service provider. The STB is thus a locked device – perpetually. Similarly, the HDTV in its truest form (i.e., getting the signals directly from satellite) also suffers from such service-provider bundling (but my information on this could be dated). I see the same challenge with IPTV set-top box – it will be tied to the telco (?) thus limiting the possibility to use the same set-top box with another service provider.

2. In my view, three major things sell in India: Cricket, Bollywood and K-serials (the never-ending family soaps that come from the Balaji Telefilms stable, and their several clones). Given that Cricket broadcasting rights have been autioned at close to $1 Billion for the next ten years, and the remaining two are already available on cable and DTH services, I wonder if IPTV can get some ‘exclusive content’ that becomes ifts diferentiating factor ? If not, I don’t think the consumers will find its offering significantly unique.

3. We are now asking the telcos to become ‘entertainers’ and that’s a really big deal. Someone who doesn’t understand entertainment for the masses, content, understanding consumer preferences can’t acquire such knowledge and skills, and most importantly, the finesse in doing it equally well if not better compared to other entertainers.

4. Ten years back, we talked about a Home Gateway, or a Residential Gatweay that would act as a single gateway to provide all networking, entertainment and home conectivity needs from a single box. I still don’t see that happening – most of us have a DTH box, an ADSL / WAP modem and now might have another one should one go for IPTV. I think it is getting too complex to handle so many boxes and we need some elegant solution to reduce the number of boxes in a house.

5. Given that IPTV is essentially a lifejacket technology for the telcos who are losing landlines every single day, their customer base has to come from Cable or DTH. The switching costs, especially for DTH users are too high to be convinced for a switchover to IPTV. To begin with, what do they with the box and the investment made on buying it and installing the dish antenna ?

6. Most people have at least one video service by way of Cable or DTH. Why will someone want more than one video service ? What are those use cases ?

7. The performance of IPTV still needs a lot of improvement. Due to the nature of technology at work in an IPTV system, whenever the user presses channel change, it has been reported to take upto 10-15s just to do that !!! Some experiments in US to install additional hardware at customer premises have proved even more disastrous. So, unless we bring the perofmrnace at par with existing technology, we might not be able to convince the customers to embrace it.

8. Creating ‘network effect’ could prove to be the killer app for IPTV. For example, home-to-home video conferencing could be a major killer app that will have a exponential network effect – you could do such a video conference only with someone who has similar setup. I think IPTV should think of radical ways to achieve it. Traditional programming might not be enough to acquire customers to have a commercially viable operations.

That said, there are interesting and encouraging initiatives to expedite IPTV deployment in India. BSNL has started offering in 12 cities almost a month back and have some 2,400 customers. They are looking at expanding it to 100 cities by 1-Jan-09, having 100,000 customers by Mar-09 and eventually 1million custoemrs by Mar-10. There is a strong focus on end-to-end QoS monitoring (an area where our products could be effectively deployed). The government / BSNL also sees a social agenda, for example use it for e-learning. Given that no additional last-mile infrastructure is required for rolling out IPTV, I still feel it is a great technology worth pursuing. Of course, we won’t know its true performance and potential for now, but then, neither do we know these same answers for many other competing technologies.

Would love to hear if anyone has additional thoughts on IPTV technology and deployment

Do you know your Zenobia(s) ?

Zeonbia is a great book by Matthew Emmens and Beth Kephart that you can not only complete in under an hour, you probably want to read it once again right away – to get a better flavor of the simple yet powerful story of Moira who must find a way out of the chaos she encounters day one of her job and no one is quite willing to help her.

Zenobia is story of our times which is such a hard-hitting truth. I would say Moira is lucky (or rather willing to challenge status quo ?) in the sense she is able to see that there is a problem – a majority of us do not evey realize there is a problem at the workplace. Of course, of those sharp minds who are able to figure out there is indeed some problem, some try to find a solution, get ridiculed like Moira, and very few among us mortals really succeed like her. Of course, Moira is not a superwoman or a super-employee, if you will. She is a normal person, who is shocked at the ‘toxic energy’ (to borrow from FISH, another great book) at Zenobia and though not expecting such a state of affairs, nevertheless tries to do something about it. The fact that she succeeds eventually is not important, at least to me. What is important is to undertake every business opportunity as an adventure – as is rightly the theme of this fable.

The book also subtely revisits a long standing debate – when in deep crisis, are outsiders better or insiders. Outsiders come with no baggage, are immediately able to spot the issues and without any sentimental attachments to things around them, call the spade a spade. The insiders, though have obvious advantages in terms of knowing the system well, etc. are often found so much ‘in’ the system that they hardly can see what is wrong with it – just like the frog who gets slow-boiled to death in a pot of water without realizing that the water was getting hotter all the time, albeit too slowly for immediate discomfort.

That brings me to the question: do we know our own zenobias ? Is it possible that we are not even aware of what ails us ? In our hollow pride and ego, we mercilessly push ourselves (and our teams) to deliver business results when there might be deep scars under the surface threatening our own very existance because over the years, we have gotton used to do things in a certain way which worked once but doesn’t work anymore (more importantly, we don’t even know that it stopped working long back). Do we know, for example, our way of project management is causing more harm than good- for we are forever in planning mode ? Do we know if our software development sucks – for all we know, we are constantly spending more time fixing bugs than in writing features that sell ? Do we know if our workplace policies are actually helping people improve their motivation, productivity and teamwork or causing them more discomfort ? Do we know if our business is surviving because of what we do, or despite what we do ? I recommend this book if you have a funny feeling that something is not quite right – hunches are almost often right, despite whatever people might tell you.

The most important takeaway from the book is ‘invent your own future’ – but of course, you must know your Zenobia before you move on to that.

Do you know your Zenobia(s) ?

When you still can’t develop quality software from Requirement Specs, how do you build it right using Test Specs ?

Test-Driven Development (TDD) is the new silver bullet in town. While several ‘obvious’ advantages are being cited in several articles, I fail to understand one simple fact: when we have not yet quite figured out how to develop good-quality software from requirement specs, how do you really use TDD to develop it using Test Specs ?

Bertrand Meyer has a point in case in a recent article, “Seven Principles of Software Testing” in IEEE Computer, August 2008:

…Test-driven development, given prominence by agile methods, has brought tests to the center stage, but sometimes with the seeming implication that tests can be a substitute for specifications. They cannot. Tests, even a million of them, are instances; they miss the abstraction that only a specification can provide.

While there might be several ‘right’ situations where TDD might cut down the effort and time to test, especially regression test, a software, I refuse to believe it is the panacea for all maladies. For one, if a test case passes, there could be two scenarios:

1. the software behaved correctly as per the specs

2. the test case was wrongly designed and did not quite check the functionality as per the specs

Any student of reliability engineering is familiar with Triple Modular Redundancy (TMR): when you use two time clocks, you will always get two different times, and to figure out the correct time, you need an arbiter, or a third clock. In case of software development, we are more known to produce anything faulty than correct, at least in the first try. So, when a test case passes, if is equally possible (if not more) that someone wrote a bad test case than someone writing a correct software ! Why ? Well, I have at least two arguments to support it:

1. when a software engineer can’t write an engineering code 100% correctly, how can you believe his test code will not have statistically similar number of defects ?

2. a software engineer is trained to write good engineering code and not to write good test code. Just like there is a sea of difference between an average developer and a world-class developer, there is also a huge difference between an average developer and world-class tester. Remember, you hired him on his programming skills – if you wanted him to write test code, you probably would have hired someone else !

So, this somehow doesn’t make sense, or it is likely that I have completed misunderstood this subject (more likely, but possible !). Time willing, I plan to write a paper for the upcoming Software Testing conference to explore this subject further. If you have any opinion, experience, anecdotal data, or rocksolid eveidence one way or other, I would love to hear from you.

Meanwhile, stay tuned…

Whatever I know about Scrum, I learnt from my sixth-grader son, and Scrum can too !

Scrum offers a fresh approach of software development. However, the philosophy itself is not entirely new. It has been around in various disciplines for quite some time, and it is only now that the software community has woken up to it. I found an everyday example of my sonss full academic year as a great way to explain Scrum to someone new to it.

My sixth-grader son (“Scrum team[1]) has a bag full of books (“Product Backlog”) that the teachers (“Product Owners”) must complete in the given academic year (“Project Schedule”). There are various subjects (you may call them sub-systems, component or modules if you like), and each subject has one or more books, each having several chapters (“Sprint Tasks”). To a great extent, the books don’t change in the middle of an academic year, though some of the factual contents could (for example, when his session started, Pluto was still the ninth planet of our solar system, but that changed a few months back !). The academic year works on a fixed-end-date planning and the holiday schedules are announced for the entire year in advance and the exact exam dates are announced using rolling-wave planning. To that end, there is a very well laid out plan for the entire year.

However, there are always unexpected changes that happen from time to time. Last month, my son got selected to represent his school at the city-level declamation contest. That meant him skipping some classes, and going out on a school on the competition day. He also had to skip an exam. However, all these “changes” were handled by the teachers with extreme professional finesse and personal touch, with him being given extra time to complete the classwork and homework, and letting him write the exam. I personally feel Scrum takes a rather rigid stance on accommodating in-cycle change requests because in real-life, there are always such unavoidable things that gatecrash and must be addressed in the same timeframe without de-prioritizing any of the existing commitments. In this particular case, could I have told my son to skip the declamation contest because his monthly unit tests were more important, or told the teachers that he be allowed to skip the exams ? I think Scrum 2.0 might address such real-world issues.

Some other known patterns of requirement changes include the scrum team (i.e., my son) getting overenthusiastic and volunteering for every second task like preparing for sports day, or annual day, or chart on Global Warming – essentially things that offer a lot of distraction from the core project activities, and take up lot of unplanned effort out of the sprint without really contributing to the tasks to be accomplished (“Sprint Goals”). This is real-life, and as we all know that when well-intentioned plans go haywire, Scrum or no Scrum, we must sit down and slog over the long evenings and weekends. In self-created situations like this he is getting used to his favorite quotation that I told him sometime back “Life is unfair, better get used to it[2].

Instead of an annual exam alone as the only and final way to assess his learning, the teachers give him and other students monthly (“4-Week Sprint”) unit tests (“Sprint Backlog”) and in the final annual exams, test the entire knowledge (“Product Regression Testing”). So, there are a set of chapters that become part of the sprint backlog in each sprint, and get tested towards the end of every sprint, which are, of course, the monthly unit tests. The schedule of monthly unit tests can’t move (“Fixed-Duration Sprints”) – so, if the given chapter (an item from the sprint backlog) is not complete, the teacher will skip that and put on the top of the next sprint backlog. Some months have more holidays, some have less, and some have school annual functions and other events, so the sprint backlog (and consequently the “Velocity”) is adapted based on net usable time available in a month (“Product Backlog Item Effort”), but the sprint is always four-weekly.

The child comes home every month (for that matter, every week if not every other day) with new knowledge and skills that he can directly apply in real-life (talk about “shippable software”).

At the end of every month, evaluated test papers are sent to parents (the “Scrum Masters”) for review. If the performance is not good, they go have a discussion with the teacher on their child’s performance (“Sprint Retrospective Meeting”), and some of those improvement items become input for next evaluation cycle (“Product Backlog Item”).

Every six-months (so, there are two in an academic year: a mid-point and the second as an year-end), there is a comprehensive assessment of child’s overall academic, extra-curricular and social performance. The class teacher prepares this based on evaluated and observed feedback from other teachers for every child and sends to parents. Not sure what is the scrumology for that would be, but the one closest is “Sprint Retrospective Meeting”.

Daily schedule involves checking classwork and homework, both in class with the teacher (“Product owner”) and with the parent (“Scrum Master”) and various issues related to performance and progress are discussed (“Impediments”). There is a special class of scrum masters in this model, known as “mothers” who always seem to have the right burn-down chart in their minds whether the child agrees with it or not. The daily meetings are quite “standup meetings” by themselves especially when Sprint Goals are not being achieved, if you know what I mean 🙂

PS: Towards completing this article, my son came over, read the contents, asked what Scrum was, but approved the article. But he was not very happy that his contributions were not acknowledged anywhere in the article. So, I hereby thank my wonderful son Chanakya Varma, soon to be eleven this October, for his efforts and a lovely and tough time he gives to my wife and I. Son, you are a great example of how a Sprint Team should behave, especially during tough times, one of them definitely being asking your Mom to help you out.


[1] Purists might disagree with the definition of one boy as a scrum team, but those who have been parent of a sixth-grader will know it better !

[2] Quote by Bill Gates

Why not ?

Why can’t credit card companies come up with a system that disallows existing credit card to be used on internet payment gateways and introduce a new type of cards that can have the following security enablements:

1. has a unique numbering system, like INCC-nnnn-nnnn-nnnn (INCC for Internet Credit Card) so that only cards with such numbering are allowed.

2. has a CVV: you make the transaction and enter CVV just like today

3. an email goes to your mail account asking you to verify the transaction

This triple-ring security will help people use their card online without fear of hacking. It is possible that the email account also gets hacked, but it will at least make it difficult to hack. Perhaps instead of email, an SMS could be sent to mobile phone registered by the user. That might make it virtually imposisble to hack.

I hope Mastercards and Visas of the world are doing something about it.

How do you measure ignorance ?

I think there are two categories of ignorance here: one is a snapshot of ignorance – for example, at this moment, I don’t know how to fly an F16. However, it is perfectly possible at some time in future, I might be able to do it. We all suffer from it time to time, and frankly, this is not an issue. Given the complex world and every-evolving technologies, you can fault someone for not knowing everything under the sun ! The second type of ignorance is the dangerous one: this is the sate of ‘permanent ignorance’. The person refuses to learn and prefers to stay in this state forever. It would be very easy to ‘measure’ it: a proactive person will move out of this state anticipating the need well in advance. An average person can be expected to ‘react’ to the need and do it ‘better late then never’. However, even after the need has happened for the first time, and continues to remain a need, and still the person has not made any efforts to acquire those skills will simply be a ‘permanently ignorant’. There could be several reasons for someone being in a ‘permanently ignorant’ state – attitude, rebel, ego, motivation, low cost of failure by not acquiring the skill (like most adults don’t make full-hearted efforts to learn how to use TV remote control well just because the cost of not learning it is not earth-shattering), etc. You might need to go beyond subject matter to analyze why a person is refusing to come out of zone of permanent ignorance. One more thing: a perfectly normal person could be displaying multiple behaviors at the same time: very eager to learn in some areas, but showing highly adament behavior in others. So, I would not worry about the person, especially if he/she is fine otherwise, but try to focus on how that particular subject relates to the given person. The success of ‘remedy’ will depend to a large extent on the coach and not the subject.

[This was in response to a question on LinkedIn]

Don’t believe in yourself if you want to succeed !

I look at life in a slightly unconventional manner. While most people might laugh at the title of this article, I am fairly comfortable with it.

Let me tell you what I mean and why.

I believe we human beings have some kind of narrowband and broadband combi-filters in our brains which work this way: the narrowband filter programs the brain to achieve lower than where it is set, while the broadband filter programs the brain to achieve more than where it is set. We don’t know where the threshold is when something moves from broadband to narrowband filter or vice versa. However, it is logical to assume it takes far more effort to move from narrowband to broadband than to slip down the other way. Further, if you train your mind to achieve less than narrowband threshold, you will be surprised to underachieve more than what you would overachieve if you set your target higher than broadband threshold.

So, when I think I can’t run a mile in less than seven minutes, it effectively prepares my body not to exceed that expectation. When I train my mind that I can run the mile in less than four minutes, I still achieve less than that. It takes much more effort to achieve more than the capability, and I believe mind plays games to trick us. Now, turn it around and start telling your mind “I don’t believe in you putting a limit to what you believe I can accomplish”

Let me take my own example. In 2004, I found myself doing things that I never done before nor was trained to do: setting up new company, handling financial, legal, IT, HR, facilities, etc, etc. A person who believes in himself would have told himself: I know what I am capable of, I have never done it before and hence I don’t think I can deliver it. He might either say no to it, or ask several specialists on the team (that might slow down the decision process and the execution, or make it too costly, or both). But, what I told myself was: hey, I have never done this before nor I have any idea what this entails, but I will not let my small mind come in way of making me believe that this is beyond my ability. To that end, I will not believe in myself (that I am only capable of doing what my minds thinks I am capable of doing) but go beyond what meets the eye and what seems logical and try to challenge myself. It’s possible I fail in that process, but I don’t have any better option. So, let me go out and do it !

Next time when opportunity knocking your door appears to be a Mission Impossible project, think unconventional, think daring. Don’t let your mind fool you to set lower targets just because you have never done it before.