Distributed Multi-Source Development


benefit from the combined characteristics of Agile methods and Open Source: both are modular and fast. Agile breaks the workflow up into digestible tasks. Open source optimizes code access and transparency. In addition, the best open source projects are also component-based and geared for community access and re-use by others.

And finally, both Agile and open source are collaborative, providing all stakeholders with an opportunity to communicate throughout the lifecycle.

Enterprise Barriers to Agile ALM in the Cloud: What are the challenges?

Many traditional workgroup SCM tools do not support Agile team-based development, which is driving project teams to transition to SCM tools which can support all types of development methods.As development teams transition to Agile, for example, they may begin using Subversion and other open source revision control systems, in addition to traditional SCMs.

Another challenge is the use of tools optimized for workgroups and not the enterprise.Today, Agile teams can quickly get up and running using a loose combination of easily-available tools and architectures combining home grown, open source, and vendor-supplied point tools.Unfortunately, this results in incompatible databases and data formats, inconsistent processes and tool configurations, and the need for costly ongoing support – rendering leverage and re-use by other project teams tools very difficult.

Also, a lack of enterprise collaboration, a result of distributed teams and incompatible tool stacks and processes, results in limited visibility, hinders IP and code governance, and creates an inability to implement common processes to improve a company's development efficiency across the organization.

Because of these organizational and technical barriers to Agile ALM and multi-source management, the software development industry is driving towards enterprise solutions that support a range of development processes and technologies, and also support integration for tools unique to specific development processes.

An Agile ALM solution needs to scale from the workgroup to the enterprise to enable global development and re-use.This connected and common platform allows development to scale from ten to tens of thousands of users, both inside and external to a company, and provides access to the best developers in the world, regardless of location.

With a connected community, companies can implement leveraged IP re-use strategies as well as common development processes to improve development efficiency and innovation throughout the organization.

In addition, a centralized architecture enables organizational governance in the form of project and content access rights, e.g. in the oversight and re-use of source code IP.

The benefits of distributed Agile development are significant. As an example, according to a survey of CollabNet hosted customers, cloud-based ALM solutions can be implemented at 20 percent of the cost of other solutions (including the reduction in tool licensing, ongoing support, infrastructure, and admin personnel.) These solutions have been shown to yield 10-75 percent design cycle reductions depending upon the amount of re-use and leverage across the organization, which leads to acceleratedinnovation and revenue generation.

Integrating Scrum with Distributed ALM

Implementing Agile practices to manage distributed teams with multiple code sources is possible today. Let’s look at a couple of examples.

Profiled by CollabNet in a case study, the first company is a leading Information systems provider selling into a highly regulated industry. Because this firm’s market is regulated, there are strict governance issues around the use of IP and the implementation of any changes to the ISV’s software. Regulatory issues were compounded by a set of hodgepodge tools and processes used by development teams which weakened management’s ability to assure compliance. In addition, development cycles were taking over two years because the firm struggled to tie the needs of the market to its various distributed development teams.The company

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.