Wednesday, May 15, 2019

Book Excerpt: I Want To Be An ACP, 2nd Edition - Agile Principles and Mindset



This post is in continuation of the earlier post on the availability of new PMI-ACP Exam Prep book: 
Book for PMI-ACP Exam Prep: I Want To Be An ACP, 2nd Edition 

The excerpt is from Chapter – 2: Agile Principles and Mindset. 



*********


Agile Principles and Mindset is a new domain since the PMI-ACP examination changed in 2015. Note the wordings in the domain’s name: it is about principles and also mindset. Principles are like natural laws such as gravity, daily sunrise. They don’t change. Rather, practices underlying the principles change, e.g., waking up before sunrise or after sunrise. 
Next is mindset, which informs about a way of thinking, an established set of beliefs and attitude. For example, it may be your belief that waking up early makes your day’s work better. It may be true for you, your group or community, but may not necessarily hold good for another person or another group’s way of thinking and working. 

As mentioned in the earlier quote, you as an Agile Practitioner, should strive to be agile, i.e., follow the values, principles for Agile development and develop the needed mindset for it. 

In fact, an agile mindset is defined by the 4 agile values, guided by 12 agile principles and enabled by many practices such as servant leadership, iterative and incremental development etc. This is represented in the below diagram [9].



We will see about these 4 agile values and 12 agile principles shortly. These values and principles are described in the “agile manifesto”. Also, we will discuss various agile practices, as we proceed. Don’t get confused between the values such as human values like honesty, trustworthiness, integrity with agile values. Rather, here values mean certain core beliefs which agile practitioners came up with in 2001 after continuous practice. These values are basically “a set of understanding”. Combining them, you can say:
  • Agile Mindset: A way of thinking and behaving by the 4 values and 12 principles of agile manifesto.
  • Agile Values: A set of 4 core beliefs or understanding as documented in the agile manifesto.
  • Agile Principles: A set of 12 principles for agile delivery, which are also documented in the agile manifesto.
  • Agile Practices: A number of practices that agile practitioner use while doing agile delivery. 

The key concept behind this domain as per the ECO is this:
“Understand and apply the agile principles and mindsets within the project team and organization.”

This domain has no sub-domains. It consists of 9 individual tasks. 


What exactly are the tasks in this domain? The tasks, in simplified terms, are:
  1. Advocate for agile values and principles and develop an agile mindset.
  2. Ensure understanding of agile values and principles as well agile practices and terminologies.
  3. Support agile related change at the organization and system level.
  4. Practice visualization with information radiators.
  5. Ensure a safe and trusting environment.
  6. Enhance creativity by experimentation
  7. Share knowledge by collaboration and co-operation.
  8. Encourage emergent leadership, self-organization and empowerment.
  9. Practice servant leadership.

Following notations have been used in this chapter. 



2.1. Mapping with T&T and K&S
As earlier noted in “Introduction” chapter, every domain is sitting on top of a number of tools and techniques (T&T) as well as knowledge and skills (K&S). This domain does that too. It doesn’t have any subdomains, but has 9 tasks, which are sitting on multiple T&Ts and K&Ss. 


In this chapter, we will discuss the following T&T and K&S related to this domain. 




2.2. The Agile Approach
Many people confuse what the word “Agile” actually means, i.e., is it an approach or framework or methodology or practice or tool/technique? PMI’s Agile Practice guide uses the team “Agile Approach”, which is an umbrella term that covers a variety of agile frameworks and methods, e.g., Scrum, Kanban, Lean etc. Any framework or method that follows agile values and principles will fall under this umbrella term of “Agile Approach”.

To understand agile approach, we need to first understand what are project life cycles (and projects) are. Because, at the end of the day, agile approaches will be used in the project life cycle. 

2.2.1 Project Life Cycles
Projects are undertaken by an organization to create products or services or even results. The Project Management Institute (PMI) in the Project Management Body of Knowledge (PMBOK) guide defines project as below [9]. 

“A project is a temporary endeavor to create a unique product or service or result”.

There are many life cycles to project as per PMI’s Agile Practice Guide [9]. After all, a project will go through a set of stages to deliver a product. PMI defines a project life cycle as below. 

"The process through which a product is imagined, created, and put into use."

Every project will have a life cycle associated with it. At the end of a project’s life cycle, a product will be created.  There are four types of life cycles defined.
  • Predictive Life Cycle
  • Iterative Life Cycle
  • Incremental Life Cycle
  • Adaptive Life Cycle

2.2.1.1 Predictive Life Cycle
This life cycle is also known as “Plan Driven,” “Fully Plan Driven,” or as the “Waterfall Model.” The later term has been used in the last century mostly to refer to software development. The scope is known early in the life cycle, and you know exactly what the time needed and cost requirements are to deliver. In summary, this life cycle is used when the product to be delivered is well-understood.

In many projects; however, requirements and scope are rarely known in detail before the project begins. As details and finalized scope is not known in advance, you can’t have the time and cost known in detail either. And so, this leads to another life cycle – the iterative life cycle.


2.2.1.2 Iterative Life Cycle
Here, you deliver in iterations by progressively refining the product every step of the way. The concept of progressive elaboration fits in here. Progressive elaboration is basically an iterative process of increasing the level of detail as greater amounts of information becomes available.

Both the product containing unclear requirements and the plan having unclear estimates are progressively elaborated. The product is developed over a series of iterations – hence the name iterative. The detailed scope for the current iteration is only known at the beginning of the iteration. You incorporate the feedback from previous iterations into the subsequent iterations.

2.2.1.3 Incremental Life Cycle
In some projects, there can be complexities with respect to technology or the platform being used. Now, this is different from low agreement or lack of clarity on requirements. This is the case where the customer wants to have the deliverables quickly. 

Also, many times, it’s not important how well-refined your product is or how beautifully it’s done. Rather, the focus is on speed of delivery. In such cases, you can use the incremental life cycle.  Here, the delivery that you give to the customer can be immediately used and/or the product increment is potentially shippable

2.2.1.4 Adaptive/Agile Life Cycle
Our next cycle is the adaptive life cycle. It is also known as the Agile life cycle. Agile development is both iterative and incremental (or I&I), i.e., the work item is refined at the end of every iteration (iterative) and also delivered at the end of every iteration (incremental). 
. . .
. . .

*********

This section is further explained in the book with: 
  • What are the characteristics of these life cycles?
  • How uncertainties and complexities are considered via Stacey's diagram?
  • How agile makes a paradigm shift in management thinking?
  • Why agile delivers value early (single release vs multi-release economics)?
  • What are empiricism, empirical process and empirical process control?

It is further followed by Agile Values and Principles, Agile Project Management (APM), APM Framework, Information Radiators, Leadership types and styles in Agile, Various team based methods in Agile such as Scrum, XP, Kanban, DSDM, FDD, ASD etc and various scaling approaches such as Lean, SAFe, LeSS, DA, ES etc. Some of these can be seen from the partial index of the book.


No comments:

Post a Comment

Sign- or Log-in and put your name while asking queries in comments. Any comment is welcome - comments, review or criticism. But off-topic, abusive, defamatory comments will be moderated or may be removed.