Agile PM Process Grid–3.10 Wideband Delphi


In John Stenbeck’s book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates an “agile project management process grid” which describes 87 processes used in agile project management. These processes are divided into five process groups (Initiate, Plan, Iterate, Control, and Close), which are analogous to the five process groups in traditional project management, and seven knowledge areas which can be mapped, more or less, onto the ten knowledge areas in traditional project management.

The post for today deals with the consensus-based estimating method that is used in agile, but has its origin in the Delphi method that was originally created by the Rand Corporation.

In the original Delphi technique, a question was posed to a group of experts who gave their answers independently.    The answers were revealed, and it was seen whether a consensus developed from those answers or not; if nor, more rounds of the technique were used until such consensus was reached.

The “Wideband Delphi” is where a question is posed to the entire development team, which is where the word “Wideband” comes in.How is “Wideband Delphi” the same as the original Delphi technique, and how is it different?   Well, it is the same in that a question, or series of questions, is posed to a team of people, and each person on that team gives their independent answer to that question.

How is it different?   Well, first of all it is not an outside group of experts, but rather the development team that is being posed the questions.   And the questions involved in this case have to do with estimating the size of a series of user stories.

The team first asks the customer/proxy questions about assumptions, constraints, and risks associated with the project.   Then the team returns to their workspace and each member of the team creates an estimate of all of the user stories.

Again, like the original Delphi technique, the individual estimates are revealed, and then the team can further discuss the range of estimates to see if it can be narrowed.   Sometimes a round of silent voting is done until a consensus estimate is achieved for each user story.

The process concludes when the facilitator composes

  • the list of user stories
  • the consensus estimates for each user story
  • the assumptions for each user story
  • a list of subtasks associated with each user story

and the results are presented to the team and the customer/proxy.

Historically, the “Wideband Delphi” preceded the “Planning Poker” technique which is the subject of the next post.

Agile PM Process Grid–3.8 Estimation and 3.9 Sizing


In John Stenbeck’s book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates an “agile project management process grid” which describes 87 processes used in agile project management. These processes are divided into five process groups (Initiate, Plan, Iterate, Control, and Close), which are analogous to the five process groups in traditional project management, and seven knowledge areas which can be mapped, more or less, onto the ten knowledge areas in traditional project management.

Today’s post discusses both the process 3.7 Estimation and process 3.8 Sizing.   In previous posts I discussed the principles behind these processes,  and in the current post, I want to reiterate John Stenbeck’s explanation of how they address three significant risks related to the estimation process in general.    Planning poker (process 3.11) and the use of Fibonacci numbers were addressed in the last post.

  1. Any group faces the pressure to conform to the group’s worldview; this process is sometimes referred to as group think.   One of the ways Japanese avoid this process is by having the youngest person state their opinion first.    Japanese society respects seniority to a greater degree than American society, in general, and they recognize that if the more senior members of the team were to state their opinion first, there would be a lot of pressure for the younger person to conform to the opinion just stated by their superiors.   This pressure exists in American society, as well, however, although not to such great extent.    A way to reduce the pressure is to have each team member reveal simultaneously his or her vote regarding what size a particular user story should be.   In this way, no one is pressured beforehand to conform to any opinion but their own.
  2. Any group faces the pressure to do things the way they have always been done.    A person who argues from this standpoint is said to be anchoring his or her opinion.   The problem with an anchor, of course, is that a boat cannot move anywhere while the anchor is deployed.   So after a person gives a vote for the size of a particular user story, he or she is expected to justify that decision within the context of the project itself and not to justify it by reference to previous projects.
  3. Any group faces the pressure to defer to experts, those that have experience within a certain field of expertise.   However, many of the biggest breakthroughs come from non-experts because they are viewing the situation with fresh eyes.    The so-called experts may have just absorbed the “received wisdom” which is based on assumptions that may end up not being true after all.   Thus each member votes on the size of every story, and not just those within their particular field of expertise.   This is the way to get ideas that challenge the status quo.
