puma - entreprise-agile.com · puma is a global framework of the agile enterprise ... the 2tup...

33
Agile Project Motor PUMA Architect of a generation of high-performance enterprises Jean-Pierre Vickoff Teamlog

Upload: vuthuy

Post on 10-Sep-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Agile Project Motor

PUMA

Architect of a generation

of high-performance enterprises

Jean-Pierre Vickoff

Teamlog

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 2

Table of Contents

PUMA is a global framework of the Agile enterprise ....................................................4

Agile risk management .........................................................................................5

Common practices among Agile methods ...............................................................7

Differentiating practices of Agile methods ..............................................................8

The PUMA project motor ........................................................................................ 10

The fundamentals ............................................................................................ 12

Project management ........................................................................................ 14

Project management extensions ...................................................................... 17

Specific project extensions .............................................................................. 20

Specializations (BPM – SOA) .......................................................................... 23

The 12 “quality” practices of XP ....................................................................... 26

Using Agile techniques .................................................................................... 29

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 3

History of PUMA

In September 2001, Jean-Pierre Vickoff, one of the pioneers of

the Agile way of thinking in the I.S. field and its French-speaking

initiator, writes the first communication regarding PUMA. Its

translation is then expedited to the American and English

universities

In December 2001, “Développeur Référence” (IDG) uses the PUMA graphic design

(Proposition for Unifying Agile Methods) on the cover of an issue that devoted its main

feature to the rough outlines of this novel Agile vision. The communication is then taken up

in 2002 by numerous publications, including: ADELI, “Forum Logiciel”, LMI, etc.

At the time, PUMA already expressed its vision of Agility as follows “After having

determined the major portion of the common practices and the differences in practices of

each approach, the unified Agile method is composed of an optimal selection of common

practices to which it is convenient to judiciously add specific practices in function of the

context.”

It seems that the initial idea of PUMA was quite good, because Ivar Jacobson announced in

2006 in EssUp (Essential Unified Process) “a basic method which will be enriched with

additional practices in function of the project needs.”

Since then, Jean-Pierre Vickoff has enlarged the scope of PUMA (now the Proposition for

Unifying Agile Methods) by adding two outer layers to cover the entirety of the

organizational adaptation aspects as well as the anticipation and optimization of processes.

Because, without taking these points into account, there are no enterprises or

organizations that are truly Agile.

Representing a significant advance and an enlargement of the scope of organizational

agility, the principles of PUMA are the subject of several publications in French and in

English on the site Agile Alliance.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 4

PUMA is a global framework of the Agile enterprise

This communication follows up that which presented PUMA (Proposal for the Unification of

Agile Methods) globally.

PUMA is a dynamic framework for the evolution of business processes, information

systems, and collaborative modes.

By basing itself on the fundamentals of the Agile movement and the technical standards

that it integrates and brings together, PUMA represents the first formalization of an Agile

and global Enterprise method, coupled with a project motor, by the intermediary of a

solutions model. This model was conceived with regards to the new order of current

requirements classes and the imperatives of the incremental, iterative principle.

The Agile Project Motor is one of 3 components of PUMA. More precisely, it is the

component of operational implementation.

By modeling the high-level generic structures applicable to all organizations, PUMA’s

ambition is to reduce the complexity of their management. If a professional who faces the

PUMA solution immediately thinks “it’s naturally obvious, I already had it in mind, but I

never had the time to formalize it,” the challenge of Agility will be taken.

Figure 1. — PUMA Proposition for the Unification of Agile Methods

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 5

Today, approximately ten methods meet the requirements allowing them to call

themselves Agile. As a common point, they put into place, from the beginning of a project,

a reduced team, composed of a homogenous group of “creators-developers” in a solution

space permanently validated by real users.

Figure 2. — Adaptability or predictability of the methods

Agile risk management

Comparing a classical project management method with an Agile method from the point of

view of project risk management (delays, quality, etc.), could be interesting for a logical

thinker.

� The classical approach tries to reduce the risks using specific and deterministic steps for

which the preventative costs (analysis, detection, follow-up and corrections) are non-

negligible.

� The completely practical Agile methods are based on the competence of the

development teams that they engage in permanent practices oriented to performance

and validation in order to naturally avoid the occurrence of risks.

All the methods find themselves concretely at different degrees on a scale that positions

them from the most predictive to the most adaptive. If one wishes to have a vision of the

application scope of the various current methods, it is necessary to sort them according to

these criteria (figure 2). The differences emphasized this way therefore justify a detailed

analysis of the project environment and of the type of application in order to determine

which aspects of the method will allow for the limitation of the risks that were revealed,

and which methodological service level and application quality will be put into place.

The paradigm of classical methods is predictability. The paradigm of Agile methods is

adaptability.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 6

Let’s be clear: no approach is reduced to just one of these visions. All try to deal with the

