Agile Project Methods

Incremental and Iterative Project Methods

These are methods that produce increments of the goal and/or product in a series of distinct cycles each one of which is a complete project life cycle. By proceeding incrementally one's learning also proceeds incrementally. In a classic monolithic lifecycle method such as Waterfall one may not get the necessary learning for effective planning until the end of the project. Incremental and iterative methods help teams learn faster and feed that learning back into the planning process sooner.

Where information about the future is in short supply or the requirements are constantly changing we need to use a project strategy that takes that into account. Trying to plan a project beyond the effective knowledge time horizon is often a waste of time. This is why adaptive project methods were developed.

Philosophy

There are a number of philosophical issues that run at the heart of project management. The main philosophical areas are around the limits of our knowledge and how best we can apply the information that we actually have to achieve desired outcomes in a future world. I list key manifestations of these issues below.
  1. PMI: The Project Management Institute
    Many people are under the impression that the PMI is only about Waterfall. This is not true. In fact, the PMI does not advocate Waterfall or any particular project method. In the language of PMI, incremental and iterative development is known as "Rolling Wave Planning". There are several issues that obscure this for most people. PMI focuses on process rather than problem solving. It uses terminology closer to the quality language of predictive manufacturing than the world of new product development. PMI materials (such as the PMBOK) focus more on the role of the project manager. Modern incremental and iterative methods focus more on the team. PMI focuses on the measurement of activities. Modern incremental and iterative methods focus on the delivery of increments of product.
  2. The Agile World
    A very clear statement of the philosophy behind incremental and iterative methods is in the The Agile Manifesto:
    i. "Individuals and interactions over process and tools
    ii. Working product over comprehensive documentation
    iii. Customer collaboration over contract negotiation
    iv. Responding to change over following a plan
    v. That is, while there is value in the items on the right, we value the items on the left more." (See reference 5 below)
  3. Rob's philosophy
    Solving problems is more important than process excellence in new product development.
    Choose the right method for the right problem. There is no one method that solves every problem. The project management culture of a company can have a profound effect on the selection of methods. Sometimes this leads to a good conclusion and at other times leads to the selection of methods incompatible with project success. This is why some companies create "skunk works" and "spin-outs".
Characteristics of Agile Project Management Methods

There are a number of attributes that characterize agile methods. At a very high level all project management methods live on a spectrum that ranges from predictable to adaptable. The placement on this spectrum depends on one's knowledge about the future. The deeper into the future one can confidently predict the longer is one's effective planning time horizon. The agile methods live in the region where one can only make confident predictions on the order of 2-6 weeks. Keep in mind that if there is an element of the project for which you can make accurate predictions about the future it might be worthwhile to keep the planning of that element on a longer time horizon than the less certain elements (especially if they do not have strong dependencies). For example, there are many uncertainties around requirements and performance for software. However, the development of a datacenter not only has greater lead times but many elements of a data center are far more certain from a planning perspective than the requirements of the software that will run in that datacenter. In the extreme case, we can use waterfall when we have highly certain information about the future for the entire length of development. We must use iterative methods, as our effective planning time horizon gets shorter. For example, a very popular agile method in use today (Scrum) has a 30-day planning horizon.
  1. Time boxing for activities: The "triple constraint" is the PMI paradigm. This comprises time, cost/resources, and requirements/quality. However, to reduce planning complexity the time is fixed in most agile methods. This means that the length of an iteration is fixed. For example, in the Scrum method the length of an iteration is 30 days.
  2. Customized Project Artifacts: All agile methods have a legion of artifacts from which to choose. A key aspect of agile methods is that the team chooses which artifacts are important and useful for their project.
  3. Amount of Process Ceremony: Whereas some methods have a great deal of process ceremony others have very little.
  4. Short meetings: The team meets often (at least daily) and most methods strongly recommend co-location of the team, customers, and product owner.
  5. Daily measurement
  6. The Project Manager is hands-on
The Methods

