venerdì 8 ottobre 2010

Agile Project Management

Di seguito riporto alcuni brani del libro "Agile Project Management" scritto da Jim Highsmith, che sto leggendo...


"Be quick, but don't hurry" John Wooden
In other words, do the right things, but learn how to do them quickly.
Strip away the overhead, the non-value-adding activities.
Agile focuses on speed, mobility and quality.
To accomplish this, individuals and teams must be highly disciplined - but with self-discipline rather than imposed discipline.

Agile methodologies:
alistair.cockburn.us
www.jimhighsmith.com
www.agilealliance.org
www.agileprojectmgt.com


Ultimate customer value is delivered at the point-of-sale, not the point-of-plan.

Just as products need to adapt to marketplace reality over time, so do people and processes. In fact, if we want adaptable products, we must first build adaptable teams - teams whose members are comfortable with change, who view change not as an obstacle to resist but as part and parcel of thriving in a dynamic business environment.

Rather then scope, cost, and schedule, exploration projects should be measured on vision, cost and schedule.

Agility is more attitude than process, more environment that methodology.

Visionary companies distinguish their timeless core values and enduring purpose, which should never change, from their operating practices and business strategies (which should be changing constantly in response to a changing world).

Individuals and interactions over processes and tools
Working products over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

Every project has knows and unknowns, certainties and uncertainties, and therefore every project has to balance planning and changing.

Documentation is not a substitute for interactions.

The formula for success is simple: deliver today, adapt tomorrow.

Ultimately, unique, talented, and skilled individuals - individually and collectively - build products and services. Processes provide guidance and support, and tools improve efficiency, but without the right people who have the right techniques and behavioral skills, all the processes and tools are useful, but when critical decisions must be made, we rely on the knowledge and capabilities of individuals and the team.

Agility is the ability to both create and respond to change in order to profit in a turbulent business environment.

Agility is the ability to balance flexibility and stability.

Creating change disrupts competitors (and the entire market ecosystem); responding to change guards against competitive thrusts.

An adaptive culture that embraces change
Minimal rules that encourage self-organization, combined with the self-discipline to closely adhere to those rules
Intense collaboration and interaction among the project community

Newtonian versus quantum, predictability versus flexibility, optimization versus adaptation, efficiency versus innovation - all these dichotomies reflect fundamentally different way of making sense of the world and how to manage effectively within it.

Individual knowledge, the interactions of knowledgeable team members, and the team's ability to learn and apply new knowledge drive success. Success in the agile context is about people and their interactions, not structure and process. And since people are guided by their value systems - which is why implementing APM (Agile Project Management) will be nearly impossible for some teams and organizations.

When organizations get bigger and administrivia increases, when compliance activities take a larger and larger portion of a team's time, when the communications gap between customers and project team members widens, and when the project management plans focus on the interminable intermediate artifacts, delivering something useful to the customer gets lost.

Many of the ideas of the agile movement first arose within lean manufacturing, which began in the automotive industry in Japan in the 1980s. One of the fundamental tenets of lean manufacturing is the systemic elimination of waste; that is, any activity that doesn't deliver value to the customer. One way to streamline projects (doing fewer things, doing the right things, eliminating bottlenecks) involves differentiating between delivery activities and compliance activities and applying appropriate strategies to each.

"Does this activity help you deliver customer value, or is it overhead?" Unfortunately many managers and process designers don't like the answer they receive.

If you want to innovate, you have to iterate!

Iterative, future-based development can be defined by four keywords: iterative, future-based, timeboxed, and incremental.

Shoe developers build versions of shoes during the development process. Airplane designers use extensive simulations (that are heavily visual) to make sure systems will integrate well before spending hundreds of millions of dollars building the first version of a plane. Automobile desgigners build both full-scale and reduced scale models of new cars. In each of these cases, the developers have support documentation - but the proof is in the actual product.Whether the feature is implemented in a prototype, model or simulation has to do with the cost. Software features can be demonstrated fairly inexpensively and then be easily changed. Building versions of an airplane would be much more expensive, hence the industry's heavy reliance on simulations.