contradiction of flexible rigidity, with greater or lesser finesse and with more or less success

in function of the context:

� Predictive methods try to reduce uncertainty from the beginning of the project using

very detailed and precise planning. This elimination of risk implies that the

requirements of the application be fixed.

� Agile methods prefer, starting with an initial planning that is reevaluated regularly, to

adapt themselves to the evolution of the context. The reevaluation will serve as a basis

for making GO or NO GO decision (figure 3) at each major change applied to the initial

project.

Figure 3. — Procedure allowing for evaluation / decision

One of the significant points of the Agile concept requires the involvement of rationally-

motivated resources focused on the service to provide and no longer on the product to

create.

Agility therefore creates a real team dynamic that appeals to both the client and the

developers: the client finds himself in a central role in the development, and the developers

participate in all aspects of the development and work as part of a real team.

In terms of Agility and the Iterative-incremental cycle, the idea of planning is the most

frequently misunderstood. All Agile methods are in fact semi-iterative and begin by an

exploration of the problem and the planning of its solution. Whether this step is called

Release Planning at the project level, Planning Game at the release level, or Standing

Meeting at the daily or Zero-Default milestone level, this doesn’t change the principle that

adaptability must remain under control.

An Agile approach is by its very essence adaptive, it accepts change but measures the

consequences. According to the context, the change and its acceptance present

themselves with greater or lesser acuity and the negotiations are more or less important or

formal. In all cases, questioning the initial plan (the Project contract) requires a new

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 7

planning creating a win-win exchange. The tasks concerning the functionalities to introduce

or modify are therefore planned according to their priority, pushing back (to the bottom of

the pile or into a new project contract) the less important functions. This consensual

negotiation implies a capacity of objective evaluation of the tasks to introduce or remove as

well as an Agile toolkit for configuration management.

Although similar based on their common principles and practices, Agile methods offer more

or less complete coverage with regards to the generic concerns of a project manager:

� Respect for the environment (positioning of the project in the information system)

� Management (resource management, planning, follow-up, quality, reporting, visibility)

� Application engineering (Requirements management, creation and development,

validation)

� Change management (organizational impacts and deployment)

All of the difficulty in choosing the right method in function of the general context of the

application or the project context can be found here. By selecting the Agile best practices

as part of a variable methodological level in function of the project, PUMA offers a

homogenous and progressive response to this concern that is as powerful as it is elegant.

Common practices among Agile methods

The heart of the practices common to Agile methods is the following

1 – Common practices linked to human resources

� Participation of the end user in work groups.

� Work groups with decision-making power.

� Autonomy and centralized organization of the team (motivation).

� Specification et permanent validation of the Requirements.

2 – Common practices linked to project management

� Variable methodology level in function of the project goals.

� Management by the goals and the risks.

� Strategic global planning based on rapid iterations.

� Creation in phases by active iterative and incremental.

� Continuous search for the amelioration of practices.

3 - Common practices linked to production quality

� Search for technical creation excellence.

� Graphical view of a necessary and sufficient model.

� View of the necessary and sufficient documentation.

� Reasonable norms and techniques of code quality (metric).

� Architecture based on components.

� Automated change management.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 8

Differentiating practices of Agile methods

Only a few techniques, complementary amongst themselves, or better adapted to specific

typologies and project sizes, differentiate them. Lets now look at the most significant

differences in practices among them.

The particularity of the DSDM method is the specialization of the project participants into

“roles.” This way, executive sponsors, ambassadors, visionary users, and advising users can

all be found in DSDM meetings, without forgetting the animator – facilitator and the

minutes recorders.

� The SCRUM method affirms its difference in the practice of short daily meetings. These

common working sessions have as their objective to improve the motivation of the

participants, to synchronize tasks, to unblock difficult situations, and to increase

knowledge sharing.

� For FDD, the particularity named Mission focused resides in a strong orientation

towards an immediate, measurable goal. It is, in fact, the global ambition of an

iteration that finds itself thereby reinforced. This aspect is also found in RAD in the

form of Focus objectives or in Scrum in the notion of Sprint.

� FDD requires Features Driven Development. This technique characterizes itself by the

notion of the Feature and the Features set (functionalities and groups of

functionalities). The priority is given to functionalities that add value. RAD proposes

similar techniques: delivery with reduced functionality or delivery by theme.

� XP is very focused on the area of application construction. One of its originalities

resides in the approach to planning which expresses itself in the form of a game called

the planning game and that simultaneously involves users and developers. One will also

note particular techniques linked to code production such as programming in teams of

two, collective appropriation of code, re-factoring, and continuous integration. The

RAD method requires, in this way, personal code reviews, then collective reviews, and

integration before each Focus. On the other hand, RAD limits programming in teams of

two to the most strategic sections.

� 2TUP requires a “Y” lifecycle that dissociates and parallels the resolution of functional

