Blog About Caucasus - www.CaucasusNow.com


Cultural Influences on Software Project Management

It is time to make relationship between personal and software development lifecycles cultural issues. It is funny, right? But wait, I am sure, after a while we will include in our resumes lines like, “I am Agile Man” or “I am Plan-Driven Oriented” and it will help company to hire people in right place and position. Why? OK, for first let’s group Software development processes into two big meta-methodologies “Agile” and “Plan-Driven” and describe them;

Agile

In an agile culture, the people feel comfortable and are empowered when there are many degrees of freedom available for them to define and work problems. This is the classic craftsman environment, where each person is expected and trusted to do whatever work is necessary for the success of the project. This includes looking for common or unnoticed tasks and completing them. Examples of Agile processes can be;

  • XP
  • Scrum
  • Etc.

Plan-Driven

In a plan-driven culture, the people feel comfortable and empowered when there are clear policies and procedures that define their role in the enterprise. This is more of a production-line environment where each person’s tasks are well defined. The expectation is that they will accomplish the tasks to specification so that their work products will easily integrate into others’ work products with limited knowledge of what others are actually doing. Examples of Agile processes can be;

  • Waterfall
  • Spiral
  • Etc.

Now let’s shift to the common characteristics of these meta-methodologies;

Agile

  1. Effective interactions
  2. Close collaboration
  3. Successful agile teams learn – or strengthen – interpersonal skills
  4. Give congruent feedback.
  5. Navigate conflict.
  6. Think and decide together.
  7. Frequent interaction and face-to-face communication
  8. Members should
  • Create an opening to give feedback
  • Describe the behavior or result without using labels.
  • State the impact (on you, the feedback giver, or on the team).
  • If necessary, make a request.
  1. Teams need three broad skills:
  • Generating ideas.
  • Narrowing the number of options.
  • Reaching agreement.
  1. Agile requires a very effective team of developers
  2. Team needs to be effective both in the quality of the individuals, and in the way the team blends together
  3. The people are the most important factor in software development
  4. Programmers are Responsible Professionals
  5. Individuals and interactions over processes and tools.
  6. Working software over comprehensive documentation.
  7. Customer collaboration over contract negotiation.
  8. Responding to change over following a plan.

Plan-Driven

  1. Focus on repeatability and predictability
  2. Defined, standardized, and incrementally improving processes
  3. Thorough documentation
  4. A defined software system architecture defined up-front
  5. Detailed plans, workflow, roles, responsibilities, and work product descriptions
  6. Process group containing resources for specialists: process monitoring, controlling, and educating
  7. On-going risk management
  8. Focus on verification and validation
  9. Less-capable people can contribute with low risk
  10. Relies heavily on explicit documented knowledge
  11. Communication tends to be one-way.

OK! So, we have flexible Agile vs. stiff Plan-Driven. Not enough? Let’s see more…

Agile

  • Empirical
  • High degree of exploration
  • Leading edge
  • Goals achievable
  • Details unpredictable
  • Macromanagers
  • Process to people
  • Individual skills

Plan Driven

  • Defined process
  • High degree of predictability
  • Tasks defined in detail
  • Accurate measurements
  • Micromanager
  • People to process

According to one very important person, Geert Hofstede, culture of company or group of people can be described with following values;

  • Power Distance
  • Individualism
  • Masculinity
  • Uncertainty Avoidance
  • Long-term Orientation

Let’s take 3 of them (1st, 2nd and 4th) and match with previously listed characteristics of Agile and Plan-Driven. Now let’s draw diagram and call as a “Cultural Diagram of Meta-Methodologies”.

Cultural Diagram

Now I am going to refresh my memory, what for I am doing this crazy comparisons? Oh, yes; according to this diagram e.g. individual with high sense of individualism will be at least uncomfortable in Plan-Driven project and vice versa. Make sense?

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

One Response to “Cultural Influences on Software Project Management”

  1. Interesting article, Edgar! I would recommend taking a look how process model changes through time: I have noticed that the more we work with a particular customer, the more “agile” is out process model.


Leave a Reply