The popular methods and their key attributes.
  1. Scrum:
    Iteration Length: 30 days; Ceremony level: low; Most popular method
  2. XP (Extreme Programming):
    Iteration Length: 1 - 3 week; Ceremony level: low; Designed and used for software projects
  3. Evo (Evolutionary):
    Iteration Length: 1-2 weeks; Ceremony level: medium; One of the first incremental & iterative methods
  4. UP or RUP (Rational Unified Process):
    Iteration Length: 2-6 weeks; Ceremony level: flexible (from low to high depending on how customized); Compatible with software made by Rational (RUP).
Scrum Walk-Through

Since Scrum is the most popular of these methods I present below a very high level view of the Scrum process, roles, and typical artifacts.

Roles

There are three roles directly involved in a Scrum project. They are:
  1. Product Owner: Gets the initial and ongoing funding, develops the initial requirements, and makes sure they are prioritized throughout the project.
  2. Team: Develops the functionality.
  3. Scrum Master: Teaches and coaches everyone involved in the project the Scrum process.
Process Diagram

A Scrum project can actually have many Scrum teams. The flow below is for a simple project with a single Scrum team (click on the image below for a larger diagram).


The process steps:
  1. Sprint Planning Meeting: Updates and prioritizes the product backlog (the requirements) and develops a plan (the Sprint Backlog) for the next Sprint.
  2. Sprint: Sprints are the 30-day time-boxed windows during which the project work is done. Each day during the Sprint a short daily Scrum meeting is held.
  3. Sprint Review Meeting: Demonstrate the increment of functionality that was developed during the Sprint and get feedback from stakeholders.
  4. Sprint Retrospective: This is a review of the methods and artifacts. In essence, it is about finding ways to improve the process for the next iteration based on what the team learned during the previous iteration.
Typical Artifacts
  1. Product Backlog: List of prioritized requirements
  2. Sprint Backlog: The list of activities for the current sprint
  3. Burn Down Chart: Shows the amount of work remaining
Bibliography
  1. Agile & Iterative Development: A Manager's Guide by Craig Larman
  2. Agile Project Management With Scrum by Ken Schwager
  3. Rapid Application Development by Steve McConnell
  4. The Project Management Body of Knowledge (PMBOK) from the Project Management Institute (www.pmi.org)
  5. www.agilealliance.com
  6. www.scrumalliance.org
Copyright 2010 All Rights Reserved Rob Dorfman

What is Identity?

Two babies are born at the same time in the same hospital. The nurse responsible for tagging them is rushed. Without realizing it, he applies the wrong name-bracelet to the wrong baby. The parents only had a moment to look at their babies before they were taken away to be labeled, examined, cleaned, and dressed. In addition, the babies are the same size, have the same hair, eye, and skin color. These babies grow up. They each have valid social security numbers, credit card numbers, driver's licenses, passports, and their families and friends would testify as to who they are. These two people believe their identities are theirs. Yet we know this is not true. Genetic testing would show that they are not the people whose identities they have. Mind boggling as this is, there are rare cases where babies are misidentified. We often refer to this as "babies switched at birth". However, it is more accurate to say that the nurse applied the wrong identities (the name bracelets) to the babies.

Though we say to ourselves "I know who I am", this scenario illustrates that identity and a person are not the same things. This separateness is what leads to misidentification and to identity theft.

There is a great deal of information on identity theft. Although this is one of the great scourges of our time, we pay little attention to what identity actually is. Philosophers, sociologists, and psychologists have studied many of the intangible aspects of identity. Some of these are the origin of the conscious experience, group affiliation, and self-image. In this article, I focus on the question, "What are the concrete and practical aspects of identity that we use every day to facilitate transactions?"

What is Identity?

It is a fact or set of facts that is associated with a particular person. These facts may be standardized, assigned, stored, and regulated by an official body. For example, one of the first forms of identity a baby gets is a name bracelet. This is how hospital staffs can tell one baby from another. In some places, babies are also foot printed. The print is associated with a name. Therefore, if a baby's bracelet fell off the hospital staff can compare the footprint of the baby to the prints in their records and recover the name. Eventually, the baby gets a birth certificate and a social security number. In the United States, these two things are the basis for almost all other forms of identity.