and technical questions. The 2TUP lifecycle resembles a domino effect but introduces

an internal iterative form to certain tasks. It is not certain that the cycle really belongs

to an Agile approach. On the other hand, 2TUP requires interesting forms of seeking

quality and performance such as reusable services and generic creation (Framework

and Design pattern) close to the RUP architectural methods.

� RUP is characterized by a global approach named “View 4+1.” The 5 components of

this view are: the Use Case view, the Logical view, the Implementation view, the

Process view, and the Deployment view. RUP also offers, like RAD, a formal and

adaptable Process guide as a guide to activities. In the case of RUP, it is unfortunately

proprietary and tool-oriented.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 9

RAD and RAD2 Processus

� The most important thing that RAD brings to project communication and to the

formalization of requirements is the Group Animation and Reporting (GAR).

� Like the other methods, RAD requires the formation of a specific development team,

SWAT. This team is autonomous, specially trained, deeply motivated, and well-

equipped. It is composed essentially of a unique profile of designers-developers trained

in complementary technical specialties.

� The SWAT works with users in a particular room that is specially equipped to form a

communications base (RAD room).

� RAD also recommends varying the size and the experience level of the work groups in

function of the phases of the project in order to optimize the engagement of resources

and to preserve their interest in work that is adapted to their concerns.

� The high-performance organization of meetings is based on an operating mode of

interviews (sessions in 3 steps) and on techniques of permanent validation.

All methods of project steering should include an operating mode for emergency stops.

However, the study of old predictive methods seems to lead to an optimistic idea: the

authors have never experienced failure and their disciples must follow this path. On this

point, the force of RAD is found in the presence of the animator-facilitator. This resource,

preferably external, must be neutral with regard to the other participants. He or she

responds to a higher authority than all of the project participants. This way, when the

strategic, economic, or technical context of a project evolves, or if the working conditions

degrade, the animator reports the problem to the director who ordered it. The director can

then make the necessary decisions in the best possible time frame and with objective

information.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 10

The PUMA project motor

Once the common practices are isolated from differentiation practices, it is simple to

imagine what should be the optimal method in function of the particular project type :

� The optimal Agile method is composed of the entirety or a selection of common

practices to which it is convenient to add specific practice(s) judiciously in function of

context.

� The entirety of these aspects is obligatorily part of a variable, methodological service

level. Here rests the base of the PUMA project motor.

To optimize its use, the understanding of the project and its environment and constraints is

indispensable.

The PUMA project motor is composed of 3 levels of Agile practices. The second and third

levels respond to more and more important or specialized project requirements.

� The first level is composed of fundamental Agile principles described as usable practices

and a low-level base responding to basic project needs. This base can simply be

composed of the 12 practices of eXtreme Programming or be enriched with several

complementary practices specific PUMA, such as, for example, the use of Facilitated

communication techniques or the Agile solutions for requirements expression.

� The second level introduces two groups of light Project management practices. It

generally corresponds to more important projects that demand increased control or

visibility.

� The third level allows for “à la carte” choices among 15 complementary practices,

which are sometimes complex in their classic versions but are specially “Agilized” for

PUMA.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 11

Figure 4. — Autre vision des itérations (Microsoft)

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 12

The fundamentals

Pr inc ip l es

These are operational explanations of the four fundamental Agile

values and the four fundamental Agile principles: collaboration,

interaction and negotiation with users, frequent deliveries,

permanent validation, etc. As simple as they may appear, the

operational implementation of these collaborative modes requires

experience and tenacity on a daily basis.

Methods

All Agile methods are in fact semi-iterative and start by an

exploration of the problem and the planning of the solution. After

this, the adequate choice of the Agile methodology level can be

made. This flexibility permits PUMA to offer an adaptive solution,

regardless of the type or importance of the project.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 13

St ructu re

All Agile methods, including PUMA, are based on a cycle made up of

3 principle phases that are accentuated to a greater or lesser extent:

Exploration of the problem and the possible solution, with regards to

the constraints, Global conception of the solution, Obtaining of the

solution. Keys to global planning are specific to each approach

(Agile, RUP, …).

Mi les tones

The mastery of the temporal dimension of the iterations is capital. It

is on this control point that the pertinence of Agile methods with

regards to project management is played out. Many models

proposing anchors linked to different types of project constraints are

available and calibrated.

Del i verab l es

The various deliverables are dependent on the type of project and

the organizational culture. The important thing is to respect the

Agile fundamentals: that which is useful and sufficient.

XP Extens ion

Bringing programming to the rank of a collective discipline, eXtreme

Programming proposes a coherent ensemble of the 12 techniques

that bring solutions to a great majority of performance and quality

problems in the area of application development. Separated into 3

groups (collaboration, project management, development quality),

these practices are treated in an annex.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 14

Project management

Communicat i on

Teams

All of the resources included in the communication plan intervene

