The Tipping Point

Will Crew or Military Models(for team formation) work in Software Development Projects?

Posted in collaboration, km, knowledge management by Shahnawaz Khan on November 7, 2009

Dave Snowden in his address on Social Computing & KM during the KM India summit brought about a point on how current organizational structures are not suited for creating social networks and hinder performance. Dave explained this with the Matrix Organizational Structure where people have multiple reporting relationships and no one is sure which way their loyalties should be.

Dave talked about the “Crew or Military Model” of team formation which he termed as more adaptive in nature based on the concepts of  “Role” & “Expectation of role”. He explained this with an example of how teams are formed in airlines or ships. People who may or may not have worked before come together to form a team and work as a team based on an understanding of what each persons role is and what to expect from that role.

In the IT industry this model, in intent, is a model that most software development organizations ‘aspire’ to implement while creating teams for developing software. I believe that in theory this is a good concept but there are several questions that need to answered and various soft aspects thought.

  • “Crew” model would work for teams where the tasks are repeatable, tasks which have little room for variation and have to be done “the same as before way” on time. Tasks which have the procedures defined and the job of the person doing is to just follow the procedures and do it.   For example;  airline crew. pilot, co-pilot, air hostess, stewards, checkin counter assistants. The kind of tasks involved are routine, repeatable, well documented, and need to be performed with precision every time.
  • In the software industry, for example each development project is unique and the development life-cycle is ‘not predictable‘ to say the least.  To compound matters, skills required may not be available and training may have to done while on the job. This is not the case in crew model where almost all the times things are predictable and follow a predictable sequence.  For example, in an airplane you can predict what would happen from the time you take a boarding pass and go to your seat to the time you get down from the flight. It is all very very predictable, linear & sequential. There is no room for variation — unless it is a private chartered russian flight :-)
  • Though one may say that even in software development we have roles like PM, Technical Leads, DBA’s etc etc and we know what is expected of that role. However, the reality is that software development is an iterative, some what chaotic, emergent process. There is a complex interplay between all stake holders to create the ‘intangible’ software that people want. Now by very nature of their business, airlines/ships can’t have an iterative, some what chaotic, emergent process to the nature of work that teams do there. Imagine a team of  air hostess emulating an iterative, some what chaotic, emergent process to serve the passengers.!!!
  • Another important element is the “customer engagement” in the whole development life-cycle itself where requirements are fluid and can keep changing. Now one could argue that even in a ship or a airplane there is engagement required with the customers, but that engagement and the choices available and hence the options that the crew can exercise are from a limited set that is almost well known in advance.  It would be only in an adverse situation of a ship capsizing or a plane mishap (e.g. hi-jack) that the engagement model between all the participants becomes fluid and relatively unknown.
  • The most important aspect I feel is the “nature of work” itself.  By very nature, software engineering calls for continuous learning & updation of skills while on the job. This is not necessarily true for airline or ship teams. Not to say that they don’t need to learn or improve their skills but that is within a very narrow band and at a slow pace than in software engineering. This aspect leads to totally different  behavioral, motivational, aspirational & emotional factors within individuals that then influence people, teams & how they work.
  • I also think that teams in crew models the teams need to “coordinate” with each other to perform the task whereas in software development teams need to “collaborate” with each other to perform the task. These two things may look similar but call for totally different actions, engagement models within teams.

The above are just some of the many questions out there. What do you think?

Would ‘Crew or Military’ models of team formation work effectively in software developments? What could be other challenges and opportunities?

Tagged with: ,

Does Knowledge Management need the KM Function to be successful

Posted in km, knowledge management by Shahnawaz Khan on October 30, 2008

Does an organization need a dedicated and separate KM function in order for it to do KM?

If one looks at great organizations like Google, Apple Yahoo (who are considered to be great Knowledge led organizations), they don’t have dedicated KM functions. What’s important is that the basic tenets, ethos and culture of KM needs to be part of the organizations ‘being’, the way of life — akin to the breathing process, doing it continuously without even realizing it.

