Posts Tagged ‘distributed teams’

Developers On Board with Agile, but Scaling Poses Obstacles

February 2nd, 2011 by AccuRev

There’s little question that most organizations are considering a move to Agile practices, but what’s holding back adoption?  Earlier this month, we released the results of research conducted over the past year as part of our “Agile Comes to You” seminar series. We surveyed approximately 1,000 developers, testers, product managers and other business professionals across the US and Europe, and findings shed new light new light on the obstacles software development organizations are facing as they move forward with Agile initiatives.

What obstacles hold back Agile Adoption?

The top obstacles identified by the survey included: capturing requirements (16%), lack of in-house experience (14%), and lack of automated tests (13%).  Other Agile pain points were challenges associated with teams spread across multiple projects (10%) and support for Agile with distributed teams (8%).  There are ALM tools available today designed specifically to help developers overcome these obstacles.  Development organizations can also implement a number of best practices processes to smooth the transition to Agile and accelerate adoption.  Following the survey results analysis, we’ll provide more details on the tools and approaches in a subsequent blog post.

The study also showed that pain points varied based on the extent of the organization’s Agile adoption: organizations in early and mature stages of Agile adoption both saw capturing requirements as a source of pain, while those organizations with some Agile processes implemented identified the lack of automated tests as their top issue.

In addition to spotlighting the obstacles to Agile adoption, AccuRev provided updated insights into interest in Agile.  Approximately 70% of those surveyed are currently implementing Agile practices – of this group, 23% are scaling, 37% are piloting, and 8% are already fully Agile enabled.

The full report of the Agile Adoption Pain Points Survey is available free for download at http://www.accurev.com/whitepaper/agile-pain-points-survey.

Here’s what others are saying about the survey:

Application Development Trends

Dr. Dobb’s Journal

We’ll have more insights to share based on what we’ve learned here, including next steps recommendations for organizations faced with these obstacles as well as the toolsets needed to implement and scale Agile.

Yes, You Can! Doing Agile with Remote Teams

July 15th, 2010 by clucca

This past year I’ve attended several Agile conferences, presented at many of our own conferences, and traveled to Agile tradeshows sponsored by some influential industry-leading names. What surprises me most is the variance I see on the answer to this question: How do I do Agile with remote teams?

Some of the pure “Agileistas” will may answer this question in a manner that isn’t very possible for some of us in the real world, with “Don’t do it” or, “Reorg your company.”

I don’t’ know what those people expect here- is it possible that you can convince your management organization to tear down its office walls, move entire teams from across the country into one office space, just because you heard it at a conference that it was going to be really hard to do Agile remotely?

I certainly don’t believe that doing Agile with remote teams is a bad practice, nor do I believe that it’s impossible. Challenging? Yes it is. Easy to mess up? You bet. But there are some simple things you can do to avoid some of the pitfalls of remote organizations.

Agile with Remote Teams

Use face to face communication methods:

I just got the iPhone 4. It has face to face video chat. I also use Google Talk, and this also has video chat built in. It works great! With all the communication technologies we have now a days, there is no reason to avoid personal contact with remote teams.

If the remote team is a faceless organization, it will become a perceived impediment for the local team if there are problems. They wont’ be treated like part of the team, but more like an outside entity that drops code in and risks messing up the release.  We can bring these teams closer together to encourage communication, and allow them to adapt and respond to each other as issues arrive. Creating a persona and human link turns those faceless “code drops” into real people, people who you can reach out to. This gives the team the power to self manage your priorities, impediments and conflicts.

Create Agile ambassadors

We can even take face-to-face chat on the internet up a level. Sending ambassadors back and forth from the remote teams to home base and vice versa creates a human link that is deeper than any piece of technology canAgile for Remote Teams provide.  The ambassador’s job is to strengthen this link, because if the link is strong, each side will be more inclined to help each other.

Sometimes having a planning session with the remote team doesn’t give them the overall sense of how important the stories you’re working on might be. They may not feel as if it’s important, and that’s because they don’t know all the juicy details that led up to the creation of that story. Having an ambassador at that site gives that team visibility into all of the bits of information that make one user story important. In other words, the ambassador gives the entire back-story to an iteration (IE the gossip) so they can get a sense of how important something is, it’s not just a priority number in the ITS.

Use Tools That Work Globally

With all of the face-time, ambassadors, and communication, it’s essential that teams have a global view of what’s happening during the development cycle. It wouldn’t make much sense to reach out and then not provide a way to extend that communication on the development level.

Agile for Remote Teams

Imagine a team where having access to a user story or a piece of code wasn’t easy and available to them? This handcuffs the team tremendously.

Any remote team will need to be able to:

  • See each others user stories and tasks
  • Enter updates to user stories and tasks
  • Diff baselines and branches
  • Check out code from remote teams
  • Contribute to team discussions and wikis
  • Run continuous integration globally

Use Multi Stage Continuous Integration

Using multistage continuous integration lets people take a look at what’s been built, and if it functions correctly, give it to the other team. Having multi-stage set up gives you a way to integrate early and often, but only deliver changes that are “done”.

One of the main problems with remote development is integration, and it’s a double edge sword for most SCM tools. If you isolate the remote team too much, they won’t integrate often. And when they do integrate to mainline, they may break functionality. The problem with this is that they will not be able to respond to that change for 6-12 hours if your team is in another country. This basically means downtime for everyone.

But with multistage CI and AccuRev you can keep that team isolated and integrated at the same time.

Is it possible to do offshore Agile?

I’m not sure if it’s a question if it’s possible, I don’t think we have a choice. Offshore development is a reality that isn’t going away, and the simple answer of bringing teams together to practice Agile isn’t always variable.  Doing Agile with remote teams isn’t’ a choice, it’s a reality.

Clearcase Multisite Unsynced

June 30th, 2010 by AccuRev

Here is one more AccuRev vs. ClearCase video to share.  And this one is a crowd favorite.

AccuRev vs. ClearCase in ClearCase Multisite Unsynced

Sure, we all know geographically distributed development teams face lots of challenges.  But ClearCase doesn’t provide a simple solution to this problem.  In fact, with ClearCase Multisite Unsynced, teams have trouble syncing up and don’t allow developers to work the the same branches at the same time.

With AccuReplica from AccuRev, all remote teams can work together and on the same code, like one co-located development organization.