Key Practices for Agile ALM for Improving Productivity

We have been talking about Agile ALM for quite some time now. Of course we believe that the Agile ALM will become a requisite for accelerated application delivery coupled with superior software development quality. In fact, the future of application development or software engineering holds a strong case for hosted Agile ALM.

The few crucial technology trends have changed the needs of the businesses. It is a pressing need for the businesses to be able to adapt to the market changes and deliver faster to stay ahead of competition. Hence they need to build a capacity to switch to new software and place processes at a faster pace. This creates a demand for developers of the vendors or in-house teams to be more productive. This increased developer productivity can be achieved only when it is supported by appropriate processes and tools.

All these reasons not only make it necessary to use ALM by all types of businesses, it requires vendors to integrate Agile methodologies in the ALM tools and adopt some key practices to implement Agile ALM which support people and processes for improving productivity.

Traditional ALM has always enforced pre-defined standardized processes through tools and people had to adopt software development based around the processes and tools. The end result of software delivery would never be what the customer has been looking for. Though the pre-defined processes would concentrate on maintaining certain levels of quality, often it would lead to delayed production and sub-optimal delivery of software to the end-user. But the traditional method of using ALM will not work in the wake of new trends. Organizations which focus on supporting people and processes through Agile ALM will improve productivity and therefore beat the competition.

“]

A Scrum in Rugby union [Image Courtesy: www.en.wikipedia.org

More agility and impromptu strategies to evolve project specific processes is required in software development lifecycle. It is almost similar to the experiences originating from field sports.  The word Scrum (part of Agile methodologies) has actually been derived from Rugby.

Agile methodologies focus on developing processes and supporting people through tools. They focus on continuous delivery of the software so that the end-user feedback is received at early stages and the changes can be incorporated faster. It is important that Agile is combined with ALM to achieve increased developer productivity. A successful roll-out of Agile ALM requires its vendors to equip organizations by incorporating scope for following suggested vital practices. These practices are based on few of our observations and are congregated from the whitepaper – Redefining ALM with five key practices – published by ThoughtWorks Studios:

Evolve Processes

Agile ALM recognizes that the processes for two different software engineering projects cannot be same. Hence Agile ALM tools must be such that they enable the teams to discover and build their processes progressively. The Agile ALM tools must enable the teams to construct possible roll-ups for reviewing and governance which gives them a chance to reflect and improve upon their processes and also incorporate changes at short intervals that may be suggested by the stakeholders. This flexibility for continuous improvement is essential in Agile ALM tools so that the true benefits of Agile ALM are derived by the organizations implementing it.

Incorporate Heterogeneity

The second good thing about Agile ALM is that it appreciates presence of heterogeneity in different projects. For example, if an organization from Life-sciences industry wants to launch a new SaaS CRM product, then development work may happen based on loosely defined requirements. In this case, the team will need to come out with a prototype, only to improve it based on continuous feedback from a focus-group. On the other hand, if the same organization wants a feature enhancement in an existing product, then the team will have to work on very strict defined processes. Therefore, heterogeneity of situations makes it necessary that the Agile ALM tools also embrace heterogeneity so as to let different teams evaluate and build their own processes.

Collaborative Approach to Management

Flexibility to evolve processes under heterogeneous projects also facilitates collaboration among the team members and stakeholders at every stage of the software lifecycle. The collaborative approach of Agile ALM ensures continuous delivery of features weekly or even daily. It makes sure that the end product does not deviate from the requirements laid down by the end-users. Agile ALM tools should facilitate orchestrating of the entire development lifecycle, instead of stiffening the teams with pre-defined processes that come with traditional ALM tools.

What do you think should be a part of best practices for rolling-out Agile ALM in organizations? Please share your thoughts.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 41 other followers