simultaneously from the real beginning of the project. The goal is to

obtain a simultaneous understanding of the problem by all actors

and to end up with the creation of a homogeneous knowledge space.

This approach also allows for the avoidance of wasting energy linked

to repetitions as well as risk of errors, redundancy, or divergence

linked to multiple formulations. The understanding of the

participants is global and unique.

Engagement

In order to optimize the engagement of resources, the

communication plan applies to the work groups a principle of

variability according to the phase or the depth of the iteration. This

way, the presence of high-level executives, indispensable during goal

definition or process reconfiguration, will no longer by solicited

during the detailed specification phases.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 15

Meetings

A collective mode of working characterizes interviews, which require

intensive participation from users. The operating mode of

communications is structured into 3 steps: pre-session, session, post-

session. These practices have as their goal to obtain a real-time

formalization and an immediate validation of requirements

expressed. They require, in addition to the imperative presence of

the “for action” participants from the communication plan (real

empowerment), the availability of an isolated and well-equipped

work area.

Requi rements

Structures

The structure of the requirements expression takes into account 4

classes of applicable requirements at 4 levels of concern: strategy

and creation constraints, functional, technological, and

organizational. According to the advancement of the project, the

requirements are expressed more and more precisely. This iterative,

incremental approach is performed in a unique document at four

depth levels.

Formalization

A minimal formalization is always necessary. It could be simply a

sheet of paper (CRC card or user story) as required by XP, a more

detailed document, a formal model, or a mix of these techniques.

The important thing is to respect the fundamentals of Agility: that

which is useful and sufficient.

Prioritization

The operations of ranking requirements or prioritizing functionalities

are the responsibility of the functional team but are the object of a

planning game with the technical team, who has the knowledge to

allow technical dependencies to be displayed. This practice appears

in the development choice (by usable themes or temporal stability of

components).

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 16

Solut ion

Research

It is no longer reasonable to rush into a completely specific

development. The practice of Spike Solution covers an exploration

step (often on the Internet) for available or emerging technologies

(Professional software, Components, Open source, etc.).

Modeling

Agility obliges the project leader to keep in mind that the objective is

an application and not multiple models. A simplified way of thinking,

Agile Modeling, considers modeling in excess and not adaptive for

projects under heavy time or monetary constraints. It proposes an

optimization in the use of models in function of the context.

Architecture

Advice for the identification of optimal granularity and normative

development base. For example, SOA (an approach to design and

construction of services in the form of independent applicative

bricks). The advantage is to produce simple, modular, and weakly-

coupled components that can therefore allow for quick re-

composition of the application framework of the functionalities they

assure.

Creat ion

Construction

Secured construction architecture and preparation of a Construction

Show. An important point: defining, for each phase, the number of

iterations and their precise content. The construction architecture

orchestrates the entirety of the “best practices” of PUMA and/or of

XP. The open and adaptive principle, however, formally assures the

control of the iterations as well as the respect of practices for

technical and functional quality.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 17

Configuration

The GCL manages the state of the components, masters the

traceability of changes, and guarantees restoration benchmarks. The

GCL manages tasks and multiple workspaces, allows for coherent

coordination of development activities, to share files, and to isolate

elements specific to certain tasks. Even for small teams, the use of a

GCL tool has become indispensable.

Delivery

Frequent deliveries that allow for feedback and permanent

validation are one of the most important practices of Agile. The

client expects, at a fixed time, an executable version with reduced

functionality but containing a certain number of planned increments.

The non-respect of the planning game is immediately made visible.

Frequent deliveries allow for an accelerated ROI in certain cases.

Project management extensions

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 18

Pro jec t prepara t i on

Estimation

Working from a unique shared knowledge base obtained during

common working sessions of comprehension and validation, the

decisions to continue actions (GO & NoGo) are made collectively in a

win-win model that protects the interests of the project as well as

those of the solution.

Planning

From the requirements, the estimate of the workload, the

development method chosen and the timeframe, a planning is

conceived. The details must reach a level of finesse sufficient to

determine individual tasks. It is then possible to organize these tasks

by group level in order to facilitate the creation of tasks in parallel or

by lot, whether it is temporal or contractual. These logical and

temporal constraints and the dependencies among activities are

therefore introduced.

Development strategy

The planning of an Agile project is fundamentally different from that

of a classic project. A simulation and optimization practice allows, in

the strategic choice of planning, for the evolution of scenarios in

function of diverse project constraints (time frame, cost, perimeter,

quality, visibility, risk). The principle interest in this practice resides in

the immediate display of incidences of each negative option that is

foreseen.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 19

Pro jec t cont ro l

Follow-up

A fixed period, which could be daily, of control operations allows you

to fill in the engagement of resources based on the real

advancement of the work. The objective is to obtain a vision of the

project allowing for verification of the real advancement and

production sufficiency with the quantitative planned objectives. This

activity is an element of the CRM practice Follow-up and supervision

of a project.

Monitoring

For the follow-up of important or specific projects, indicators that

show the evolution of risks can be added. Sometimes, elements of a

quality metric can be added. They can concern the technical quality

of the product (for example, the evolution of the number of

corrected and uncorrected errors) or its functional quality (number

of fixes coming from the client).

Reporting

A dashboard can be part of a larger group of indicators of the

activities of an Information Services Department, produced to

present the information that allows the project managers and

steering committees to make appropriate decisions whether to

continue, reframe, or stop.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 20

Specific project extensions

Facilitation

Agile methods are based on communication practices that bring

together IT professionals and users. There are techniques that allow

for animation of meetings and to facilitate decision-making. In case

of a difficult context, experts can be brought in to accompany

difficult actions. PUMA also proposes a model of Neuro Agile

Facilitation of Collaborative modes.

Functional team assistance

An Agile project team is composed of the ensemble of the parties

involved: representatives of the functional and technical teams as

well as Experts and real users (themselves considered experts in

their activities). This engagement as well as its forms and conditions

are formalized in a document entitled “Project Communication

Plan.”

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 21

Prototyping

In prototyping the Construction of the solution, the interviews can

be founded on a weakly structured communication when: users are

available on a regular basis, that they accept the planning game and

the mode of specification-coding-test, iterations are rapid (up to 2 /

day). The principle practice to respect consists of always letting the

user manipulate the application in order to validate it.

Documentation

At each iteration or step (generally phases or benchmarks) and for

each concern, a document with a unique structure (based on 4

classes of Requirements) is used for the formalization of information.

In this unified formalism, the only distinctions can be seen by the

taken by one or the other of the classes of concern or their level of

depth.

Risks

Project management consists of listing and analyzing the risks that

could affect the outcome of the project and the events that could

cause them to occur. The action plan then consists in putting into

place preventive actions, to survey the evolution and the

materialization of risk, and to engage, if necessary, corrective

actions. The level of risk management is dependent on the type of

project.

Processes

The notion of formalized processes is at the base of all standardized

approaches for project risk management (like CMM). Without

introducing a heavy process into the Agile mode, a Check-list of

actions or usual practices from which to determine those that seem

pertinent in the context is generally a useful aide for the different

participants in a project.

QAP

Classical quality imposes an obligation and a formalization of means

but does not specify the result expected. Agile quality proposes an

obligation for the result but requires autonomy of means. The

notion of quality norms is also a principle that agility is often

confronted with. PUMA proposes a Quality Assurance Plan

compatible in its structure with the recommendations of CMM and

ISO.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 22

Business Plan

When the project group must justify its budget by a formalized

return on investment, this very light investment plan model will

guide the actors involved in its justification. Here are treated the

minimum economic, budgetary, and accounting practices that a

project manager must have.

BPM Model

The BPM is based on business models to optimize and adapt the

ensemble of activities. By remodeling the organization around

processes that make up the heart of the organization, the BPM

imposes itself as the principle driver of operational performance.

BPM projects are one option for PUMA project management.

Quality Surveys

Allows for the measurement of non-quantifiable information

automatically such as, for example, the general level of user

satisfaction with regard to communication, the impact of previous

corrective measures (interface ergonomics, conformity to

requirements, functional completeness, level of documentation,

etc.).

Cutting-edge Solution

In a project, 7 layers may be externalized, making up the ensemble

of the solution. The team opens itself up to all concurrent

possibilities and sees them as means to complete the mission. The

objective of this choice is to obtain the best quality at the best price,

in the best time frame in function of the constraints imposed.

Newsletter

A regular and transparent project communication characterizes the

Agile management mode. This practice proposes means of

communication adapted to the size of the projects.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 23

Technical standards

Standards are a key element of SOA and BPM projects. This practice

includes the diverse protocols SOAP, WSDL, UDDI, WS-x, BPMN,

BPEL, etc. and all those that are necessary to model and orchestrate

processes or develop Web services.

Virtual workspace

In the daily practice of project,, and more particularly when the

teams are spread out, the participants need a formal means of

communication to permit them to work as a group. The collaborative

virtual work workspace is therefore seen as a privileged means of

communication.

CMMi TSP-PSP

Agility and normalization are ideas with identical objectives but

philosophically opposites in the way they obtain them. This practice

performs a mapping between Agile practices and the practices of

CMM, TSP, and PSP.

Specializations (BPM – SOA)

Standard but “Agilized” practices

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 24

Process (BPM)

Configuration process

The fundamental concept is the complete reorganization of working

processes and the division of tasks in order to reduce the time and

the effort. It consists in analyzing the logic of procedures in function

of the reconsidered finality of the missions of the organization.

Means: rationalization of the activities, reduction of delays,

improvement of reactivity, reduction of costs, improvement of

quality. The action takes into account the ensemble of the drivers of

change management.

Process optimization

Tool for the resolution of “complexity of details.” The detection and

resolution of problems is applied to minor malfunctions that generally

escape the attention of higher levels because of their low visibility. The

Agile enterprise continuously masters the complexity of an evolving

environment by treating, as soon as they are detected, emerging changes.

Collaborative model

Current organizational systems are complex. To master and simplify

them, it is necessary to use the power of collective intelligence. The

collaborative model draws its force from the practical knowledge of

employees whose participation in a systematic search for

improvement is rationally provoked.

BPM toolkit

Recommendation in the area of modeling tool usage and organization of

processes. The level of criticality of the processes directly influences the

management mode and the choice of tools. This also covers the monitoring

aspect (BAM).

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 25

Arch i tec tu re (SOA)

Agile modeling

Agility requires that the pilot project keep in mind that the objective

is an application and not multiple models. A simplified way of

thinking, Agile Modeling, considers modeling in excess and not

adaptive for projects under heavy time or monetary constraints. It

proposes an optimization in the use of models in function of the

context.

Granularity - Validation

Advice for the identification of optimal granularity and normative

development base. For example, SOA (an approach to design and

construction of services in the form of independent applicative

bricks). The advantage is to produce simple, modular, and weakly-

coupled components that can therefore allow for quick re-

composition of the application framework of the functionalities they

assure.

Unified vision

The unification of an information system defines a development plan

that is coherent and in phase with the strategy, the business

departments, the processes, the technology, and the current system.

The standard model is made up of four layers: processes,

organization, application, and infrastructure. Unification is one of the

elements of Enterprise Architecture.

Implementation Norms

Standards are also key elements of SOA and of BPM. These practices

bring together the different protocols of SOAP, WSDL, UDDI, WS-x,

BPMN, BPEL, etc. and everything that you need to model and

orchestrate processes or develop Web services.

Bor rowed f rom Scrum

PUMA has a native iterative-incremental-adaptive mode based on rational

management of iterations. PUMU also provides its own meeting techniques

and a principle of roles for development actors. When it comes to particular

aspects of project meetings, it is possible to integrate a vision of Scrum.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 26

The 12 “quality” practices of XP

Figure 5. — A summary of XP principles (Design Up)

XP uses programming as a collective discipline. Here is a synthesis of the 12 fundamental

principles of XP presented in order of their implementation:

� 1 - Planning is a consensus between the client and the developer. As with Risk

Driven Development, it proceeds by priorities (sometimes technical when linked to

dependencies, but most frequently functional). The developer focuses uniquely on the

principle goals and delegates the treatment of the secondary objectives. The principle of

“courage” is applied to negotiations with the client in case of possible divergences.

� 2 – XP teams use metaphors. The metaphor is a high-level abstraction. The

metaphor must not be an overly simple version of the initial concept, but must allow for

the simplification of complexities such as, for example, clarification of functionalities.

The merit of a metaphor is to by synthetic and explanatory. For example: using a

metaphor as a “recipe” to explain a sophisticated process. In XP, the majority of the

metaphors concern the functionality of the application or the architecture.

Technique: Planning Game. The client produces use case scenarios and

prioritizes them. These scenarios are then implemented by the

development team. The project is considered finished when the client

cannot find a new scenario.

Technique: elementary metaphors and analogies are used to describe the

system and its functionality before delivery of real functions, in order to

make it understandable by non-IT workers and users involved in the

development .

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 27

� 3 – The application is quickly available in a limited version. The construction phase

it made up of iterations structured into steps (short specifications, development, tests,

feedback from the client). The functional aspects are described in brief, scenarios that

can be implemented and validated immediately by the client. The risk of

misunderstanding is therefore reduced to a minimum. Modifications can be frequent

but concentrated into a very short cycle. The objective is to quickly have an operational

pilot application. The application sections delivered could even be used, with reduced

functionality, if the dependencies with other non-delivered sections are not too strong.

� 4 - The design is simple and focused on current requirements. Without speculating

on possible further evolutions (not expressed), the developer codes the essential, based

on immediate requirements in their order of priority.

� 5 – Development in two-person teams. Two development resources work

simultaneously on the implementation of the same code. Taking turns, they program

and validate the quality in order to product clean, robust, and trustworthy code. In

certain projects, the developers create teams of two only during re-factoring sessions

(as with the RAD method), or when the problem is particularly difficult. This practice is

associated with the rotation of these teams. The ensemble is considered the Agile form

that is the most powerful for collective learning and integration of beginners.

� 6 – Collective appropriation of the code. The team is collectively responsible for

the application, and is assumed to have knowledge of the entirety of the code.

According to this theory, the quality of the ensemble of the code is the responsibility of

the ensemble of the programmers. This practices increases the effective quality of the

code, reuse, understanding, and removes the principle problems linked to turnover.

Technique: Frequent releases. They allow for immediate feedback, while

at the same time offering validated functionalities that can be used.

Delivery frequency is weekly.

Technique: Initial planning based on added value of the expected

functionalities. Simple design and simple coding, in order to facilitate

future evolutions, making the product easy to understand and modify.

Minimal documentation adapted to real needs.

Technique: XP programmers work in teams of two on the same machine.

The first developer (called driver or pilot), has the control of the keyboard

and works on the section of to be written. The second developer (called

partner or copilot) assists by suggesting options or detecting possible

problems.

Technique: The developers frequently reorganize the two-person teams,

which allows for the improvement of the collective knowledge of the

application and the communication at the heart of the team.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 28

� 7 – Sustainable rhythm Weeks have only 40 hours and tired resources commit

errors that are always more costly to solve after the fact.

� 8 – The client collaborates permanently and directly. In order to assure an

improved reactivity and rapid feedback, a representative from the client must be

present for the entire duration of the project. This resource, dedicated to the project, is

responsible for determining the requirements, assigning the priorities, and validating the

tests.

� 9 - Standards of coding. To facilitate the collective appropriation of the application,

the reuse, and the communication, the programmers code in identical styles and with

identical rules (naming norms for variables, methods, objects, classes, files, etc.).

� 10 - An XP program is tested and validated continuously. XP requires, for the

technical part, programming driven by tests (TDD): for each class of application,

developers write a class that tests and verifies the results of these tests.

Functionalities are for their part validated by tests (with and by the user).

Technique: Individual planning does not include overtime for two weeks

in a row.

Technique: A permanent representative from the client is present at the

site. This representative must master the practical knowledge of a final

user, while at the same time possessing a global vision of the final result

to obtain. This is, in general, an operational executive.

Technique: Standards of coding, frameworks, design patterns, naming

conventions, etc.

Technique: Zero-default benchmarks by Test-Driven Development based

on tests coming from a low level translation of integration tests.

Technique: Zero-Default Benchmarks by finalization of permanent

validations obtained from the user during prototyping.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 29

� 11 – Continuous Integration: The modules developed are assembled on a daily

basis or at the end of coding of each benchmark. The starting version of a new code

implementation is thereby performed on a stabilized application.

� 12 – Re-factoring of code. During development, the code is reworked continuously

and progressively. The software is clean and simple. Otherwise, corrections are much

more costly, the design is corrupted, the code becomes fragile, and the application loses

structure.

Using Agile techniques

On the other hand, all Agile techniques are not necessarily implemented in an identical way

in reality within organizations.

Figure 6. — Real use of practices

Agile practices concerning code quality (particularly Pair programming) generate a cost of

realization approximately 20% higher than that of classic development. In return, they

notably reduce the number of residual errors in an application when it is put into

production, according to the study Strengthening the Case for Pair-Programming (Tableau

below).

Technique: Zero-Default Benchmarks by permanent integration of

tested configurations. Construction planned in small modules that are

integrated and tested progressively. Several daily integrations can be

performed daily if necessary.

Technique: Re-factoring by continuous improvement of the code quality

without changing its behavior (comments, respect for naming rules,

simplification, etc.). The result of this “cleaning” is produced regularly and

is validated during collective working sessions with the participation of

the entire team.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 30

Techniques o f Ag i le P l ann ing

Figure 7. — Strategies for Agile planning

Four contradictory constraints and the serious problem of combining them

Figure 8. — Agility recommends: iterative-incremental-adaptive

A simple principle: the perimeter is variable but the techniques and formal choices of

design in view of modifications (prioritization, modularity, encapsulation, weak coupling, …)

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 31

Per formance watchers

In numerous domains of IT management, the search for perfection and the complete

reduction of risk are dangerous chimeras. Obtaining relative quality in a given context in

function of precise constraints is in fact the only goal that can be reached. Abandoning the

idea of perfection is the most difficult principle to accept intellectually for the logical spirit

of a rational-minded person, such as an IT professional. It is, however, the search for

absolute quality that leads projects to lose “body and soul.”

Refusing a user request is not an easy thing, it’s true. To avoid the trauma of refusing, it is

preferable to obtain a renunciation from the client. To make this situation possible, it is

necessary to put a price on each functionality. The budgeted amount is, in this case,

transferred to the user. The user is then conscious of the link between budget and

requirements and imposes the priorities.

The management of the budget in regard to the functionalities should be the problem of

the functional team and not of the IT workers. Project management by operational

departments, based on the budget and the time frame, keeping in mind the goals and risks,

is the only form of project management that can stand up to the complexity of modern

development.

It is frequently heard that “the urgency of problems makes having a vision impossible, but it

is in fact the total absence of perspective that makes you a slave of urgency.”

Along the same lines, IT workers often complain about the methodology and its heavy

requirements, and try sometimes to indiscriminately work around them. Complaining

about the method is the same thing as complaining about the driving code. Driving without

knowing it and without respecting it can naturally lead to an accident. And, when it comes

to project management, the victims of the accidents are not only budgets and timeframes

but accidents can even kill enterprises through operations, logistics, sales, and capability for

expansion.

However the “all or nothing” principle does not apply to the method if it is understood well.

An intelligent approach adapts the “level of service method” to the type of requirement.

This economical sizing of effort allows for preservation of basic, indispensable rigor of

management of projects that are “moving” or under constraints.

It is just as indispensable for the project manager to chose with discernment the method

whose cycle will be best adapted to the requirements of the future application. This real

development management must systematically evaluate the diverse forms of obtaining

things (professional software, solutions, components, externalization) from the angle of

constraints (budget, quality, time frames, or resources).

The same way, when it comes to design, the choice of a level and form of model takes up

the challenge of a modeling that is adapted to the specifics of each problem. The

competent designer-developer creates “in view of modifications” and searches for design

techniques that can integrate change, because efficient modeling must evolve in synergy

with the reality it describes.

The Agile movement found its initial inspiration in the resolution of problems with which

teams assigned to IT system development found themselves confronted. Agility therefore

emerged from project groups, where individualism was extreme, in the form of collective

discipline, but at a human scale, of performance and quality.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 32

The Agile enterprise lives at the rhythm of its projects and the energy of this dynamism

assures its existence “Just do it”, such is its empirical and pragmatic slogan. Carrying this

philosophy, the Agile movement consecrates itself to the essential and offers the possibility

to attain simplified power. So lets try to be simple, and with the limits of or actions, adopt,

as a slogan “be Agile.”

For the sake of the quality of which it is a more and more vital component, Agility is not

decreed from the highest structures. Agility emerges from the base of the organizational

pyramid and patiently conquers all the levels, because Agility is fractal. An operational

response to constraints as important as those imposed by the globalization of exchanges,

the principle of collective intelligence on which Agile rests will progressively end up

spreading forms of flat hierarchies.

Agility, at this stage, is the dynamic revolution of organizational systems.

The dilemma of the IT worker is often found in relation to dysfunctions of the organization

that he must code, the organizational aspects that are worrying are most often masked

until the end of the project in the hopes that the application will reveal them after the fact.

Very often, the realization is too late, and a maladaptive application is uselessly developed

that makes the basic problem permanent. Sometimes, the movement for refusing changes

imposed becomes a social problem, and the participants regret the lack of communication

after the fact.

There is a long road to go down before arriving at an optimal system in the majority of

organizations. By dissecting the details of techniques put into place by the Agile

movement, some will be disappointed not to discover anything totally new or miraculous.

In fact, good sense leads to the most theoretical concepts of Agility being seen as simple

improvements in managerial practices.

But, beyond a progression in the state of the art, what is essential in these changes is the

rhythm that they bring to our thought processes. A rhythm of engagement of human

resources. A rhythm in the phasing and in the temporal dimension of projects.

In an environment of accelerated evolution, the dynamics issued from facilitated

communication from a rethought organization, and from more fluid information systems

enter in synergy and impose themselves in the energy of the rhythm. A rhythm of change,

a winning, rhythm, an Agile rhythm.

The Agile Project Motor

___________________________________________________________________________

___________________________________________________________________

Jean-Pierre Vickoff, Teamlog www.Entreprise-Agile.com 33

Table o f i l l us t ra t ions

Figure 1. — PUMA Proposition for the Unification of Agile Methods .................................4

Figure 2. — Adaptability or predictability of the methods ................................................5

Figure 3. — Procedure allowing for evaluation / decision .................................................6

Figure 4. — Autre vision des itérations (Microsoft) .................................................. 11

Figure 5. — A summary of XP principles (Design Up) ..................................................... 26

Figure 6. — Real use of practices ................................................................................. 29

Figure 7. — Strategies for Agile planning ................................................................ 30

Figure 8. — Agility recommends: iterative-incremental-adaptive ............................. 30

___________________________________________________________________

Concerning the use of the PUMA method, its author Jean-Pierre Vickoff as well as

TEAMLOG, the company with which he collaborates in creating TMF (Teamlog Methodology

Framework), wish to render the theoretical principles accessible to the entirety of the

profession by regularly publishing, via the media and the Web, on its structure and its

practices by the intermediary of professional organizational principles www.Entreprise-

Agile.com

© Jean-Pierre Vickoff. The text and graphics in this document have been registered and copyrighted by the author Jean-Pierre Vickoff, as well as by the medias who initially distributed them. You may copy and distribute, without alterations, all or part of this document in any format, commercially or non-commercially, on the condition that this licence and copyright notice are reproduced on each copy, and that you do not add any additional restrictions. You may also, while respecting the author's ownership, quote brief passages.