All the above organizations (and many more) are role models in the knowledge era. The great thing about these organizations create processes & structures that truly embody the spirit of the ‘needs’ of the knowledge worker and through that they are able to attract the best talent and provide them with an environment that goes to the core of what knowledge management espouses.  They don’t do KM for the sake of KM and saying ‘oh, we also do KM and realize the importance of it and hence we have dozens of knowledge managers supporting KM’…

I personally believe in the approach taken by the Google, Apple Yahoo type organizations as an effective way of doing KM.

For the ‘regular’ organizations I believe that creating a dedicated KM function is a good thing to bring ‘focus’ on KM and giving it legitimacy. This will send the right signals and help get going.

However, for KM to be truly effective in those organizations, over a period of time, the KM function should strive for  enabling the different parts of the organizations to do KM themselves and not rely on the KM function. This is where KM needs to be part of the organizations ‘being’, the way of life. This should be the role and end goal of CKO’s and they should also be measured on this aspect. Once the above has started to happen (and this should happen in a measurable/definite time frame) then the KM function should be considered for  dissolution and the charter of the KM function should become to just oversee it’s disbanding

The above may look good in theory but there are practical challenges like (just some of the many…):

  • Over a period of  time the person leading the KM function can get attached to it and can find it difficult to let go.
  • KM has overlap with almost all functions and in the beginning there is less conflict and at a conceptual level people agree for KM to work on the areas of overlap and make progress. As clarity emerges and overlap areas gain traction, the different functions start voicing or thinking about what do these overlaps mean and start questioning this.
  • This creates ground for small battles in bigger organizational ‘turf wars’ and results in various functions/departments further entrenching in their beliefs/positions and the organization opting for ’status quo’ approach to please all.

It’s sad but a true mirage and we continue to rely on “Knowledge Management needing the KM Function to be successful” approach…

After Action Reviews[AAR] in software development

Posted in km, knowledge management by Shahnawaz Khan on January 12, 2008

