Phy-gital Roundtable: Breakfast Roundup from Germany and Netherlands

02 May '15 | Debjyoti Paul

German Shoppers: Meet Them in the Fast Lane to Phy-gital

15 January '15 | Ralf Reich

Shoppers Will Share Personal Information (But They Don’t Want to be “Friends”)

15 January '15 | Anil Venkat

Modernize or Perish: Property and Casualty Insurers and IT Solutions

14 January '15 | Manesh Rajendran

Benelux Reaches the Phy-gital Tipping Point: Omnichannel Readiness is Crucial

13 January '15 | Anil Gandharve

The New Omnichannel Dynamic: Finding Core Principles Across Industries

13 January '15 | Debjyoti Paul

Technology does not disrupt business – CIO day 2014 Roundup

02 December '14 | Anshuman Singh

Apple Pay – The Best Is Yet To Come

02 December '14 | Indy Sawhney

Digital transformation is a business transformation enabled by technology

01 December '14 | Amit Varma

3 Stages of FATCA Testing and Quality Assurance

06 October '14 | Raman Suprajarama

3 Reasons why Apple Pay could dominate the payments space

18 September '14 | Gaurav Johri

Beacon of Hope: Serving Growth and Customer Satisfaction

05 August '14 | Debjyoti Paul

The Dos and Don’ts of Emerging Technologies Like iBeacon

30 July '14 | Debjyoti Paul

What You Sold Us On – eCommerce Award Finalist Selections

17 July '14 | Anshuman Singh

3 Steps to Getting Started with Microsoft Azure Cloud Services

04 June '14 | Koushik Ramani

8 Steps to Building a Successful Self Service Portal

03 June '14 | Giridhar LV

Innovation outsourced – a myth or a mirage or a truth staring at us?

13 January '14 | Ramesh Hosahalli

What does a mobile user want?

03 January '14 | Gopikrishna Aravindan

Critical success factors in distributed agile

Posted on: 15 February '11

During 1999, the year when Agile Manifesto was announced to the industry, an interesting article entitled “Critical Success Factors in Software Projects” by John S. Reel, then Chief Technology Officer of Trident Data Systems, got published in IEEE Software. This article presents five critical success factors – Start on the right foot, Maintain momentum, Track progress, Make smart decisions, and Institutionalize post-mortem analysis.

In this article John claims several interesting facts and observations out of which the following four are worth sharing.

1). “At least seven of 10 signs of IS project failures are determined before a design is developed or a line of code is written.”
2). “By the time you figure out you have a quality problem it is probably too late to fix it.”
3). “Project leaders often avoid confronting individuals and merely “fix” a problem by setting arbitrary team rules.”
4). “If you don’t take time to figure out what happened during a project, both the good and the bad, you’re doomed to repeat it.”

We are now stepping into 2011. We have seen a decade after the announcement of Agile manifesto and adoption of evolutionary methodologies such as Agile Software Development.

Agile Software Development emphasizes on regular and frequent delivery of working software at sustainable pace and considers working code as the true measure of project progress. Agile is people centric and values collaboration and coordination among team members. With the success of agile and distributed agile, one can weigh the veracity of these four observations to software projects of the recent times in terms of probability of occurrence. While these observations are irrefutable, in agile software development there are proven principles and best practices that help practitioners ensure success in projects by means of applying proactive course corrections.

While agile methodology and distributed agile software development have gained popularity with several success stories, they do pose challenges. Global Software Development in agile environments or distributed agile pose several challenges due to distance, differences in time zones, cultures, differences in leadership styles, variations in organizational policies, different types of stakeholders etc., When it comes to executing multi-site projects, agile practitioners do face several challenges due to factors such as distribution of teams that result in limitations in face-to-face communication, and cultural mix of teams that impede team bonding.

During the Y2K era, methodologies such as Xtreme Programming (XP) were being practiced by limited set of projects across the globe. During 1999 and 2000 when Agile Manifesto and Agile Principles were new to the world of Software Engineering, methodologists and practitioners constrained agile to collocated teams with onsite customer. Gradually over the years, agile adoption increased. By 2005 agile methodology was adopted by distributed teams and the industry started calling these distributed agile.

We have executed several projects using distributed agile methodology with teams spread across continents and time zones. Consequently we have identified the following ten critical success factors that are of immense value in ensuring success in distributed agile projects.

1). Setup the Base Camp
2). Ensure Explicit Delegation and Validate Assumptions
3). Cut Communication Loops
4). Facilitate Tool Driven Query Resolution
5). Initiate Test Drives
6). Assess Internal Quality
7). Manage Effort Variance Constructively
8). Take Stock of User Stories for Status Checks
9). Invest in Root Cause Analysis
10). Complement People to Improve Process

Details on these are available in the white paper ‘Critical Success Factors in Distributed Agile for Outsourced Product Development‘.

In my opinion there are two ways to derive critical success factors – a) analytical and b) experiential. The first approach is very time consuming. One needs to collect data from hundreds of projects and analyze the data in order to derive critical success factors. Obviously, the results will be dependent on the accuracy of data. The second approach is experiential and it can combine organizational best practices, lessons learned as well as our thought leadership. We took the second approach in identifying these success factors. We have found it applicable and practical across several new projects.

During a speaking session at Agile Tour 2010 on this subject I could see several interesting questions from participants. Many participants shared their experiences and agreed with all these factors. That is what motivated me to write this blog in order to share it with all readers. Do you practice distributed agile? What do you consider as critical success factors?

Mindtree Blog Archives

Mindtree blog Archives are a collection of blogs by various authors who have independently contributed as thought leaders in the past. We may or may not be in a position to get the authors to respond to your comments.

  • Remy Malan

    Raja,

    A good posting. We work with many large companies doing distributed Agile and also with tool vendors and consultants serving the Agile market. One on the critical success factors we almost always encounter in distributed Agile is how to deal with communication and collaboration when the team is not co-located.

    As a vendor in the Agile community, enabling distributed teams to communicate and collaborate more effectively has been a strong driver for own development work.

    Remy Malan

  • Ned

    Hi Raja
    Good article !
    Thanks

  • Thanks Remy,

    I agree with your views.

    Communication and coordination continues to be one of the significant challenges. This challenge can be handled to a greater extent with team building exercises, soft skills trainings, provisioning of appropriate collaboration tools and infrastructure, planned visits, etc., It comes through experience and practice!

    Raja Bavani

  • Thanks Ned!

    Raja Bavani

  • Agile ALM

    In distributed agile development communication and collaboration between cross-functional teams becomes a challenge. Where a co-location agile team speeds up the development process, where as in distributed system accurate information is to be conveyed.

    http://www.digite.com/products/digite-products.htm

  • Nick

    Thanks for the post…..