The facts of identity fall into four broad categories: biometrics, assigned numbers, credentials, and relationships. There are biological characteristics that are unique to each individual. Fingerprints and DNA are two common types of physical traits that are different in each person. Biometrics is the name of the methods for measuring these traits. Law enforcement often uses these methods to determine who was at a crime scene or to exclude people as suspects.

The most common type of identity fact is an assigned number. We use these all the time: social security numbers, credit card numbers, account numbers, and usernames and passwords. To get our email we enter our username/password combination. To buy books from Amazon.com we enter our credit card number. To apply for a job or to get credit we provide our social security numbers.

Another very common form of identity fact is the credential. When we buy liquor at the supermarket, the checker asks us to show our driver's licenses. They are state issued credentials. They have our photos, signatures, and dates of birth. A driver's license authorizes us to drive cars. It is a frequently used fact of identity. Other examples of credentials are passports, student ID cards, employee ID cards, supermarket cards, credit cards, insurance ID cards, club affiliation cards, and library cards. We distinguish credentials from assigned numbers by their physicality. They may have watermarks, holograms, lamination, special printing, and other features that allow one to determine their authenticity.

Relationships comprise the fourth category of identity facts. When we call our banks to get our balance the bankers ask us to provide our mother's maiden name, the name of our best friend, or the first school we attended. We only get the balance if we provide the correct answers. The idea behind this type of fact is that only the person with that identity knows those facts because they actually have the relationship indicated.

ID Fundamentals

For a form of identity to work, it must be unique (point to only one person). We cannot use a person's eye color as a form of ID because millions if not billions of people may have that same eye color. In contrast, Social Security numbers are unique. Each number points to only a single person. It is possible, though, that a particular person may have more than one particular form of ID. Some people have two credit card numbers issued by the same company. They may do this to keep their personal and business expenses separated. In this example, one-person points to two ID numbers yet both ID numbers point to the same person. Some forms of ID must be unique in both directions. For example, a person may only have one Social Security number and a Social Security number may only point to one person.

Uniqueness is not enough to insure that an ID points to the correct person. The initial identification of a person must be accurate. For example, hospitals in the US have developed a number of procedures (such as foot printing) to insure accuracy. In addition, entities that issue forms of ID have procedures that limit misidentification. It is a common practice to base one form of ID on another. For example, to get a passport one must provide a birth certificate and a social security number.

The most basic use of ID is to prove that a person is who they claim to be. For example, while on vacation you go to a hotel and claim to be a person who has a reservation. To be sure they provide the room to the correct person the hotel clerk asks to see forms of ID (usually these are confirmation number, credit card, and driver's license). If the credential and the numbers are consistent, the hotel will let you have the room. For this to work, the hotel must trust the issuing authorities (the state that issued the driver's license and the company that issued the credit card). They must have confidence that their processes for identification are accurate, that their credentials are difficult to counterfeit, and that the underlying data in their computer systems are not easily modified or stolen.

Another use of ID is to authorize the use of or access to resources. For example, a bankcard and your password will enable you to withdraw cash from your account using an ATM machine. A gym ID card and driver's license will enable you to use the facilities of your gym. Clearly, the integrity of your ID and the issuer of the identity and its associated processes are essential to protecting one's person and resources.

Areas of Concern

The biggest area of concern with identity is ID theft. What makes this so insidious are that there are many ways to do it and we are not usually aware of when it happens. Until we experience a loss of our resources, we do not recognize that someone else now has one of our forms of ID. A very common example of ID theft is unauthorized use of our credit card numbers. Since this form of ID is a number, a thief can simply memorize or copy it. In practice, we usually use credit card numbers without the support of other forms of ID. However, the support of other forms of ID does not necessarily prevent ID theft. For example, if a thief obtains an official copy of your birth certificate, your social security number, and some other easily obtainable facts about you they can probably obtain just about any other form of your identity.