AAR’s is a process used by the US Army where after each action [in army's parlance] the team meets to capture the learning’s and lessons, what went well and what could be done better. The advantage of such AAR’s is that the activity performed is fresh in the teams mindspace and they can reflect better on the activity performed and learn from it.

Variations of AAR have been used in the software industry(and in other industries also) in form of Post Harvests, Sunset Reviews, Post Mortem Report etc where the team meets at the end of the project, to look back and reflect on what went well, what could be improved and how to gain from the experience.

While all such practices are fine in theory, there are some fundamental issues in their execution. Few of the limitations are:

  • Projects, programs etc get executed over a long span of time – maybe months, years. If a post harvest, sunset review etc is conducted at the end of several months, then it is practically impossible for teams to remember what went well and what could have been better. These meetings then usually will turn into blame game, finger pointing, or of things at a very superficial level. The real learning’s may not surface in such scenarios.
  • The importance if learning’s, lessons may become trivial. When the team of individual is facing an issue, or trying to solve a problem, then the lessons they learn while solving the issue/problem the first time is the most important. The next time they face the same situation/problem, then they will see little value in the lessons. They already know how to do it and over a period of time, by the time the post harvest, sunset review happens, the very important lesson that the team had while solving the problem could have become trivial to even mention it.
  • Team members join and exit the projects/programs throughout the life cycle of the projects/programs (This is especially true of software development projects). This is compounded by the fact that people leave or join a project not in one shot but in a staggered manner over a period of time. Post harvest, sunset review do not account for tapping into the lessons learnt by people leaving the project, nor do they try to tap into the lessons that people joining a project/program midway bring with them.
  • Many times during Post harvests, sunset reviews etc, the team members who had left the project and are now part of other teams are asked to join for such meeting. The intent is very noble — to also tap into the learning’s that these people had and benefit from it. However, the problem is that these team members who had left the project are mentally NOT associated with their previous project anymore, they are mentally switched off from their previous project and are very unlikely to contribute any meaningful learning’s or lessons, and even if they do, it will be very superficial. NOTE: It is not that they have noting to contribute, but the very fact they are mentally, emotionally and physically removed and no longer part of the project, make it difficult from these people to contribute anything meaningful.

There is no doubt that learning’s from Post harvests, sunset reviews can be applied to new projects, but the very fact that lessons/learning’s of AAR’s can be applied right away in the next activity of the current project make it very powerful.

It’s about time that the software industry looks real hard at the value it derives from Post Harvest processes.

Tagged with: ,

10 Tips for DIY corporate unconference

Posted in barcamp, km, knowledge management, unconference by Shahnawaz Khan on December 22, 2007

Yes, it sounds like an oxymoron: a ‘CORPORATE UNCONFERENCE‘.

An unconference is diametrically opposite to what ‘corporates’ stands for. Unconferences are unstructured, self organized, non hierarchical, user driven, sense of chaos, loose controls, speaking your mind out, no formality etc. A corporate is all about control, hierarchy, structure, predictability, organizational thoroughness, formality etc. It’s like echoing Men are from Mars and Women are from Venus.. It’s like Eric Raymonds “The Cathedral & the Bazaar” — the ‘cathedral’ standing for the formal organization and the ‘bazaar’ for the unconference…

However; the reality is that unconferences gaining traction and being widely adopted in the techie circles, and this provides an opportunity for corporates to try out unconferences as a mode of sharing & learning, conversations within their setups.So, how do organizations go about adopting, adapting, experimenting with this social, participative & emergent concept of an unconference?

One way can be to learn from other organizations that have tried unconferences within their organizational setup and factor those learning’s, inputs into their planned corporate unconference. Needless to say that each organization is different and the organizations culture, structure etc will for sure have a bearing on how the corporate unconference is rolled out.

Here are some tips that can be adopted/adapted according to your needs while planning a corporate unconference.

Tip #1: Don’t make it MANDATORY: In my opinion, making participation mandatory for all employees can be the biggest in a corporate unconference. An organization, in all its best intentions, may decide that ‘everyone’ needs to attend the unconference. However; this goes against the spirit of an unconference and is a sure fire way making the unconference unsuccessful. Organizations need to understand that an attendance of 4000 does not guarantee participation from 4000. However only 1000 out of 4000 people participate in the unconference, it is absolutely great.
At MindTree, we did the unconference on a Saturday and did not make it compulsory for people to attend. There were more than 1000 people who turned up out of their own choice – and EACH one of them enjoyed the 30+ sessions during the unconference.

http://farm3.static.flickr.com/2224/2112541733_6ce724f182_m.jpg

Tip #2: Don’t do a PoC. Yes…!!! In my view, this can be the biggest deciding factor in the overall success of the corporate unconference. At MindTree, we made unconference to the grand finale of a quarter long Osmosis event. One of the fundamental aspects of an unconference is to bring in people with diverse backgrounds, interests together and then have discussions, sessions. If an organization tries to do a PoC for an unconference, it would most probably be limited to a function, technology group of limited set of people – essentially people with SAME background interests etc… This in my opinion could be a foolproof way of ensuring a conclusion that unconferences don’t work in an organization. We did not do a PoC – though there were suggestions to try out a PoC. So, just do it… LARGE!

Tip #3: Get involved in organizing unconferences: If you have never been part of organizing unconferences in the outside world, then DO SO. There are plenty or barcamps happening in most of the cities and all of them need volunteers. Get involved as a volunteer – from the planning stages itself to get a first hand feel on what it takes to organize an unconference. Get down to the nitty-gritty details. This will come in handy when you organize your corporate unconference and is your insurance for NOT doing a PoC internally.

Tip #4: Educate the masses: The moment you announce that your organization will be doing an unconference, people will have all sorts of questions. What is this, why? How? When? Etc. Plan for educating people on the concept of barcamps/unconferences from the moment you announce the unconference. Dig out the appropriate barcamp/unconference videos from youtube and reach out to their authors for permission to use them for evangelizing the concept of unconference/barcamp in your organization. Most authors will be happy to allow their video’s being used for the promotion of unconference concept. We at MindTree did this and this helped a lot in educating people and answering their questions.

While the videos will help in general education, you need to prepare a FAQ/Mailer on what exactly will happen in the unconference in your organization. This will bring in a sense of reality for the people, within the context of your organization, and also help you in your planning of the unconference.

If possible, take awareness sessions around unconference. We did such in MindTree and more than the corporate unconference, we asked them to get involved in barcamp/unconference movement outside of the organization. That’s more important in my view.
We even created a cheat sheet around unconference concepts and made it as part of the unconference email campaign within the organization.

Tip #5: Ensure content ahead of time: Let’s face it. 99.99% of people in an organization would have no clue to what an unconference is. In a typical unconference, the content [sessions] are decided impromptu by the participants on the morning of the unconference. However; in a corporate setup, where almost no one has an idea of what an unconference is, hoping that content [sessions] will spring up on the morning of the unconference is wishing for 100 mm/day of rain in the Sahara. You need to put up a wiki, web page to solicit unconference topics well in advance. This serves multiple purposes.
- You build content for the unconference. After all the ‘meat’ of the unconference are the sessions.
- The fence sitters can decide to take part in the unconference depending on the sessions suggested.
- It helps in breaking the ice. More people are likely to come up and take sessions if they see few sessions already listed.
- You get inputs for your logistics planning

Tip #6: Educate the facilitators: Once you get the content ahead of time, you need to educate the session facilitators. For most of the participants, the sessions would be the barometer, their yardstick for measuring how the unconference went. In this scenario the role of the session facilitators becomes very important in a corporate unconference. Most of the facilitators would never have taken an unconference session before and you need to ensure that the facilitators understand how unconference sessions happen and how they are different from regular sessions. They need to know things like people can interrupt any time, people can walk in/out any time, sessions should be conversational, bi-directional, discussion oriented and not necessarily training/tutorial, and most importantly facilitators need to be comfortable with the session scheduling happening on the morning of the unconference.

You can communicate the same to all facilitators either though emails, meetings, sessions etc. This way you can ensure that sessions happen in the true spirit of an unconference.

Tip #7: Do some prior scheduling & have 10-15 minute gaps between sessions: Even after all the education, personal sessions & awareness campaigns; most people will still not get the unconference concept until they experience it. This means that you need to set the ball rolling by scheduling few unconference sessions from the session list you would have solicited earlier. This would require you to prepare your ‘paper wiki’, your session notice board, and scheduling/populating some sessions in advance. The key is that on the morning of the unconference, there should be no vacuum with people just standing there and no one knowing what to do – in a corporate setup, considering that most people would be new to the unconference concept, this could be a dampener, a false start (in a regular barcamp, this is something that people are used to but things are different in a corporate setup). Once you ‘seed’ some sessions, things will flow smoothly. This will also address the request from some facilitators who will continue to ping you for knowing when, where their session is.

Also, try to have a uniform duration for each session (ideally between 30-45 minutes) and keep 10-15 minute break between each session. This will help you in couple of ways:
- Provide a buffer if some sessions overshoot their allocated time.
- Participants can again flock to the notice board after the session is over in a relaxed manner to choose which session they would like to attend next, take refreshments breaks in a relaxed manner.

A large, vibrant & humming crowd around the notice board creates the necessary energy in the atmosphere making it contagious.

Tip #8: Get Volunteers: You will need an army of volunteers to run the unconference. In my opinion the best volunteers for the corporate unconference would be the ‘fresh campus graduates’. They have unbridled enthusiasm, energy and are always full of ideas. The best people you can wish for as volunteers and to be honest, they make the corporate unconference vibrant and colorful.
Many things that happen on it’s own in a regular unconference – such as the paper wiki/notice board update, would need volunteers. You will need volunteers for announcements, food, registration desk etc.
Most importantly, these volunteers help infuse energy and joy into the whole unconference.

Tip #9: Have all venues close by: One of the beauties of an unconference is several sessions running in parallel and participants having the freedom to choose which session to attend. This would mean people having to walk from one session to another quickly, in between sessions or after sessions and having all rooms/venues close by helps a great deal. Ideally all the rooms/venue should be on the same floor so that mobility between rooms is easy for the participants. In choosing the rooms/venue for the unconference sessions, don’t worry about the chairs, tables etc. participants will stand in the aisle, sit on the floor, squat around as long as the session is interesting.

Tip #10: Fun/Cultural activities around the unconference: This may seem trivial, but has a lot of value in creating the necessary energy. Every organization will have its share of artists – leverage their talent to create a platform for people to have fun.
This will also serve the purpose of allowing participants, who are not present but not attending sessions to bond together, socialize and meet up with each other in a relaxed atmosphere.

In MindTree we arranged for a rock band, instruments etc and we had enough people within the organization who were more than happy to perform. In the true spirit of an unconference, there were impromptu songs, dance and jamming sessions going on.

We also had ‘Mob the Leader’ sessions, where a group of 20-30 participants would ‘mob’ a person from the senior management and have them talk on topics of the ‘mobs’ choice. This was a way of encouraging unstructured conversations, discussions in a very relaxed atmosphere

Additional Tip:

Tip #11: Create an easy to use virtual platform: For people to share their experiences, pictures, blogs about the unconference and even the unconference sessions. If your organization has the culture of Corporate Wiki’s and corporate blogging, then  leverage those platforms. This way, the conversations can start well before the sessions and even carry on after the unconference sessions.
At MindTree, we used the concept of ‘Citizen Journalists’ to encourage participants to cover and share the unconference proceedings as they see it. We encouraged participants to bring their cameras video recorders or even use their mobile phones to cover the Osmosis unconference.
We even created the equivalent of Flickr, Blogger etc within the organization, making it easy and intuitive for people to share their experiences with each other.

Here are some blogs that have a review of how the MindTree Osmosis – A Corporate Unconference went.

http://shahnawazkhan.wordpress.com/2007/12/15/mindtree-osmosis-unconcerence/

http://ujjwalgrover.blogspot.com/2007/12/unconference-at-mindtree.html

http://generally.wordpress.com/2007/12/18/mindtree-osmosis-2007-an-external-view/

http://iduvejeevana.blogspot.com/2007/12/osmosis-celebrating-innovation-mindtree.html

http://labsji.wordpress.com/2007/12/08/filmcampin-mindtree-osmosis-unconference-adaptations-to-watch/

YouTube: http://www.youtube.com/results?search_query=mindtree-unconference&search=tag

Flickr: http://www.flickr.com/photos/20967821@N02/tags/osmosis/

Relationship of KM with other functions in an organization

Posted in km, knowledge management by Shahnawaz Khan on November 28, 2007


After working in the KM arena for many years now, one thought has started puzzling me — “The relationship of KM function with other functions in an organization and the consequences of these relationships — in terms of the KM viewpoint & outlook, success etc.”

I have observed many different Indian IT organizations [I presume it must be similar in other countries also], that each organization has it’s own structure for KM within the organization. For example in one organization, KM reports into quality and is part of the quality function, In another organization KM reports in Education, Training & Research, In another it is heavily distributed and some parts report into Marketing & Sales, some into HR etc. In another one we have a separate KM function that reports directly to the COO.

I have observed the KM initiatives in all these above organizations from close quarters, through various interactions and in all of these cases, the results of KM and the road map, the view of KM, what KM is, is all different and very heavily influenced by the function/person KM reports into.

- KM being a cross-functional discipline, also is similar to an elephant being viewed by blind-folded persons and each person [function] having it’s own view/perception of the elephant [KM] depending on what part of the elephant they are seeing.

- At the same time, KM’s cross-disciplinary nature can create structural tensions within an organization if it is a separate function, with developing working relationships, alignment on directions, strategy, over stepping on other functions toes.. being just some of the issues..

- KM being a relatively new discipline and not very well understood by the stakeholders also contributes to this dilemma. For example, Quality as a function has been there for ages and is pretty well understood. You will very very rarely see quality reporting to say CIO or HR or Marketing or Learning/Training function..

- Also, KM itself is a journey within an organization and goes through various stages.. from repository/technical platforms [CIO function alignment] to communities [HR/Learning function alignment ] to reuse of knowledge [Quality function alignment] to deep integration within the line function [function head alignment] to complex change management & Innovation [COO/CEO alignment]

Surprising isn’t it? We are in the knowledge era and the position of KM function within the organization structure is neither well understood or defined….

I think every organization that is starting a KM journey needs to ponder over this in great depth and align KM function appropriately within it’s organizational structure

Tagged with: ,