Home > Articles > Software Development & Management > Agile

  • PrintPrint
  • Share ThisShare This
  • DiscussDiscuss
Close WindowMatt Simons

Matt Simons

Learn more…

Sorry, this author hasn't posted any blogs.

Agile Software Development

Like this article? We recommend
Agile Software Development

Matt Simons presents the case for offshore agile development, describing problems and benefits of agile approaches in this somewhat complicated situation.

How Agile Concepts Make Offshore Easier

So far the picture looks pretty bleak—offshore is wrought with challenges and parts of agile development appear to make offshore even harder to manage. Fortunately, some aspects of agile development directly address and may even eliminate some of the problems posed by offshore.

If practiced with discipline, continuous integration—the process by which developers integrate their code and build the entire system whenever they have made changes—should reduce or even eliminate configuration-management issues. Our teams working in India check code into the same repositories as our U.S. teams. Check-in is preceded and followed by build verification tests (unit tests) as well as automated functionality testing. When a test fails, a build fails, and it's up to the developer who broke the build to fix it—no matter where in the world he or she sits. The value of continuous integration is that it solves small integration headaches immediately instead of trying to solve huge ones at the end of the project. Configuration management of offshore development becomes almost a non-issue.

Most agile methods emphasize the importance of having the people who will perform the work estimate the work. Ideally, agile project plans are built by rolling up the aggregate estimates on a set of features—where the development team has provided the estimates. Even under less than ideal conditions, the project plan for an agile project should at the very least be strongly influenced by the opinions of the development team. A project run by an autocratic project manager who estimates for his or her team is not an agile project. If the project team stays true to the values surrounding project and task estimation, they will certainly reduce the risk of drastic disconnects between customers, project managers, and the development team on projects with an offshore component.

Iterative development with frequent delivery to the customer is a core practice in agile software development, and one that directly addresses one of the major challenges of offshore development—decreased visibility into project status. Frequent deliveries allow project managers, customers, and users to measure project progress by the amount of working software they have received. During a typical "documentation review" on a project, a group of users sitting in a room can be overwhelmed by an avalanche of documentation that doesn't necessarily represent much progress toward delivering a working system. Give that same group of users access to a machine where they can test your last months' worth of effort, and you'd better believe that the project manager, customer management, and everyone else in the company will know at a very great level of detail how much was really accomplished in that month!

  • Share ThisShare This
  • Your Account

Discussions

Links
Posted Feb 20, 2009 03:38 PM by mandersoni
0 Replies
Offshore Agile
Posted Feb 20, 2009 03:37 PM by mandersoni
1 Replies

Make a New Comment

You must log in in order to post a comment.

Related Resources

Danny KalevMinutes from the October 2009 Meeting
By Danny Kalev on November 19, 2009 No Comments

The minutes from the Santa Cruz (October 2009) meeting are available here. Even if you're not a language layer at heart, I encourage you to read them.

Danny KalevA Reader's Opinion on Attributes
By Danny Kalev on October 20, 2009 No Comments

In August I dedicated a series to the debate about C++0x attributes. I believe that it covered the subject in a balanced and detailed way, but I keep getting complaints from C++ users who don't like attributes for various reasons. Here's a recent email I received from a Polish C++ programmer. While it  doesn't represent my opinion about attributes -- I'm rather neutral about this feature and consider it a "solution waiting for a problem" -- but it suggests that attributes are still a highly controversial issue that will haunt C++ for a long time. The email is quoted here with minor edits that and as usual, with all private details removed.

Danny KalevFollowup: The Web 2.0 Guy I Ain't
By Danny Kalev on October 16, 2009 1 Comment

Almost a year ago, I posted here The Web 2.0 Guy I Ain't. People wonder whether I still resist all those Web 2.0 features and technologies at the end of 2009.

See All Related Blogs

Informit Network