Iterations allow you to manage risk sooner-you don't have to build the whole product to find out if you can meet a particular specification.

Agile organization have less-elaborated process structures, but they tent to follow the ones they have.

Agile developers believe that iterative, emergent design and frequent feedback yield superior designs.

The correct scope to consider for agile projects isn't defined requirements but the articulated product vision.

The saying "The map is not the territory" should be emblazoned on project progress reports, as some measurement often hide real progress. Working product (or simulations and models, in some cases) are the ultimate in reality-based, verifiable, dependable progress measurements.

Most project are overmanaged and underlead. Admiral Grace Hopper once said: "You cannot manage men into battle: you manage things... you lead people." What is the difference between project management and project leadership? Although there is an elusive line between them, the core difference is that management deals with complexity, while leadership deals with change.

Project managers should be both managers and leaders.

Leaders are not leaders because of what they do, but because of who they are. Authoritarian managers use power, often in the form of fear, to get people to do something their way. Leaders depend for the most part on influence rather than power, and influence derives from respect rather than fear. Respect, in turn, is based on qualities such as integrity, ability, fairness, truthfulness - in short, on character.

Leaders, as opposed to managers, encourage change - by creating a vision of future possibilities (which are usually short on details), by interacting with a large network of people to discover new information that will help turn the product vision into reality, and by creating a sense of purpose in the endeavor that will motivate people to work on something outside the norm.

As authors Phillip Hodgson and Randall White (2001) observe: "Leadership is what crosses the frontier between what we did yesterday and what we'll do tomorrow. We'll argue... that the real mark of a leader is confidence with uncertainty - the ability to admit to it and deal with it."

As Dee Hock (1999) so eloquently puts it: "In the Chaordic Age, success will depend less on rote and more on reason; less on the authority of the few and more on the judgment of the many; less on compulsion and more on motivation; less on external control of people and more on internal discipline".

His vision never changed, but his "execution" changed every day based on new information.

It was about creating clever interactions between people.

Innovation cannot be guaranteed by some deterministic process - innovation is the result of an emergent process, one in which the interactions on individuals with creative ideas results in something new and different. Demos, prototypes, simulation, and models are the catalysts for these clever interactions. They constitute the "shared space" (Schrage's term) in which developers, marketers, customers, and managers can have meaningful interactions.
Shared space has 2 requirements: visualization and commonality.
(Commonality means that the prototypes needs to be understood by all parties that have a stake in the development effort.

Year after year IDEO wins more design competitions than any other firm. General manager Tom Kelley outlines the team environment he thinks builds "Hot Teams":
- First, they were totally dedicated to achieving the end result
- Second, they faced down a slightly ridiculous deadline
- Third, the group was irreverent and nonhierarchical
- Fourth, the team was well rounded and respectful of its diversity
- Fifth, they worked in an open, eclectic space optimal for flexibility, group work and brainstorming
- Finally, the group felt empowered to go get whatever else it needed

With less pressure and more encouragement to interact with each other, teams can actually go faster in the long run by slowing down today.

A simple definition of a team is that it has a defined goal, consists on two or more people, and requires coordination among those people.

Products are built by capable, skilled individuals, not by processes. Effective project managers focus on people, product and process, in that order.

The quality of results from any collaborative effort is driven by trust and respect, free flow of information, debate, and active participation - bound together by a participatory decision-making process. When any of these components is missing or ineffective, the quality of the results suffers. In a collaborative team, one of the key leader roles involves facilitating, coaching, cajoling, and influencing the team members to build healthy relationship.

Project managers need to focus on interaction, collaboration, and coordination first and appropriate documentation second, because documentation discourages conversation.

Decision making is the heart and soul of collaboration.

Most team members find these short meetings to be efficient and effective. They eliminate the need for other meetings and help the right people to team up to resolve issues.

The objective of these meetings is coordination, not status review.

A participatory decision-making process has three components: principles, framework, and practices. The fundamental principles have just been alluded to: viewing the process as a win-win process and treating all participants with respect. All collaborative practices are based on trust and respect, or perhaps more precisely, on building trust and respect.

The idea of building trust may seem counter to the earlier statement that managers either trust or don't trust. However, a manager can believe in trusting team members but also understand that the level of trust must be earned through actions. People are predisposed to trust or not trust, but they still want proof of that predisposition.

In many people's minds, consensus has to come to mean "unanimous", and I too was using the unanimous connotation earlier in this section. But consensus has another definition that corresponds to the idea of a preponderance of agreement among participants.

It means that someone might disagree with a decision, but he/she will commit himself/herself to its implementation.

This non-unanimous type of consensus is built on the following premises:

- everyone has had an opportunity to have his or her ideas heard and discussed.
- consensus does not imply unanimous agreement, but it does mean that people understand the decision rationale.
- no one has been silenced due to fear or intimidation.
- the preponderance of the group votes in favor of the decision (or in favor with some reservations)
- no one votes the decision (instead, they disagree and commit).

But how do we get better at decisions unless we understand which ones worked out well and which ones didn't?

A good project manager has to be a visionary, a teacher, a motivator, a facilitator, and other things, but he/she also must be a decision maker.

One of the key tenets of APM is close interaction with product managers and customers. When dealing with uncertainty, risk, fluid requirements changes, and technological frontiers, product managers need to be fully involved in identifying features, specifying feature requirements, determining feature priorities, making key tradeoff decision (cost, schedule, etc.), developing acceptance criteria and tests, and more.

The key to keeping the project moving is very frequent, if not daily, interaction in which the project team receives a constant flow of information and decisions from the product manager.

Another project manager responsibility is stakeholder coordination. Project managers must secure resources and ensure ongoing support for the team or an external supplier.

"Are customers getting value from the project?" In an agile project, because of changes over the course of an iteration, teams need to continually review the product's value.

Measuring can be difficult, more difficult than measuring cost or schedule against plan, but without a constant attention to determining value (...)

"Is the project team adapting effectively to changes imposed by management, customer, or technology?" As requirements evolve, staff changes take place, component delays occur, a d a multitude of other things impact a project, the team members need to assess how they are adapting to those changes. Also, if managers and executives want project team that can be flexible and adapt to change, then they must give teams appropriate credit for their flexibility.

"Is the team project progressing satisfactorily?" This question is also more difficult to answer than whether the project is conforming to plan. Conformance to plan is one aspect of satisfactory progression, but only one.

The end-of-iteration review period should be more relaxed, a brief time (normally a day or so) in which the teams need to reflects on the last iteration and plans ahead for the next.

One of the key principles of exploratory, agile projects is to keep the cost of iteration low (both during development and after first development) such that the product itself can adapt to changing customer needs. Keeping the cost of iteration low and adaptability high depends on unceasing attention to technical excellence. Poorly designed, poor-quality, defect-prone products are expensive to change and therefore inflexible to changing customer demands.

"What went well?"

"What didn't go as well?"

"How do we improve next iteration?"



- Are all team members participating in discussions?
- Is someone regularly absent from daily meetings?
- Are team members being accountable for their commitments?
- Is the project manager micro-managing?
- Does the team understand how and why key decisions were made during the last iteration?

Agility is a mindset, a way of thinking, not a set of practices or processes.

Large organizations can be adaptive, flexible, and exploratory - they just have to expand their structures in concert with agile principles, not abandon them.

- Getting the right leaders
- Articulating the work breakdown and integration strategies
- Encouraging the interaction and information flow between teams
- Framing project-wide decision

"An A decision is the one that the plant manager makes herself, without consulting anyone. B decisions are also made by the plant manager, but with input from other people affected. C decisions - which make up the most common type - are made by consensus, by the people directly involved, with plenty of discussion." Using this system, the plant manager only makes 10 to 12 "A" decisions in a year and spends significant time explaining those things to the staff.

"The third set of leadership principles, and we believe the most important, clearly focus attention on the creation of a supportive decision-making climate."

Collaboration isn't talking, it's delivering, and delivering means making decisions. A participatory decision-making process can be useful for larger groups or for two individuals - the process and the issues are the same. Furthermore, while the steps of the decision-making process may proceed less formally between two individuals than they would in a group, the emphasis on sustainable, win-win decisions based on debate and full participation remains key.

Participatory decision making (everyone participates) is different from consensus decision making (everyone votes in favor). The latter is too slow and isn't appropriate in many projects situations where the divergence of ideas and opinions would limit the effectiveness of the decision-making process.

- Who is impacted by the decision?
- Who needs to provide input to the decision?
- Who should be involved in the discussion about the decision?
- Who should make the decision (the product manager, the project manager, the project team, the project manager with the team, etc.)?
- What decision criteria should be used?
- How and to whom should the decision results be communicated?
- Who should review the decision?

Don't work in Dilbert's company, and don't be Dilbert. Dilbert's company is the epitome of authoritarianism - the exact opposite of self-organizing. Dilbert complains, but he takes no responsibility for changing his environment. Dilbert and his cohorts lack self-discipline.

Delivering valuable products is important, and it's critical to project management success. No project team can exist for long without delivering value to its customers. But in the long run, how we deliver, how we interact at work, and how we treat each other as human beings are even more important.

The martial arts are all about balance. Whether defending or attacking, martial artists keep their bodies centered and in balance. Project management artists should also be in balance. Finding that balance is key to agility, and it's easy; there isn't a formula. The balance point for every product, for every project team, is different. Finding the balance point requires technical excellence, because it builds both quickness and agility. Skills, talent, and knowledge breed quickness - compelling people to go faster breeds hurrying. Agility can only be achieved through an unwavering focus on technical excellence.

A "hub" structure replaces the common hierarchical structure, organizational discipline encompasses additional responsibilities, and team discipline reflects rules of engagement among teams just as it does among individuals.

A "hub" model for project organizations reflects aspects of both hierarchical and network structures. Each node represents a team within the larger project organization. Within each node are individual team members.

If your project falls into one of he first three categories - kamikaze, suicide, or ugly - no project management process in the world - production, exploration, or otherwise - will help.

Agile teams won't survive in a hostile, death march environment. In a reasonable organizational environment, however, with executives and managers who understand the reality of marketplace uncertainty, agile team will deliver more reliability that nonagile ones. They will turn the uncertainty of the marketplace and technology into the certainty of working product.

(...) is not lack of communication, but lack of collaboration (...)

Leading is more difficult, and more rewarding, than commanding. Creating a collaborative work environment is more difficult, and more rewarding than controlling.

Leadership also includes staff selection, staff development, and ongoing encouragement. While others participate in these activities, the leader is accountable for them. Getting the right people on the bus, getting the wrong people off the bus, steering people towards roles that match their talents, developing both technical and behavioral skills, and encouraging people through frequent feedback are all time-consuming and critical activities for the project managers. But that's not all. Project managers also help create an environment of "no fear" in which collaboration, interaction, participatory decision making, conflict resolution, fierce debate, and collegial respect can flourish. This is the hard part of ATM - the people part - or what some deride as "soft skills" part.

We need deep convictions and resolute commitment if we hope to build great products and better workplace.

The conviction at the core of the agile movement is creating a better workplace, free from tyranny, arbitrariness, and authoritarianism. Not free from structure. Not free from responsibility. Not free from project managers and executives making decisions.

Where self-organization and self-discipline flourish, where progress are designed (and adapted) to support people rather than restrict them, where individual talents and skills are valued - great product emerge.

In the end, the positive answers to two questions form the essence of Agile Project Management: "Are you delivering innovative products to your customers?" and "Are you excited about going to work every day?".

Nessun commento:

Posta un commento