The Planning Poker process 3.11, which asks a team of people to size user stories in a way that allows each team member to voice his or her opinion, is a powerful process.   If you need experts, one way to duplicate the power of this estimating method is to use a process called 3.10 Wideband Delphi, which is the subject of the next process.

Agile PM Process Grid–3.9 Sizing (2)


In John Stenbeck’s book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates an “agile project management process grid” which describes 87 processes used in agile project management.   These processes are divided into five process groups (Initiate, Plan, Iterate, Control, and Close), which are analogous to the five process groups in traditional project management, and seven knowledge areas which can be mapped, more or less, onto the ten knowledge areas in traditional project management.

Today’s post is about the process 3.9 Sizing, which is part of the Adaptive Planning knowledge area.   When sorting out the various user stories that the development team is working on, there are two dimensions to be aware of.   The first dimension is that of “priority”, and the process of sorting out user stories based on priority is process 1.7 Prioritization.   The second dimension is that of “size”, and the process of sorting out user stories based on “size” is this process 3.9 Sizing.

I talked about this process in the last post, and wanted to continue the discussion in this post with an introduction to “planning poker.”   Let’s say that you have created a set of user stories, and your next task is to “size” them, that is, to define the relative development effort required to complete each story.

Planning poker is a process which can help in this sizing effort.   Before explaining the process, a preliminary explanation of the Fibonacci sequence is needed.

This is a sequence generated by taking the pair of numbers 1 and 1 and adding them to make 2.  Then the last of the pair, 1, is added to the sum, 2, to get the next number in the sequence, or 3.   Then 2 and 3 are added to make 5, 3 and 5 are added to make 8, 5 and 8 are added to make 13, etc.

Although this is desca0 ribed as a mathematical sequence, as Pythagoras would say, “all is based on number,” and the Fibonacci sequence appears in nature in forms such as spirals or fractals (shapes that show self-similarity at varying scales, such as clouds, leaves, mountains, etc.).   It is because they are found in nature, and the fact that man often imitates nature in art, that these numbers inform the architecture of civilizations as diverse as the ancient Greeks to modern-day Africa.   Why are they used in agile?   Because they form a very human, intuitive way of comparing various quantities.

Now with that introduction to Fibonacci numbers out of the way, let me explain how Planning Poker works.  Out of all the user stories, the team chooses a story that approximates a midpoint, and this is called a “medium” size user story, and assigned a numeric value of 8 story points.  Then the remainder of the stories are estimated using Fibonacci sequence numbers such as 1, 2, 3, or 5 for smaller stories, and 13 or 21 for larger stories.   Each player has a deck of numbers with Fibonacci sequence numbers on it, and gets a vote for each user story.    The votes are revealed, and discussion and re-voting as necessary are done until there is a team consensus on the size of each story.

In the next post, I will discuss how the three elements of a cross-functional team, planning poker, and Fibonacci numbers can help reduce three significant risks associated with estimating and sizing (processes 3.8 and 3.9).

Agile PM Process Grid–3.9 Sizing


In John Stenbeck’s book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates an “agile project management process grid” which describes 87 processes used in agile project management.   These processes are divided into five process groups (Initiate, Plan, Iterate, Control, and Close), which are analogous to the five process groups in traditional project management, and seven knowledge areas which can be mapped, more or less, onto the ten knowledge areas in traditional project management.

Today’s post is about the process 3.9 Sizing, which is part of the Adaptive Planning knowledge area.   When sorting out the various user stories that the development team is working on, there are two dimensions to be aware of.   The first dimension is that of “priority”, and the process of sorting out user stories based on priority is process 1.7 Prioritization.   The second dimension is that of “size”, and the process of sorting out user stories based on “size” is this process 3.9 Sizing.

First of all, what is “sizing”?   It is an agile estimating technique used to define the relative development effort required to complete user stories.   The word “relative” is important:   rather than saying “user story #5 will take five weeks”, you might say “user story #5 is a Medium user story,” if you use the sizing convention that is analogous to clothing sizes, namely, S, M, L, XL.