It would seem like biometric information would be the most secure. However, a very sophisticated ID thief does not have to steal your fingerprints. She can hack into the computer system that stores the relationships between the prints and names and switch the names between the prints. This is similar to what happened in the scenario I gave at the beginning of this article where hospital personnel gave ID name bracelets to the wrong babies.

The issuers of identity make special efforts to protect the information they store. They have experts and special facilities. Since it is easier for ID thieves to steal from us than our credit card companies they usually attack us as the weakest link. This means that the management and security of our identity is in our hands.

Protecting Identity

Although the issuers of ID use a great deal of technology to protect your identity, protecting yourself from ID theft is more a matter of behavior. However, you should have high quality anti-virus, firewall, and security software installed and kept up-to-date on all of your computers. The following behavioral recommendations will help you limit your risk to and help you recover from ID theft.

  1. Periodically check on the usage of each ID. For example, check your credit card statements for usage of your credit card numbers.
  2. For each ID know the contact information of the issuer and their procedure for notifying them in the event of ID theft.
  3. Know how to contact the three major credit information agencies so that you may check your credits reports, fix mistakes, and report ID theft. The agencies are Experian (www.experian.com), Equifax (www.equifax.com), and TransUnion (www. transunion.com).
  4. Know all the places where you store your IDs. This may include your wallet, computer, websites, and businesses. Ask yourself if you really want to keep that information in all those places. Develop a policy on how and where you store and dispose of documents that have your ID information.
  5. Only give your ID to entities that are reputable. This is especially true for the Internet.
  6. Only apply for IDs from reputable companies.
Although limiting your risk to ID theft is straight forward, thieves are always trying to improve their methods. Maintain your vigilance.

Conclusion

Identity is a collection of facts that point to a particular person. It helps us prove we are who we claim to be and to get access to our resources. ID facts come in a variety of forms and sometimes we use several at a time. Birth certificates and Social Security numbers are our most fundamental forms of ID since other forms of ID rely on them. The issuers of ID have experts and special facilities to protect them. However, we must be responsible for protecting our own identities.

Copyright 2009 All Rights Reserved Rob Dorfman

Five Characteristics of Good Project Managers

(1) Integrity
  • This is more than just having clear, honest, and straightforward dealings with their clients/management. It also means being honest and fair with their teams. In addition, a good Project Manager has a high degree of self-awareness especially about their strengths and weaknesses. They can explain how they compensate for their weaknesses
(2) Team Problem Solving
  • A good Project Manager acts more like a mentor/coach rather than a commander/controller. They engage their teams in solving the problems of the project. In effect, the team develops the plan and holds themselves accountable. The good Project Manager provides coaching/mentoring, removes obstacles, protects, and keeps the team focused on the goals.
  • A good Project Manager works with their teams to select the processes, methods, and reporting artifacts they will use during the project. The selection of the lightest weight processes and tools that will work is often the best choice.
  • Good Project Managers understand there are no magic bullets or single processes that solve all problems. For example, there are many project management methods (scrum, extreme programming, evo, unified process, waterfall, critical chain, etc.). They are not universally applicable. The ability to work with a team to select the best method and to customize it for their project is a key successful Project Manager trait.
(3) Communication
  • A good Project Manager has the ability to converse with technical people as well as upper management. They know how to tailor their communication for their audience. They quickly identify the project stakeholders and manage their expectations.
(4) Goal Focus
  • One of the key attributes of a Project Manager is the ability to keep the team focused on the goals. However, it is important for the project manager to also understand the strategy of the company so that they can exploit opportunities as they arise in the context of the project.
  • Project Managers should also be flexible and be adaptable to high rates of change.
(5) Domain and Other Knowledge
  • Although a good Project Manager does not need to have all the expertise of everyone on the team, they do need to be able to discuss the issues of the project. This is the minimum level of domain knowledge necessary. For example, a Project Manager on a drug development project needs to know about FDA drug approval regulations and the drug development process.
  • Since project management is an integrative discipline, a successful project manager also has a number of other skills. At minimum these include: project management, finance, business, technical, social, communication, and leadership skills.
  • Experience with successful and unsuccessful projects.
