Friday, October 26, 2007

New England Agile Bazaar October Meeting

I attended the Agile Bazaar meeting this month at Tufts University. This was a panel discussion format moderated by Ron Morsicato with an open format including a series of questions crafted by Ron that were geared towards adoption of agile practices. The panelists:
  • Don Roby, Cyrus Innovation. A developer of highly usable solutions with a proven blend of Agile programming techniques, user-centered design, and deep insight derived from the firm's financial services experience.
  • Brad Kain, Quoin, Inc. A builder of sophisticated applications for media, publishing, retail, finance, life sciences, and other industries.
  • Giora Morein, BigVisible Solutions. A premiere provider of Agile enablement, training and software solutions.
There seemed to be consensus that agile practices are most popular in both small startup companies (especially in SaaS) and large financial services companies (like Fidelity Investments). The reason small startups are adopting embracing these practices is to address the rapid pace and reduction of technical debt. It is easier for these organizations to adopt agile because they can start fresh with this approach and don't have the cultural overhead to limit the pace of change. The larger financial services organizations are adopting agile to address the management of many small projects as opposed to most service and product teams. There was a discussion about hybrid methologies and the experience the panelists have had in the field. Most organizations to not practice a specific methology but a collection of practices, and then give the collection a name specific to their organization.
  • Scrum or similar methods that describe the way in which projects are managed at the detail level, with a product owner.
  • Some subset of XP development practices, especially TDD (test driven development) - a lot of resistence to peer programming - very few are using the notion of an on-site customer.
  • Managing the business with CMMI or similar infrastucture framework is common with larger organizations, incuding phases and gates. There is evidence that CMMI is compatible with agile project management practices and certainly with XP coding practices.

Organizations looking to make the change to an agile lifecycle have common things they don't want to let go of. For example, building narrow funtionality (through all tiers) and delivering often, logging and tracking all defects found after a coding phase, constant communication within a team, and the dreaded exposure of peer programming. Architects of web services need to have a vision for the tiers needed for the service, but unlike a waterfall approach where you can complete a majority of a tier before moving on the the next, only to portion of each tier relevent to a specific feature in scope for the iteration is developed. The challenge of the change agent is to let them use familiar tools in a different way that moves them to changing the practices. For example, working with QE at the time of development and treating most defects loosely as part of the development exercise, and only escaping (after closing a story) defects can be logged and tracked as before.

Offshore, nearshore, and collocated teams were discussed. There is contention with many companies as they seek to reduce overhead by utilizing outsourced development services. Most of the companies in India, Eastern Europe, and Canada move people from project to project often, keeping their signature engineers on strategically high profile projects, especially to win new business. They tend to resist agile project managment approaches and have cultural challenges with sharing perceived bad news. Giora talked about a survey he conducted for a company with teams locally, India, and Canada, which had a series of projects together. This survey included both quatitative and qualitative questions about their experiences. 83% said the most successful projects included personnel spending time in the other locations, suggesting that face time really makes a difference in the success of a project. These respondents also said that they preferred to be in the same time zone. However, Giora mentioned that one of the most successful projects included members of the team in India spending time in the local project teams and having development in both time zones had the effect of 18 hour days. There was no evidence of increased productivity though. There was also talk about setting up your own team in India if you want to use agile practices. We did not seem to come to any conclusions on making what makes an outsourced project work with agile.

http://agilebazaar.org
http://groups.yahoo.com/group/AgileBazaar

No comments: