Agile practices transform the way organisations carry out business and respond to change. But to realise success, an Agile mindset needs to be adopted throughout an organisation. This book gives a comprehensive introduction to Agile principles and methodologies.
agile foundations: principles practices and frameworks
It all starts with Agile development, the cornerstone of Business Agility. The Team and Technical Agility competency describe the critical skills and Lean-Agile principles and practices that high-performing Agile teams and Teams of Agile teams use to create high-quality solutions for their customers. It consists of three dimensions, as illustrated in Figure 4:
The Essential SAFe configuration is the basic building block for all SAFe configurations and is the simplest starting point for implementation. This competency builds on the principles and practices found in the Lean-Agile Leadership, Team and Technical Agility, and the Agile Product Delivery competencies.
Initially derived from Lean manufacturing, the principles and practices of Lean thinking as applied to software, product, and systems development are now deep and extensive [2]. For example, Ward [3], Reinertsen [4], Poppendieck,[5], Leffingwell [6], and others have described aspects of Lean thinking, placing many of the core principles and practices in a product development context. Lean thinking can be summarized as follows [7]:
The principles of flow are an essential part of the Lean-Agile mindset. These include understanding the full Development Value Stream, visualizing and limiting Work in Process (WIP), and reducing batch sizes and managing queue lengths. Additionally, Lean focus on identifying and continuously removing delays and waste (non-value-added activities). One critical move that organizations must address to achieve flow is the shift from a start-stop-start project management process to an agile product management approach aligned to long-lived development value streams.
Lean-Agile leaders advance the adoption of Agile by first gaining in-depth knowledge of Agile principles and then leading by example through incorporating Agile practices into how they perform their responsibilities. They do this through training, self-study, applying what they learn, and discussing breakthroughs and challenges with their peers. Leaders also support their teams as they embrace the Lean-Agile mindset by providing training, by providing coaching, and by being a model for others to follow.
Agile project management is an iterative approach to delivering a project throughout its life cycle, providing innovative solutions in a sustainable manner. This module considers the theoretical perspectives and the application of appropriate principles and techniques with regard to Agile Project Management. The module will consider aspects such as prioritisation and time boxing; controlling an agile project; anticipating and managing risk and building in quality.
Carroll, J. (2015) Agile Project Management with easy steps, (2nd edition), Leamington Spa, WarwickshireGruver, G. (2015) Leading the transformation: applying Agile DevOps principles at scale, (1st edition), PortlandMeasey, P. (2015) Agile foundations: principles, practices and frameworks, (1st edition), Swindon, United Kingdom
A high-level summary of the key terms and principles, based on the above reference text, is available in this glossary of agile terms, which is relevant for the BCS Certificate in Agile 2.0. Reviewing this document would recommended to consolidate the key facts you are likely to need to recall in the exam. For anyone who attended the training course prior to 20 September, 2020, please be aware the exam and syllabus has been updated. If you need any additional support preparing for the exam, please get in touch with your trainer.
Since that time, the original document has been used by groups as disparate as coders to Boy Scout troops, from marketing departments to restaurants. Its universality is derived from a group of agile principles that can be broadly applied, easily learned, and rarely mastered completely. Before spreading to all corners of the globe, here are the key principles for incremental development that have made agile what it is today:
Agile methods, which are often called frameworks, are comprehensive approaches to phases of the DevOps lifecycle:planning, development, delivery, and operations. They prescribe a method for accomplishing work, withclear guidance and principles.
There are at least a dozen agile innovation methodologies, which share values and principles but differ in their emphases. Experts often combine various approaches. Here are three of the most popular forms and the contexts in which each works best.
Large companies typically launch change programs as massive efforts. But the most successful introductions of agile usually start small. They often begin in IT, where software developers are likely to be familiar with the principles. Then agile might spread to another function, with the original practitioners acting as coaches. Each success seems to create a group of passionate evangelists who can hardly wait to tell others in the organization how well agile works.
An agile framework incorporates elements of continuous planning, testing, integration, and other forms of continuous development. Agile frameworks are lightweight compared to traditional development methods, which means that rules and practices are kept to a minimum.
In software development, agile practices (sometimes written "Agile")[1] include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/end user(s),[2] adaptive planning, evolutionary development, early delivery, continual improvement, and flexible responses to changes in requirements, capacity, and understanding of the problems to be solved.[3][4] Popularized in the 2001 Manifesto for Agile Software Development,[5] these values and principles were derived from and underpin a broad range of software development frameworks, including Scrum and Kanban.[6][7]
While there is much anecdotal evidence that adopting agile practices and values improves the effectiveness of software professionals, teams and organizations, the empirical evidence is mixed and hard to find.[8][9][10]
In 2005, a group headed by Cockburn and Highsmith wrote an addendum of project management principles, the PM Declaration of Interdependence,[22] to guide software project management according to agile software development methods.
In 2009, a group working with Martin wrote an extension of software development principles, the Software Craftsmanship Manifesto, to guide agile software development according to professional conduct and mastery.
In 2011, the Agile Alliance created the Guide to Agile Practices (renamed the Agile Glossary in 2016),[23] an evolving open-source compendium of the working definitions of agile practices, terms, and elements, along with interpretations and experience guidelines from the worldwide community of agile practitioners.
Agile software development methods support a broad range of the software development life cycle.[49] Some methods focus on the practices (e.g., XP, pragmatic programming, agile modeling), while some focus on managing the flow of work (e.g., Scrum, Kanban). Some support activities for requirements specification and development (e.g., FDD), while some seek to cover the full development life cycle (e.g., DSDM, RUP).
Agile software development is supported by a number of concrete practices, covering areas like requirements, design, modeling, coding, testing, planning, risk management, process, quality, etc. Some notable agile software development practices include:[50]
Situation-appropriateness should be considered as a distinguishing characteristic between agile methods and more plan-driven software development methods, with agile methods allowing product development teams to adapt working practices according to the needs of individual products.[52][51] Potentially, most agile methods could be suitable for method tailoring,[49] such as DSDM tailored in a CMM context.[53] and XP tailored with the Rule Description Practices (RDP) technique.[54] Not all agile proponents agree, however, with Schwaber noting "that is how we got into trouble in the first place, thinking that the problem was not having a perfect methodology. Efforts [should] center on the changes [needed] in the enterprise".[55] Bas Vodde reinforced this viewpoint, suggesting that unlike traditional, large methodologies that require you to pick and choose elements, Scrum provides the basics on top of which you add additional elements to localize and contextualize its use.[56] Practitioners seldom use system development methods, or agile methods specifically, by the book, often choosing to omit or tailor some of the practices of a method in order to create an in-house method.[57]
The Agility measurement index, amongst others, rates developments against five dimensions of product development (duration, risk, novelty, effort, and interaction).[73] Other techniques are based on measurable goals[74] and one study suggests that velocity can be used as a metric of agility. There are also agile self-assessments to determine whether a team is using agile software development practices (Nokia test,[75] Karlskrona test,[76] 42 points test).[77]
A similar survey, the State of Agile, is conducted every year starting in 2006 with thousands of participants from around the software development community. This tracks trends on the perceived benefits of agility, lessons learned, and good practices. Each survey has reported increasing numbers saying that agile software development helps them deliver software faster; improves their ability to manage changing customer priorities; and increases their productivity.[79] Surveys have also consistently shown better results with agile product development methods compared to classical project management.[80][81] In balance, there are reports that some feel that agile development methods are still too young to enable extensive academic research of their success.[82] 2ff7e9595c
Comments