There are certainly other characteristics but these are the most important.

Five Characteristics That Would Undermine a Project Manager

(1) Lacking Any One of the Five Traits Listed Above
  • I would not hire anyone as a project manager if they lacked any one of the five traits listed above.
(2) Inability to Work With Remote People and/or Teams
  • Although it is ideal for a team to be co-located, it is now quite common to obtain resources where they are available and affordable. Being able to work with remote people who have different cultures and languages is becoming more important for Project Managers.
(3) Inflexibility and Difficulty With Change
  • One of the roles of the Project Manager is to help a team deal with change (changing requirements, environments, personnel, standards, regulations, etc.). Since change happens quite a bit in the real project environment inflexible people would be at a great disadvantage.
(4) Command and Control Mentality
  • Groups of professionals working on teams prefer to participate in the planning process. A Project Manager with a strong command and control mentality is likely to alienate such a team, get lower productivity, and result in a failed project.
(5) Lacks a Sense of Humor or Fun
  • The project environment can be stressful. The ability to make people laugh and teach them though story telling are important leadership traits. Without this the Project Manager will be at a disadvantage and may potentially have teams with morale problems.
Copyright 2009 All Rights Reserved Rob Dorfman

It Isn’t Easy Being Green

Next week, I’m planning to visit my nieces and nephew in New York City. I live in the San Francisco Bay Area. For those not familiar with distances between U.S. cities there are about 3000 miles (4,800 km) between NYC and S.F. I plan to fly there. Previously, I worked out all of my travel arrangements except for getting from my home to San Francisco Airport. I left that task for today.

My main goal was to find a low cost, low impact on the environment, high probability way of getting to the airport on time. Although the politicians claimed credit for interconnecting various public transportation systems between where I live and the airport the reality is a bit different from the claims and explains why people in the area take more expensive less environmentally friendly ways to the airport. I list the options I discovered in the following table. (You may need to scroll to the table. I need to track down this issue in the style sheet).


























































MethodTravel Time (min)Cost ($)On Time ProbabilityEnvironmental Impact
Drive Self140250HighHigh
Friend Drives24020HighHigh
End-2-End Public Transport1609.25LowLow
Friend Drops me at the train on way to work310015.75MediumLow
Cab4080HighHigh
Shared Van8050MediumMedium

1. Cost = $10 Gas + $240 Parking = $250
2. Cost = $10 Gas + $10 Buy friend lunch = $20
3. Cost = $5.75 Public Transport + $10 lunch = $15.75


Although not listed above there is a bus that goes to the airport. However, it had a big disadvantage that made it unusable. Unfortunately, there is a rule that one is not allowed to take luggage on the bus that goes to the airport. Since you may not believe this, here is a link to the page that states the rule: http://www.samtrans.com/pdf/Schedules/Route_KX_04-12-09.pdf. If you scroll down about half way you will see the “luggage restriction”.

I chose to have a friend drop me off at the train station on his way to work. This method has the advantage of having a low environmental impact relative to the other choices, is inexpensive, and although it takes 100 minutes (more than twice as much as driving) it is an hour less in duration then the full public transportation method. Although my friend will help me bypass the buses, I have to transfer between trains twice before getting to the airport. The end-to-end public transportation method has the following steps:

1. Walking 15 minutes to closest bus stop
2. Bus to Light Rail
3. Light Rail to train
4. First transfer
5. Second Transfer
6. Airport

I cannot imagine anyone using this method unless they were truly desperate or a hardcore environmental zealot. If this experience is generally true of public transportation in the U.S. then we are in for some challenges trying to get people to adopt these methods for getting to places.


Copyright 2009 All Rights Reserved Rob Dorfman

A Logic Problem


Given the following equations:

(1) b × c = a + f
(2) a × d = b + c
(3) a × c = b + e
(4) f > e

and a, b, c, d, e, and f are different prime numbers, which one is equal to 2? Give a proof showing why your choice must be 2.


Copyright 2009 All Rights Reserved Rob Dorfman