Agile FAQs
  About   Slides   Home  

 
Managed Chaos
Naresh Jain’s Random Thoughts on Software Development and Adventure Sports
     
`
 
Discovering...
Industrial Logic

Microblog Feed
    Previous Feeds...
    Recent Thoughts

    Recent Comments
    Categories
    Archives
    March 2010
    M T W T F S S
    « Feb    
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
    RSS Feed
    Add to Technorati Favorites

    Archive for the ‘Distributed Development’ Category

    Agile and Developing Nations

    Thursday, January 7th, 2010

    Developing nations, which are trying to establish themselves as a IT Destination have to fight against the giants in the out-sourcing world. For many years companies used CMM as a way to get some attention. But CMM is

    • heavy weight,
    • expensive to get assessed
    • does not really fit small companies’ (20-50 people’s) needs.
    • Also in the last few years CMM has got a pretty bad reputation and hence its not necessarily a great marketing advantage.

    Considering all this, what do companies do? What is the new shinny thing they should all run after. ..ta..da… Agile & Lean.

    • More suitable for their needs,
    • Some Customers are asking for it
    • Is also trendy and gives the marketing advantage over the big outsourcing companies.
    • Share/Bookmark

    Distributed Agile Presentation from Agiles 2009, Brazil

    Monday, October 19th, 2009
    • Share/Bookmark

    State of Agile Adoption in India

    Tuesday, July 7th, 2009

    Lot of organizations in India are considering Agile.

    • Agile Adoption in Services Companies is mostly driven by customers and competition.
    • For product companies its all about
      • Improving productivity,
      • Reducing time to market and
      • Better quality.

    While these companies are adopting agile, they have lots of concerns and questions. One recurring theme I’ve seen, is all these companies are really really afraid of failure. IMHO, this fear leads to a very dysfunctional agile adoption. Teams pick what is easy to do and what fits into their existing model, in the name of reducing risk, call it fail-safe ;) . With this approach individuals and companies fail to see the real benefit of Agile.

    This issue is compounded by the fact that a lot of companies are selling substandard certification, tools and consulting.

    Also most Indian companies work in a distributed model. Distributed development is another challenge teams are facing and they don’t really see how to fit Agile in their distributed context.

    All these points put together makes it very difficult for team to succeed.

    These are my biggest concerns today with Agile adoption in India. Does this ring a bell? Can you share your thoughts?

    I would be really happy if you want to share your agile adoption story with the agile software community of India. If you can address some/all of the following questions it would be great:

    • Why did your company decide to consider Agile?
    • How did you build a business case for going Agile? Can you share some artifacts from this original business case?
    • Who all was driving this change?
    • What measures were taken to set realistic expectations with both Management and Development teams?
    • Did you start with a Pilot project? If yes,
      • What were the criteria for picking a pilot project?
      • What was required to get the pilot project up and running?
      • Was the pilot project a success? What were your success criteria?
      • Post the pilot project what did your organization do?
      • How did you roll out Agile to rest of your organization based on your learning from the Pilot project?
    • From when you started to now, can you give us important milestones and some artifacts with regards to the same?
    • Was there a key turning point in this journey? If yes, what was it?
    • Looking back, what mistakes you think could/should have been avoided? And what mistakes you think were worth committing?
    • Where is your journey with Agile heading? What are your future plans?
    • What does a typical day in life of each team member (developer, tester, manager, etc) look? Any pictures/artifacts you can share?
    • What impact did Agile have on your organization structure?
    • What mechanisms did you use to guide your teams if they were going down the right direction?
    • After having gone through it, do you think it was worth it?
    • Any thing else you would like to share?
    • Share/Bookmark

    If you can’t get Distributed Development working, your company is doomed!

    Tuesday, June 10th, 2008

    Today Distributed Development is unavoidable and is the need of the hour.

    My belief is that if you have the “right” set of people, motivated and happy on your team, it will be a huge contribution to the success of the project. But the problem is most often “right” people are distributed all over the world and not located in the same city. A lot of organizations have tried to move people to the same city so that they can be collocated. While this might work to some extent, this model cannot scale and is not sustainable. All of us would like to settle down in the location of our choice. We don’t want our work to dictate where we live and what lifestyle we choose. For example, I like to live in India close to friends and family. So far I have traveled quite a bit, but once my daughter starts going to school it would be very difficult for me to relocate to another city.

    Also if you consider a lot of leading companies they are loosing a huge amount of people, because most of those employees don’t want to travel/commute any more and want to settle down in one place. While tele-porting is a few centuries away, employees have to live with stressful commute everyday. Not only this is a huge wastage of time, it also affects your productivity and makes your family life very stressful. Currently most of the successful companies have offices in multiple cities. One of the main drivers for having multiple office in different cities is to attract local talent. If your company does not plan to have a office in location X, guess what, your competitors will open an office and you’ll loose some of the smartest folks you could have other wise hired. And when you have multiple office, guess what, people in different offices have to work together. This is another reason why distributed development is becoming more and more important.

    In Agile we talk about having development and business teams together. It is very critical to have constant business involvement. But what do you do when your Business is distributed? Because of the global economy most businesses have global presence.  Also each region might have slightly different business rules or market. Hence it is very important to have development teams close to local businesses and distributed. This again leads to distributed development.

    Another point to be aware of is, if we consider what industrialization has done by building power centers in industrial cities leaving the rest of the country really backward. We don’t really want IT to do the same thing to the country’s economy.

    If you consider these practical issue, collocated team model turns out to be unrealistic in the long run. The chances are you will have to compromise on the quality of people or have the team members travel a lot if you want all of them to be collocated. The alternative is to build a model where the team members can be distributed across space and time.

    Unfortunately so far, we’ve not had great results with distributed development. A lot of people have published their experiences trying to effectively work in distributed teams. For some it has worked or some it has not. But for most of them its not as effective as collocated teams.

    What has worked best of me so far is to start off a team by having them collocated for a couple of week to a month. Then created cross-functional self sufficient teams in each distributed location. Once this model seems to work, then try to fully distribute your team with team members spread all the world. This turns out to be a long and painful process. But this is the best I know of today. Check out my presentation on Distributed Agile which I gave at the IV Agile Gathering in Ukraine.

    Next year I plan to kick off a few experimental distributed projects to try out different techniques to get Distributed Development work as effectively or may be even better than collocated teams.

    • Share/Bookmark
        Licensed under
    Creative Commons License
    Design by vikivix