Posts Tagged ‘automated tests’

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.

How We Manage Continuous Integration 2.0

November 11th, 2008 by AccuRev

I work for a large software company, and we’ve used AccuRev to facilitate using a large scale distributed Continuous Integration model.

AccuRev makes this possible with the Stream approach to managing different codebases.  Developers run builds using the same build scripts used by the core team for production builds that ultimately are packaged and shipped out of Engineering.

These build scripts not only build and package and kit the product, they also run thousands of xUnit tests written to run fast and fail fast.  Developers that encounter failures immediately know where to fix the code to pass the tests.  We also use test driven development.

Each day, developers promote their changes to a task stream.  We use Scrum, so a task stream correlates in most cases to a Scrum team.  This team runs automated builds / tests at their task stream level and when stories are done and accepted and passing, promote the appropriate changes to the integration stream.

The integration stream is built every afternoon, and any test failures run during the build are quickly addressed by the team.  Our Continuous Integration software provides a failure email with the modifications made that day with AccuRev user names.  Developers can then go into AccuRev using the StreamBrowser and the Version Browser and determine the root cause.

Fixes are then promoted back to the integration stream, and the full nightly build in most cases runs successfully.  We fail all integration builds on test failure as we believe in Continuous Integration.

Each week our qa level stream is built and we repeat the same process. Developers handle the promotes, the central release team does not promote code for teams.  As code promotes up the hierarchy from task to integration to qa the frequency of broken builds, due to test errors or compilation, decreases.

This Multi-stage Continuous Integration approach is easy with AccuRev due to stream inheritence.  If you used a branch / merge solution you would need to staff a central team just to manage the commits to source control, and manage code that is “done”.