Here are the three units of measure a story’s size is usually specified with:

  1. Ideal days–the work time required to complete an activity assuming there are no interruptions so that work can be completed with 100 efficiency.   The problem with using this absolute measure of work time is that different team members have different work experience, skills, and approaches to the work, so coming up with a “typical” or “average” speed for the team is difficult.
  2. Actual days–the work time required to complete an activity assuming typical interruptions in the workplace that reduce efficiency from the theoretical 100% used to estimate “ideal days.”  Although this would seem to be an improvement on the “ideal days” measure, cataloguing all of the factors that reduce ideal days to actual days is difficulty, and prevent “actual days” from being a useful measure.
  3. Story points–as opposed to the more “absolute” time estimates discussed in the two paragraphs above, “story points” are units of measure used to quantify the work effort and complexity required to develop a particular user story relative to other user stories.   They provide a relatively quick, high-level indicator of how difficult the development of any particular user story will be.
To go into how the sizing process works with story points, I will have to discuss the “planning poker” tool and the Fibonacci sequence of numbers.   This I will do in the next post.

Multilingual Learning Plan for 2016


I’ve been enthused about language learning all my life, but my discovery of Benny Lewis and his multilingual abilities at his website fluentin3months.com has really inspired me to expand my fluency in several languages.   I started a premium-level subscription to his site last year to gain tips and tricks for how to become more fluent in the languages I’ve studied.   I updated to his 2.0 version of his premium-level subscription in November, and the great content just got better.

1.  Keeping Your New Year’s Resolution

One of the things he encourages those members of his community to do is to set out a plan on how they want to tackle a new language in the coming year.   See his post on keeping a New Year’s Resolution with regards to learning a new language (or improving your fluency in one you already know).

How to Make a New Year’s Resolution and Actually Keep It

His main tips are:

  1. Create goals that are specific and measurable
  2. Allow yourself to feel a sense of accomplishment and progress
  3. Know your limitations and don’t let setbacks derail your momentum
  4. Use tools to track your progress

These tips are good for any goal, not just ones having to do with learning languages, by the way.

2.  How to create specific and measurable language goals.

One way to measure your specific fluency level is to use the Common European Framework of Reference for Languages.  There are six fluency levels, with A1, A2 being the levels needed to survive in a country, B1, B2 being the levels needed to live in a country, and C1, C2 being the levels needed to thrive in a country.

This framework has been influential worldwide because China’s proficiency exams have been changed to conform to this framework.

Level Explanation
A1 Beginner Can introduce oneself and understand familiar everyday expressions.
A2 Elementary Can describe oneself and communicate about one’s immediate environment.
B1 Intermediate Can talk about past and future events and about most situations encountered at work or school.
B2 Upper Intermediate Can communicate about simple ideas and concepts in a way that is generally understood.
C1 Advanced Can communicate about complex ideas and concepts in a way that is easily understood.
C2 Fluent Can summarize complex idea and concepts and create coherent presentations.

So when you start to learn a new language, your first goal should be to reach the “A1” level.   Once you’ve achieved that, you can go on to A2, etc.   The rough rule of thumb is that is takes twice as much time to go to each higher level than the one before.   How much time it takes to go up any particular level depends on a) your consistency, b) the difficulty of the language, usually measured by how far it is on the linguistic “tree” of languages from your own (so Chinese takes three times as much time per level as Spanish for an English speaker).

3.  My Multilingual Plan

Last year around this time I put together a “multilingual plan for 2014.”   Today I put forward my new plan for 2016.

Last year, I put down what my plan was for each language, but this year I’m doing things differently.   I’m listening the language app, and then what languages I’m studying on it.

a.  Duolingo

I’m using Duolingo to study various languages.   I have languages that are on …

  • high rotation (once a day):  Spanish, French, German, Italian, Portuguese
  • medium rotation (twice a week):   Dutch, Danish, Irish, Swedish, Turkish
  • low rotation (once a week):   Norwegian, Ukrainian, Esperanto, Russian, Polish

