Agile Project Management Techniques and frameworks – L&D – (Section #1 -09042017)

LEARNING AND DEVELOPMENTAGILE PROJECT MANAGEMENT

Shyam Rao

4/9/20175 min read

worm's-eye view photography of concrete building
worm's-eye view photography of concrete building

1. Introduction

Agile management, a agile process management, or simply agile, refers to an iterative, incremental method of managing the design and build activities of engineering, information technology and other business areas that aim to provide new product or service development in a highly flexible and interactive manner. It requires capable individuals from the relevant business, openness to consistent customer input, and management openness to non-hierarchical forms of leadership. Agile can in fact be viewed as a broadening and generalization of the principles of the earlier successful array of Scrum concepts and techniques to more diverse business activities.

Agile also traces its evolution to a "consensus event", the publication of the "Agile Manifesto" in 2001, and it has conceptual links to lean techniques, kaizen, and the Six Sigma area of business ideas. The Agile Manifesto is centered on four values:

  1. Communication with parties is more important than standard procedures and tools.

  2. Focus on delivering a working application and less focus on providing thorough documentation.

  3. Collaborate more with clients.

  4. Be open to changes instead of freezing the scope of the work

Agile techniques may also be called extreme process management. It is a variant of iterative life cycle where deliverables are submitted in stages. The main difference between agile and iterative development is that agile methods complete small portions of the deliverables in each delivery cycle (iteration), while iterative methods evolve the entire set of deliverables over time, completing them near the end of the project. Both iterative and agile methods were developed as a reaction to various obstacles that developed in more sequential forms of project organization. For example, as technology projects grow in complexity, end users tend to have difficulty defining the long-term requirements without being able to view progressive prototypes. Projects that develop in iterations can constantly gather feedback to help refine those requirements.

The end result is a product or project that best meets current customer needs and is delivered with minimal costs, waste, and time, enabling companies to achieve bottom line gains earlier than via traditional approaches.

Agile management also offers a simple framework promoting communication and reflection on past work amongst team members. Teams who were using traditional waterfall planning and adopted the agile way of development typically go through a transformation phase and often take help from agile coaches who help guide the teams through a smooth transformation.

There are typically two styles of agile coaching: push-based and pull-based agile coaching. Agile management approaches have also been employed and adapted within the business and government sectors.

2. What is Agile?

Agile is a project management methodology that uses short development cycles called iterations to focus on continuous improvement in the development of a product or service.

3. Why Agile?

Agile was originally developed for the software industry to streamline and improve the development process in order to more rapidly identify and adjust for issues and defects. As an alternative to the traditional waterfall approach, agile provided a way for developers and teams to ultimately deliver a better product, faster through the short iterative and interactive sessions/iterations. With customer expectations on the rise, keeping ahead of the competition requires finding project leaders who can use best approach methods for project execution.

Agile development methodology provides opportunities to assess the direction of a project throughout the development lifecycle. This is achieved through regular cadences of work, known as iterations or iterations, at the end of which teams must present a potentially shippable product increment. By focusing on the repetition of abbreviated work cycles as well as the functional product they yield, agile methodology is described as “iterative” and “incremental.” In waterfall, development teams only have one chance to get each aspect of a project right. In an agile paradigm, every aspect of development — requirements, design, etc. — is continually revisited throughout the lifecycle. When a team stops and re-evaluates the direction of a project every two weeks, there’s always time to steer it in another direction.

The results of this “inspect-and-adapt” approach to development greatly reduce both development costs and time to market. Because teams can develop software at the same time they’re gathering requirements, the phenomenon known as “analysis paralysis” is less likely to impede a team from making progress. And because a team’s work cycle is limited to two weeks, it gives stakeholders recurring opportunities to calibrate releases for success in the real world. Agile development methodology helps companies build the right product. Instead of committing to market a piece of software that hasn’t even been written yet, agile empowers teams to continuously re plan their release to optimize its value throughout development, allowing them to be as competitive as possible in the marketplace. Development using an agile methodology preserves a product’s critical market relevance and ensures a team’s work doesn’t wind up on a shelf, never released.

4. How long as Agile, been around?

Although Incremental software development methods go as far back as 1957, agile was first discussed in depth in the 1970s by William Royce who published a paper on the development of large software systems.

Later in 2001, the agile manifesto, a "formal proclamation of four key values and 12 principles to guide an iterative and people centric approach to software development," was published by 17 software developers. These developers gathered to discuss lightweight development methods based on their combined experience. These are the 12 key principles that still guide agile project management today.

  1. Customer satisfaction is always the highest priority; achieved through rapid and continuous delivery.

  2. Changing environments are embraced at any stage of the process to provide the customer with a competitive advantage.

  3. A product or service is delivered with higher frequency.

  4. Stakeholders and developers closely collaborate on a daily basis.

  5. All stakeholders and team members remain motivated for optimal project outcomes, while teams are provided with all the necessary tools and support, and trusted to accomplish project goals.

  6. Face-to-face meetings are deemed the most efficient and effective format for project success.

  7. A final working product is the ultimate measure of success.

  8. Sustainable development is accomplished through agile processes whereby development teams and stakeholders are able to maintain a constant and ongoing pace.

  9. Agility is enhanced through a continuous focus on technical excellence and proper design.

  10. Simplicity is an essential element.

  11. Self-organizing teams are most likely to develop the best architectures, designs and meet requirements.

  12. Regular intervals are used by teams to improve efficiency through fining tuning behaviors.

5. Who uses the Agile Methodology?

Although designed originally for the software industry, many industries have now adopted the use of agile in their development of products and services because of the highly collaborative and more efficient nature of the methodology. Agile is also used in industries like marketing and advertising, construction, education and finance.

6. How is Agile used?

The more traditional cumbersome methodologies like waterfall typically require entire project groups to meet and discuss full project goals throughout each phase. Agile, however, uses smaller more focused groups that meet more frequently to discuss very specific goals, making it easier to make rapid changes as required. This allows teams to be more agile, more effective and increases the chances of meeting customer goals successfully, especially as a customer's needs might change. Agile arms teams with a mechanism to rapidly repeat a contained process, isolate problems and achieve specific goals quickly, rather than waiting until the end of a lengthy project phase to find out customer requirements and goals have been missed.