In the last post, we presented an example of risks related to software upgrade error. The idea was from this excellent paper: Bug Taxonomies: Use Them to Generate Better Tests [Vijayaraghavan, Kaner]. Today we presented a CIA thinking tool called The Phoenix Checklist. Many thanks to Marcel, who sublimed this great resource on his blog, That’s the buffet table.
The Phoenix Checklist
The Phoenix checklist was developed by the Central Intelligence Agency (CIA) to encourage their agents to look at the problems from many different viewpoints. Replace the CIA with your software development company name and agents with team members (not just software testers), and you can see how this checklist could help you.
There are two sets of questions:
The Problem Set
The problem set helps you to identify, clarify, and prioritize the problems.
The Plan Set
The Plan Set of questions helps to guide solution planning.
How To Use
Both sets of questions are carefully crafted in the given order because answering the current question does not depend on the following questions. But you should iterate through questions because later answers could help you make the previous better by refactoring them.
Start with The Problem statement. Answer The Problem Set questions in the given order. Make several passes and rework your answers.
The best way is to learn with exercise. Let start with the problem statement:
How Google Page Rank Algorithm Works?
Why is it necessary to solve the problem?
By knowing how the algorithm works, we could put sites as Google search results for a topic of interest.
What benefits will you receive by solving the problem?
We can earn money by putting ads on our sites.
What is the unknown?
Page rank algorithm variables.
What is it you don’t yet understand?
We do not understand how input variables are used to calculate page rank result number one.
What is the information you have?
We have official Google page rank guidelines. This made me refactor the initial problem statement:
How Google Page Rank Algorithm Works? => How to fake a page rank?
What isn’t the problem?
How Google Page Rank Algorithm Works. This is documented by Google.
Is the information sufficient, insufficient, redundant, or contradictory?
There is a lot of information about the Google Page Rank algorithm to catalog. After that, we could make conclusions about data quality.
Should you draw a diagram or a figure of the problem?
Yes! Diagrams and mind maps would definitely help in digesting all the Page Rank information.
Where are the boundaries of the problem?
The boundaries could be a specific set of interest for search topics consisting of keywords.
Can you separate the various parts of the problem? What are the relationships between them? What are the constants?
We can separate the problem into the following categories:
- Meaning of your query
- Relevance of webpages
- Quality of content
- Usability of webpages
- Context and settings
Have you seen this problem before?
Yes. Many games are using ranking systems.
Have you seen this problem in a slightly different form? Do you know a related problem?
In sports simulation games, we have team ranking systems based on gameplay.
Try to think of a familiar problem having the same or a similar unknown.
Suppose you find a problem related to yours that has already been solved. Can you use it? Can you use its method?
There are attempts to fake sports simulation ranking systems. We could use the proposed methods on our Google Page Rank problem.
Can you restate your problem? How many different ways can you restate it? More general? More specific? Can the rules be changed?
How to fake our page Google ranks with feasible infrastructure costs?
What are the best, worst, and most probable cases you can imagine?
The best case would be that problem could be solved without any infrastructure cost. The worst case is the opposite, that only could be solved with infrastructure. The most probable cause is a new and innovative approach to the problem.
It is vital to identify the real problem; this checklist helped me create a better problem statement for Google Page Rank in just 30 minutes. In the next blog, we will continue this exercise to create a plan to solve this problem.