For each language, I practice two skills which gives me 20 experience points (10 for each skill).   For the high rotation languages, my goal is to finish the entire skill tree by the end of the year.   This puts you at around B2 level fluency, and after that you go to the translation skill tree, which I first want to try with Spanish.

b.  Memrise

The problem about Duolingo is that it doesn’t really handle languages very well that don’t use the Latin-based alphabet.   So for Mandarin Chinese, Japanese, and Korean, I use this app once a day.

c.  Foreign Service Institute, Defense Language Institute

Duolingo helps with vocabulary, and understanding individual utterances, but doesn’t help you memorize vocabulary patterns or gain fluency in conversation.   For this I use the courses on Foreign Service Institute for the same courses that are in high rotation on Duolingo, namely, Spanish, French, German, Italian, and Portuguese.    These I end up listening to about twice a week.

For Arabic, I had to turn to the Defense Language Institute recordings, because they not only have the general Modern Standard Arabic (MSA), but the Egyptian and Syrian dialects as well.

d.  Rosetta Stone

I’m using this to study Arabic (MSA), because at the end of every other lesson you can have a 30-minute session with a native speaker to monitor your progress.

e.  TBD

This year, I plan on taking the HSK (Hanyu Shuiping Kaoshi) test for Mandarin Chinese.   I have passed it at the B1 level and am working towards the B2 level.   I think I will need to get a Chinese tutor for this, and I’m looking into various services that I can use.

How do I study all these languages at the same time?   Well, I’m passionate about learning languages, and your mind is always creative in the ways it can find time for something you are passionate about!

  1. I subscribe to the List app, which helps you create and maintain daily habits through the power of social media.    This helps you create a consistent practice:   even if you study for only 5 minutes every day, this is better than studying 30 minutes every week!   Benny Lewis recommends Memrise, which I now use on a regular basis.
  2. I listen to foreign language recordings while driving, in particular my language recordings from the FSI courses mentioned above.
  3. I listen to language recordings while doing housework.  It takes away the drudgery of routine physical tasks by listening to foreign languages while doing it.   You’ll reorder your brain while putting order into your environment. 
  4. Finally, the proof of language learning is in the speaking, and I plan to find incorporate the learning of foreign languages through Benny Lewis’ Conversation Partners and through professional teachers at Italki.    

These are some creative ways I try to use my time so that I can do something as audacious as to follow Benny Lewis’ lead, whom I mentioned at the beginning of the post.   My goal is to gradually move up in all of the languages I’ve already studied, while using Duolingo to introduce myself to new languages at the very basic level.    Learning languages exercises the brain, and it provides you with a unique form of empathy towards the various cultures of the world.   Let’s see how far I can go in 2016!

Goals for 2016


Every year, I spend the New Year’s holiday planning for the coming year.   Of course, this represents what I have in store for the New Year.   What the New Year has in store for me, well, that only time will tell.

Here’s the procedure I use for my goal setting.   I take 12 areas of my life which I arrange in sequence based on the Maslow hierarchy of needs.   The five levels of the hierarchy are

  • Physiological needs
  • Safety/security needs
  • Social needs
  • Esteem needs
  • Self-actualization needs

which I have translated into the 12 areas as follows.

  1.  Health
  2. Organization
  3. Finance
  4. Work
  5. Family/friends
  6. Networking
  7. Religion/spirituality
  8. Toastmasters
  9. Professional Development
  10. Reading
  11. Language study
  12. Games

Here are my goals for 2016 in each area, to give you an example of what my planning journal has.

  1. Health–lose 10 pounds; go from Bryan Kest Power Yoga Beginner, Intermediate, up to Advanced Level; go from Scott Cole Discover Tai Chi Beginner Level to Fitness Level; Men’s Health Spartacus Workout from one circuit to three
  2. Organization–Complete 7 Habits of Highly Effective People workout, David Allen’s Getting Things Done With Work Life Balance program, Brian Tracy’s Ultimate Goals Program
  3. Finance–Go from part-time to full-time work
  4. Work–Get the following certifications:  Certified Scrum Master, Six Sigma Green Belt, Project Management Professional; complete one-year term as Director of Executive Council; complete Leadership Forum 2016 Project
  5. Family/friends–Visit brother in California
  6. Networking–go from 600,000 to 750,000 views on WordPress blog; incorporate Twitter into social media routine; revise LinkedIn profile and groups
  7. Religion/spirituality–go from being Board Member to Vice President of Board at church
  8. Toastmasters–become Distinguished Toastmaster; complete last six months as Asst. Division Director and start first six months as Division Director for District 30 South Division and aim at Distinguished Division award
  9. Professional Development–complete review of Agile Project Management textbook on WordPress
  10. Reading–read Best Science Fiction of 2016 short stories, read at least 12 novels listed in Best Science Fiction of 2015
  11. Languages–Get the following certifications:   Mandarin Chinese (Hanyu Shuiping Kaoshi) level B2, French (Diplome Approfondi de Langue Francaise); complete Rosetta Stone Arabic level 3; complete at least 300-day streak on Duolingo
  12. Games–complete Civilization:  Beyond Earth at first three levels of difficulty

These goals are specific enough that they are meaningful, in that I will be able to tell a definite “yes” or “no” to whether I have accomplished them.  I will revisit this blog post on January 1, 2017 to see how I have done!

 

 

Blogging 2015 in review


The WordPress.com stats helper monkeys prepared a 2015 annual report for this blog.

Here’s an excerpt:

The Louvre Museum has 8.5 million visitors per year. This blog was viewed about 290,000 times in 2015. If it were an exhibit at the Louvre Museum, it would take about 12 days for that many people to see it.

Click here to see the complete report.

There were 17 pictures uploaded, taking up a total of 319 KB. That’s about a picture per month.

The busiest day of the year was November 3rd with 1,427 views. The most popular post that day was Time Management—Formulas relating to PERT analysis.

I am about 1/3 of the way through my project of going through the Agile PM Process Grid, which is the equivalent in size of the project I did in 2012 when I went through the entire Project Management Body of Knowledge, and again in 2013 when I did the same thing for the PMBOK 5th Edition.

I intend to go to WordPress Blogging University to see how I can improve my blog, both in appearance and in terms of content.   My goal is to reach 1,000,000 views and be of help to those who are trying to pass not only the Project Management Professional (PMP) certification exam, but the Agile Certified Practitioner (ACP) exam as well.

 

Agile PM Process Grid–Feature Breakdown Structures


John Stenbeck, in his book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates a grid of all 87 processes used in Agile project methodology.   They are divided into five process groups and 7 knowledge areas.

The past two posts have covered “3.8 Agile Estimating,”  that is, the eighth process in the third knowledge area of “Adaptive Planning”, which just happens to fall in the “Planning” process area.

This post covered a tool used in agile to accommodate                                         the short-term need for stability during the sprint and the long-term need for flexibility outside the sprint.    The tool is FBS, a Feature Breakdown Structure, analogous to the WBS or Work Breakdown Structure used in traditional PM.

The FBS is useful as a tool because it helps:

  1. The prioritizing of the customer/proxy’s business value
  2. Alignment of the customer/proxy and the project team by use of a common lexicon, expressed in the form of user stories and related tasks
  3. Analyze and identify variances between estimates and actuals.
  4. Participatory decision-making, because it helps extract important information in a workable form.
  5. Implementation of sustainable, effective solutions to complex problems that cannot be fully defined in advance.

The next post will cover process 3.9 Sizing, which helps define the relative development effort required to complete stories.

Agile PM Process Grid–3.8 Agile Estimating (2)


John Stenbeck, in his book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates a grid of all 87 processes used in Agile project methodology.   They are divided into five process groups and 7 knowledge areas.

