APPROPRIATENESS OF LEAN-AGILE SOFTWARE DEVELOPMENT METHODS

APPROPRIATENESS OF LEAN-AGILE SOFTWARE DEVELOPMENT METHODS

Lean-Agile Software Development (LASD) methods are built upon a common set of Lean and Agile principles. The term Agile can be defined as “having a quick resourceful and adaptable character, or marked by ready ability to move with quick easy grace”, whereas Lean can be defined as “thin and healthy, or containing little or no fat”. Following these definitions, we can comfortably deduce that someone who is lean and someone who is agile could have many shared characteristics. This analogy has been transferred to software development - thus LASD methodology.

A very important facet of software development is that it is incremental and iterative. Increment delivers a usable version of Information System (IS) and successive increments add new features. On the other hand, iteration enhances and extends existing features, sometimes without adding any new functionality.

With this perspective in mind, one distinction between Waterfall and Lean-Agile is that the Waterfall approach delivers in large increments with limited iteration, whereas the Lean-Agile approach delivers in small increments with significant iteration throughout the lifecycle. The purpose of Lean-Agile is to deliver quality applications efficiently and effectively to the end-users.

The question of whether LASD approach is appropriate in all situations can be put into context by considering the nature of projects and solutions; developed vs developing countries; startups vs large corporations etc. With this consideration in mind, it is worth noting that the evolution of software development life cycles is driven by the perennial quest on how to organize projects for better productivity and better quality.

The traditional software development projects, which followed well-defined plans and detailed documentations, were unable to meet the dynamism, unpredictability, and changing conditions that characterize a rapidly changing business environment. Lean-Agile methods overcame these limits by considering that requirements are not static but dynamic, while customers are unable to definitively state their needs upfront.

However, the advent of lean-agile methods divided the software engineering community into opposing camps of traditionalists and agilists. After more than a decade of debate and experimental studies, a majority consensus has emerged that each method has its strengths as well as limitations, and is appropriate for specific types of projects, while numerous organizations have evolved towards the best balance of lean-agile and plan-driven methods that fits their situation.

Although LASD can empower organizations to deliver software solutions better and faster, its adoption cannot guarantee the success of the project. In this regard, a lot of things come to play. These include organization culture, availability of leadership to steer its implementation, size of the project, size of the organization, etc. Therefore, these factors should be clearly evaluated to understand whether advantages of LASD outweigh the challenges before settling on using it.


To view or add a comment, sign in

More articles by Vincent Anyanje PgMP®

Others also viewed

Explore content categories