pioneering outsourcing 2.0
24  03 2008

Agile in India : Interview with Naresh Jain

Naresh Jain is the founder Vice-Chairman of the Agile Software Community of India (ASCI) and the organizer of the Simple Design And Testing Conference (SDTConf). Naresh has help start various Agile User Groups including the Agile Philly User Group and various groups in India. Naresh is an active Open Source committer and enjoys teaching software development courses in Universities. By being a part of the team, Naresh helps software companies embrace agile. Naresh is passionate about building a community of talented and capable software craftsman, the next generation software leaders in India. In recognition of his accomplishments, in 2007 the Agile Alliance awarded Naresh with the Gordon Pask Award for contributions to the Agile Community by establishing Agile User Groups in India and for creating the Simple Design and Testing conference. He has worked on variety of software projects utilizing XP, Scrum and Crystal techniques since 2003. Currently, Naresh Jain is software craftsman working for Directi as Quality and Community Evangelist. In this interview, Naresh talks about his experiences in spreading awareness about Agile and helping companies adopt Agile in India.

agilecollab : Please tell us how were you exposed to Agile?

Naresh Jain : Back in the dark days of my life, I was working as a coder (not programmer) on a big J2EE project. This was for a IT division of a big Bank. We had a really smart Architect sitting in UK who would provide development guidelines. One of his guidelines was, as soon as we finish a feature, we were supposed to write JUnit tests before we check in the code. As soon as any team member would check-in code, he would check out the code on his machine and do a code review (he literally acted as our Continuous integration build server). For those of us who had never written a unit test, this was a boon in disguise to avoid stupid mistakes. As I got used to this approach of writing unit tests after the code was written, I felt I was wasting too much time building the wrong code. My test would give me the feedback that I made a silly assumption. This feedback was great, but I had already spent the time writing the wrong code. My manager always told us, work smarter not harder. So in the search of smarter ways to do the same, I stumbled upon the life changing article “Test Infected“. The whole Test-First approached seemed so much superior than what we were doing. And thus began my journey into the Agile world!

agilecollab : What has been the motivation behind ASCI?

Naresh Jain : Scratch your personal itch! While I saw a clear value in Agile and light-weight methods, there were very few companies in India who actually knew about these methods. Agile was making big news in the west and community based conferences was a growing trend there. In late 2004, Owen Rogers and Manoj Bharadwaj were planning to organize a one day conference in Bangalore similar to the XP Day. Manoj spotted my interest in community building and asked me to help them. I was very interested and happily joined forces with Owen and Manoj. Soon the conference planning started picking up steam. At one point, (a month before the conference) we had to figure out a way to manage funds. So we wanted to open a bank account. We realized that it would be difficult to open a bank account without having some kind of an organization. Since this was a non-profit event, KK Rajan suggested we register a non-profit society and open a bank account in its name. Bhavin Javia suggested the name ASCI - Agile Software Community of India. And today we have ASCI. So what started off as a means to handle funds for a non-profit conference, today is grown into a large body of Agile enthusiasts and practitioners. Today ASCI provides a platform for people from different software organizations to come together and share their experience with Software development methodologies. ASCI’s focus is Agile and related light weight methodologies/philosophies. ASCI evangelizes itself to be a facilitating body which fosters and innovates lightweight methodologies in software development in India.

agilecollab : How can one become a member of ASCI?

Naresh Jain : We believe in keeping it simple and lean. Details : http://agileindia.org/membership.htm

agilecollab : What are the plans for coming year and ahead for ASCI?

Naresh Jain : While Agile is got into mainstream, there are a huge number of organizations in India who want to adopt Agile. So the focus of ASCI has shifted from Agile awareness to Agile adoption. ASCI’s model to achieve this has mainly been through conference and user groups. We have consciously not got into training and certification. And hope we’ll never get into it. ASCI has just formed a new board and I think this board will take ASCI to the next level.

agilecollab : How have last few years been in adoption of Agile principles and practices in India?

Naresh Jain : There has been an exponential growth. In 2004, there were hardly any companies that were aware of Agile. Today most of the big companies have piloted at least a few projects using Agile and some companies are using Agile principles and practices in majority of their projects. Smaller companies have found it easy to adopt agile while the big CMM companies are getting there.

agilecollab : Do you think the motivation for adopting Agile is more in product companies than IT Services companies?

Naresh Jain : I don’t really have data to say whether its more in product companies or in services companies. There are a large number of companies in both categories that are adopting Agile. In the product space, time to market and improving efficiency/ productivity is driving the adoption. In other words, the motivation is mostly internal. While in the services space, competitive advantage and customer/counterpart pressure is really driving the adoption. In other words, the motivation is mostly external.

agilecollab : Is there a regional bias in India with regards to Agile adoption, with South leading way over North?