Today I am continuing to cover process 3.7, that is, the seventh process in the third knowledge area of “Adaptive Planning”, which just happens to fall in the “Planning” process area.

In the last post, I talked about general principles behind agile estimating, and I continue that discussion here.   Specifically, I want to talk about the “cone of uncertainty.”    While customers interact with the team, their focus oscillates back and forth as they find the real boundaries of the problem and clarify the solution to it.    So stakeholders need to meaningfully engage with the team in order to move through the “cone of uncertainty” and find the optimal solution.

coneofuncertainty

How does this effect agile estimating?   As the amusing diagram shows above (taken from agilenutshell.com), it’s best not to make promises about how long it will take or how much it will cost to complete a project while the parameters of the solution are still being worked out (the “skull and crossbones” section of the graph).   Only when the solution starts to be relatively well defined can you be in a better position to make promises based on estimates (the “sunshine” section of the graph).

Understanding the cone of uncertainty requires that you understand two dynamic forces which seem to be opposing forces, for those who are new to agile frameworks.   These two forces are:

  1. Organizations need stability–in order to plan the marketing and other business functions that will be affected by the solution being developed.   So the definition of what is being developed needs to be stabilized.
  2. Agile teams need flexibility–in order to define how the solution is developed.

How are these supposedly opposing forces reconciled?

  1. Flexibility is provided with the roadmap (program level) and release plan (project level) timeboxes, as well as product backlog grooming; stability is provided with the iteration timebox (and committed iteration backlog).
  2. Customers need to be able to change their minds about requirements during the project.    Stability in the short term is provided during the sprint, when requirements are not allowed to change, and flexibility in the long term is provided outside the sprint.   The customer/proxy must then be committed to postponing changes until the end of any given iteration.

Another tool related to agile estimating is the Feature Breakdown Structure (FBS), the analogy of the Work Breakdown Structure in traditional PM.   This is discussed in the next post.

Agile PM Process Grid–3.8 Agile Estimating


John Stenbeck, in his book “PMI-ACP and Certified Scrum Professional Exam Prep and Desk Reference”, he creates a grid of all 87 processes used in Agile project methodology.   They are divided into five process groups and 7 knowledge areas.

Today I am covering process 3.7, that is, the seventh process in the third knowledge area of “Adaptive Planning”, which just happens to fall in the “Planning” process area.

This post will cover some general principles related to agile estimating.   One important point that John Stenbeck makes is that estimates are, by definition, inaccurate.    Why?   Because they are usually made based on assumptions, which may change.    However, management needs to know the value of the constraints of time and cost, i.e., “when will the project be done?” and “how much will the project cost?”   There is a fundamental tension between the desire to have accurate estimates and the difficulty in achieving them, which only increases as the complexity of the project increases.  Because there is a general trend nowadays towards projects with higher and higher complexity, that means that the difficulty of achieving accurate estimates is also on the increase.

Besides this fundamental tension mentioned above, there is an additional factors which compounds the problem.   There are two risks involved with, say, a time estimate for any given activity:  the risk that that the duration be under-estimated and the risk that the duration be over-estimated.   However, these risks are usually not equal.   In general, the risk of the time estimate for an activity to be under-estimated is higher than the risk of it being over-estimated.    Maybe this is because estimates are done with a desire to be optimistic and to please management by achieving the project within the shortest duration possible.    (The same risk, of course, occurs with the cost estimate.)

Now, the next point to understand is that estimation involves figuring out how many resources, either of time or cost, are to be devoted to an activity, but the estimating process itself requires the spending of resources.    In agile estimating, the idea is that you should spend resources on estimating in direct proportion to the accuracy they provide, which is a measure of how much value the estimate has for those planning the project.

So if the probable accuracy of an estimate is low, then one should minimize the resources spent on that.   On the other hand, if the probable accuracy of an estimate is higher, then one can invest more resources in producing that estimate.

In the next post, I will discuss the cone of uncertainty, another important principle behind agile estimating.