Naresh Jain : Based on my interaction with various companies all over India, Bangalore has the highest number of companies practicing Agile. Also in terms of their experience, Bangalore seems to have lot more companies with pretty good understanding of Agile. Having said that, companies in Pune, Mumbai, Hyderabad, Chennai, NCR, Chandigarh, etc are catching up big time. But, I think Bangalore does have the first starter advantage.

agilecollab : According to you, which of Agile frameworks fits better in Indian context?

Naresh Jain : In my personal experience eXtreme Programing, Crystal and Lean are the frameworks from which companies in India will really benefit. Scrum would also be important form a marketing perspective. For Ex: A services company can bid for a project saying “We have 5 certified scrum masters”!

agilecollab : What according to you are major factors which impede organizations journey towards agility?

Naresh Jain : Organization Culture and People’s attitude towards change.

agilecollab : We have started Agile Chandigarh [users can join on LinkedIn and Yahoo Groups]. It is at a nascent stage. However, it would be probably only second such group in North. What advice would you give to the group?

Naresh Jain : I’m nobody to give advice. But now that you have asked. I have 3 advices:
1. Perseverance
2. Perseverance
3. Perseverance
It takes a bloody long time for people to invest time in user groups and to value free peer-to-peer community based learning. Most people want an easy way out. Pay, sit through a class for 2 days and walk out with a certificate. Now that we have taken the first step in the right direction, I think 50% of our job is done. Also remember ASCI will live as long as such initiatives are taken by people in different parts of the country.

agilecollab : Finally, any plans to visit Chandigarh?

Naresh Jain : Not that I know of. But if you plan to organize a Agile Chandigarh 08 Conference, you can count on me to move the boxes.

Popularity: 21%

17  03 2008

Scrum Master or Process Coach : Custodian of Agile

The main role in Agile Teams is Scrum Master or Process Coach. The KRA or responsibility for this role is simple : be the custodian of Agile or Scrum. The Scrum Master or Process Coach [hereafter referred to as Scrum Master], basically guides the team’s use of Agile [Scrum], helps them identify obstacles or barriers to their success and work with them to overcome these obstacles or barriers. In essence, the Scrum Master helps the team become great at their use of Agile [Scrum] and makes good teams great. And how exactly does a Scrum Master do this? The Scrum Master does this without coercing, brainwashing or directing the team in doing all this as well as preventing anyone else from doing the same. The Scrum Master would work with the team as a whole and each member of the team as well, to identify issues, raise them openly, face them and then find out innovative ideas and solutions for them. The Scrum Master would typically do this during the Sprint at:

  • Sprint Planning - The focus here is to get the team to estimate and commit fairly to the requirements. Hence, the Scrum Master would:
    • Invite subject master experts after discussing with the team but not allow them to over rule the team.
    • Keep product owner from influencing teams committment to upside
    • Keep the team from undercommitting
    • Have everyone in the team participate rather than having only one or two members as active
  • Daily Stand Up - The focus here is to keep the stand up to 15 minutes, team focused collaboration opportunity as well as identify any obstacles quickly. Hence, the Scrum Master would:
    • Everyone updates the sprint backlog
    • Everyone updates status to everyone else
    • Note obstacles raised by team members and work with them over the sprint to overcome these
    • Keep the stand up less than 15 minutes
    • Have stand up start and end on time
    • Encourage members with obstacles to seek help or collaborate after stand up
  • During the sprint : The focus during the sprint is to keep the team stable. Hence, a Scrum Master would
    • Stop product owner from making any changes
    • Work with product owner on her availability for team to answer questions and provide feedback
    • Work with the team to ensure motivation and committment
  • Sprint Review : During the sprint review, the goal is to keep the team from presenting non-working artifacts or product owner from assessing team performance unfairly. Hence, Scrum Master would
    • Arrange the room and other facilities keeping team focused on developing working software
    • Get the product owner and other stake holders
    • Present the agenda
    • Moderate any discussions, if needed
  • Sprint Retrospective : In addition, the Scrum Master would be a central point during Retrospectives. The goal during Retrospectives is to help the team identify patterns and practices that helped them do well during the sprint, ones which did not help them or stopped them from doing well. Hence, the team identifies what worked well that was already working well, what worked well that was not working well, what is not working well [was working well, or was not working well even before]. The team then identifies some solutions and ideas and committs to trying these out over next sprints.

Hence, we can see that Scrum Master is its roots in servant leadership. Like with every other role in Agile or Scrum, this is a role rather than a designation. Hence, for one project the team can decide on having one person as a Scrum Master/ Process Coach and for another, some one else. The Scrum Master does not necessarily need to be a technical geek but someone who can understand team issues and can effectively facilitate and counsel enabling good teams become great.

Popularity: 9%

« Previous PageNext Page »