Agile or Waterfall? 8 Tips to Help You Decide

by Susanne Madsen at http://www.susannemadsen.co.uk/blog.html

agile-vs-waterfallIf you are running a software project, one of the questions you are likely to come across is which development methodology to use.  Some like to stick to a traditional waterfall approach whereas others are keen advocates of an agile methodology. In reality many projects end up somewhere in between; with a methodology that is neither extremely agile nor extremely rigid.

Compared  to waterfall, these “middle-of-the-road”methodologies can seem flexible as they allow for changes to take place from iteration to iteration. Compared to agile, however, they are likely to appear rigid and far less  collaborative.

When deciding on the right development methodology for your project, think about how much flexibility it should contain and which aspects you can employ from different types of approaches to best suit your needs. Examine the size of your project, the make-up of your team, the organizational culture and what you want to achieve. Then piece together the methodology to your specific needs. Even if your organization advocates a certain approach, there will often be opportunities for you to improve it and adapt it to your specific project.

To help you decide which approach is best suited in your situation, take into consideration the below aspects. The questions will help you decide how flexible your methodology needs to be on a scale from very flexible (agile) on the one hand, to very rigid (waterfall) on the other.


1. How clear are the project’s objectives and requirements?
On some projects, the clients know exactly what they are looking to achieve and what the success criteria of the project are. On other projects, it can be difficult to pinpoint what the project needs to achieve or what the requirements are. When the requirements are difficult to define, or likely to change significantly, you need an approach which is relatively experimental and flexible; an approach which allows you to speedily demonstrate and prototype ideas to the customer and incorporate changing requirements.

2. How clear and well-defined is the solution?

You may find yourself in a situation where the desired outcome of the project is clear, but where the solution for achieving that outcome is not. When the team is faced with difficult and risky choices around technology, design and  implementation, your software development methodology needs to be flexible enough to cater for this and iterate through various stages of prototyping, development and roll-out.

3. How easy or difficult is it to access the end users?
Are the users, domain experts and product owners likely to be available to provide feedback and help test deliverables at short notice, or do you anticipate that they could be difficult to get hold of? Would it be easier to engage them for a pre-planned test cycle where lots of deliverables can be tested at once? The more constraints there are around your user’s availability, the more rigid your methodology should be.4. What is the size of the project? 
Is your project on the larger side or is it reasonably small and lean? The larger the project, the more difficult it might be to incorporate lots of changes at short notice and refocus the team in a different direction. Small tight-knitted teams which work closely with the customer and end users are more flexible and better geared to quickly incorporate changes.5. How  dispersed is the project team?
Do you have several project teams situated in different geographic locations or is the team more homogenous and located together? When the team is geographically spread out it can be difficult to quickly coordinate new work and adapt to changing priorities. Teams which sit together, and even share the same room, are much better placed to working in an agile environment with changing priorities.6. What is the team’s and stakeholder’s experience with these  methodologies?
Are your team and stakeholders already accustomed to working with a specific methodology? If so, bear in mind that it takes time to change a team’s working practices. If your project is time critical, be wary of making too many drastic adjustments to the existing methodology as it may jeopardize the timescales and success of your project.7. What are  the project’s success criteria?
Which is more important for your sponsor and client? Having a relatively firm estimate and schedule which must be adhered to, or ensuring that the end deliverables add value and match the user’s needs and expectations? Is your client ready to embrace a more flexible and quality-conscious approach at the expense of fixed costs and schedules?

8. How much value would incremental feature driven development add?
Does the project lend itself to being delivered in an incremental way and would this add real value to the stakeholders? Must the products and features be delivered at once in order to provide tangible benefits or would it be a real advantage to deliver them gradually?

Great links :

Why Agile projects fail ?

success_and_failure

Sometimes Agile projects fail, below the 5 most common reasons :
1) Internal politics or HR conflicts
Agile projects are built on a collaboration principle. If there are conflicts in the team, or in the company, the Agile project is in trouble !
One possible root cause for team conflicts are undefined roles and responsibilities (most important are Product o
wner and Scrum master roles)
In doubt what these roles mean ? please, ask your Who makes a good product owner or a good scrum master and check this with your own agile project team.
Some tips here.
2) No Continuous Integration Environment and no Configuration Management tool
Setting up a Continuous Integration Environment is essential for everyone who wants to be Agile and work in short iterations (like with the Scrum technique).
The main objective for a such a system is to frequently build the source code committed by developers (each night for example). Each iteration is automatically built and tested as soon as possible integration errors.
This approach should also work with a strong Configuration Management tool.
3) Too much Expectations
Even if Agile project management is a best practice for executing your IT project, this cannot be used without preparing it. For example, classic methods such as WBS or Estimates calculation for building a realistic schedule and costs are still necessary before launching the project or program.
4) Operations are not Development (think Devops)
This is one of the most important causes of failure. Developing is fantastic 🙂 but you also have to take into account :
  • Effective, collaborative and productive relationship between development teams and operation teams
  • Deploying your project in an operationnal environment !
5) Methodology is bad interpreted 

Self learning is a good thing but sometimes, we can interpret methods, terms, roles.
Bad roles for a Product Owner or a Scrum Master could be worse than using a classic project management organisation.
Sometimes, companies who want to implement an Agile Project realize that they don’t know what to do with the old Management organisation. Then, to avoid internal conflicts, they prefer creating intermediate roles…
Adapt your company organisation before changing your project methodology !
And don’t forget, everyone in the organisation should work in the same way. Don’t mix Waterfall and Agile in the same project. It”s preferable to stay in waterfall method if your company is not ready to change.

dilbert-on-agile

How to WOW your Steering Committee

by Susanne Madsen

Preparing for and attending steering committee meetings is one of your most important roles and responsibilities as a project manager. Although the meeting is likely to only take place once a month, this may be your best opportunity to promote your team and the progress it has made. This is also your chance to personally impress senior stakeholders by communicating to them at the right level and by showing them that you are in control of the project. You can wow them by being honest, to the point, by knowing the detail and by displaying important milestones and metrics in straightforward graphs and charts.

Follow the below tips and you’ll be off to a flying start with the project’s most senior decision makers.

1. Be prepared
Always prepare thoroughly for steering committee meetings and produce a flawless presentation. People know immediately when you are well prepared for a meeting and when you are not. When you are prepared, your credibility goes up; when you are not prepared, your credibility goes down. When you are prepared and know the detail of your project you come across as honest and credible and your stakeholders will trust your opinion. You will be able to easily answer their questions and you won’t have to give vague answers or promise something which you can’t keep.

2. Understand the emotional journey
Consider the emotional journey you want to take the audience through. Which emotional state is your sponsor and key stakeholders likely to have at the beginning of the meeting and which emotional state would you like them to have at the end of the meeting? If you want them to be impressed for instance, focus on highlighting things that will impress them. If you want them to feel that the project is in a safe pair of hands, show them that you have assigned mitigating actions and owners to all risks and issues.

3. Communicate at the right level
The project’s steering committee will consist of senior managers who are working to busy schedules and who deal with a multitude of issues and decisions on a daily basis. Make the meeting as simple and pleasant for them as possible by summarizing the project’s progress and by only providing detailed information where important risks, issues or decisions need to be discussed. Your stakeholders will love you for keeping the meeting focused and for not wasting their time.

4. Promote achievements and successes
Ensure that the presentation clearly shows all major accomplishments and the good work which the team is doing. Take on the role of an ambassador for the project and put it in the positive light it deserves. When highlighting achievements, make sure you mention the benefits of these achievements to the end users. Speak the language of your client and show that you understand their business. Include timelines which show what has been delivered to date and which main products and milestones are still outstanding.

5. Know your numbers 
Impress your stakeholders by tracking the project’s key performance indicators. Know how much money the project is burning per month, what the estimate is to completion, and how much scope you have delivered compared to plan and budget. Include these earned value metrics in your presentation and insert simple graphs and charts to make the information more appealing and readable. Have the detailed financial figures at hand in case you need it. Be honest about the numbers and clearly state where the project is not on track.

6. Be on top or risks and issues
Always include the project’s top 5 or 10 risks and issues in the presentation to the steering committee. Make sure you have analyzed each item in detail and assigned appropriate actions and owners to each entry. Ask the senior stakeholders for advice and guidance on risks, issues and change requests that have the potential to significantly affect the project’s schedule, budget or quality. Provide them with all the information needed to make a decision. You will score points for bringing significant concerns to their attention and for demonstrating that you have the project’s best interests at heart.

7. Record actions and decisions
Always take minutes from the meeting so that people who were unable to attend can stay informed. Taking minutes also helps you reinforce what was decided and which actions were agreed upon and by whom. Have someone double-check the accuracy of your memo or email before you send it, but be sure to distribute it within 24 hours of the meeting taking place. Your steering committee will respect you for being an effective person who keeps taps on decisions and actions – including their own!

To download a PowerPoint template which you can use for your own Steering Committee meetings, register to get access to the RESOURCES page. It’s completely free of charge.

You can also find out more about how to set up steering committee meetings and communicating effectively with your senior stakeholders by purchasing The Project Management Coaching Workbook – Six Steps to Unleashing Your Potential. Read the great reviews on Amazon!

Management Style !

ManagementVous ne trouverez dans cet article aucun rapport avec la chanson Coréenne qui vient de battre tous les records “de vues” sur Youtube (on peut cependant souhaiter à k4pm.com autant de succès :-)). Juste le titre qui m’a fait penser qu’un rappel sur les styles de management avait sa place sur ce blog !

On recense 4 styles de management. Chacun de ces styles est applicable en fonction de la situation, du projet, de la personne à encadrer.

Le style persuasif :

Le Manager est le “Guide”, il fait preuve d’un fort charisme. Son attitude envers les autres est l’écoute. Le résultat est une équipe soudée.

Le style participatif :

Le Manager est au centre; les informations lui remontent. Il associe les personnes qui l’entourent aux décisions. L’équipe est motivée et toute ensemble focalisée sur l’objectif. Attention, cette méthode est chronophage.

Le style délégatif (hands off approach en anglais) :

Le Manager définit les objectifs et laisse l’autonomie nécessaire à l’équipe pour les atteindre. Il ne reste présent qu’en cas de support. Bien que cette méthode favorise l’autonomie, le Manager doit être vigilant à ne pas trop ‘se couper’ de son équipe. Attention à ce que la remontée de problème vers le Manager ne soit pas trop tardive…

Le style directif (dictatorial style en anglais) :

Le Manager impose ses décisions avec fermeté. Le climat généré dans l’équipe est plutôt froid. Ce style est frustrant pour l’équipe et peut aller jusqu’à annihiler toute créativité.

Patrick

No more risks in your project management

RisksRisk Management is one of the virtues a project manager should have ! Of course, you can read PMBOK / Chapter 11 but not only…

I gonna list below the 9 necessary steps.

But before, remember that : Criticity = Probability x Impact

Step 1 : Build a risk registry

Archive in the Project Management Information System (Microsoft Sharepoint for example), a log for each identified risk with the following arguments :

  • Risk identifier (unique)
  • Risk description
  • Probability (unlikely, possible, highly probable)
  • Impact (low, medium, high)
  • A responsible for the risk management
  • Status
  • End-of-life estimated for the risk

Step 2 : Identify the risks with your team

The project manager is not alone ! risk management is a “core team’s job”

Each part of the project should be analyzed (scope, schedule, resources, budget, quality, sponsors, environment, stakeholders, providers, etc…)

Step 3 : Identify the opportunities

Even if a risk is frequently a threat, don’t forget it could be an opportunity. In this case, project manager has to explore it.

Step 4 : Analyze the root cause

Understanding the root cause will help the project manager to manage better the risk in order to reduce is criticity. Be careful if the risk become an issue !

Step 5 : Estimate the Impact

Project Manager has to build a “scoring grid” for managing the risk. This tool will help the team to quantify and classify the risks in the project.

Step 6 : Estimate the Probability (likelihood)

Same method as previous topic but for estimating the probability that this risk occurs.

Step 7 : Assign a responsible

Assigning a responsible will help the project manager to delegate the risk management to someone more skilled with the risk’s technical cause.

Step 8 : Monitor the risks

Reviewing the risk in project comity will help the project manager to estimate the total amount of the risk in its project. It’s also a good opportunity for updating the global risk status.

Step 9 : Communicate ! (again and again :-))

More than 80% of project management activity is communication. Then, communicate on risks identified and associated action plans !

Patrick

Note : same article in french here

Rise Above the Most Common Project Management Mistakes

business-man-mistake-whoopsA new year is upon us, so let’s take the opportunity to review some of the most common mistakes project managers make and decide to rise above them in 2013.

1. Underestimating your project
When you estimate a project or feature, it is very tempting to look at the sunny-case scenario and only provide best case estimates – especially if you work with a new team who is eager to please. It is also a common mistake to miss out important activities such as management overhead, documentation, rework and training. Contingency is another element which is often left out. The end result, unfortunately, is that the project runs out of money before all of the products are delivered. To read more, go to guidelines for estimating project effort.

2. Poor understanding of the detailed requirements
Many project managers have a superficial understanding of the product’s they need to deliver and how these products fit into the client’s business. They leave requirements gathering to the business analysts, which makes them vulnerable and dependent on subject matter experts for decision making and advice. It is true that you don’t have to be the expert in the domain, but you need enough knowledge that you can successfully steer the project and make effective decisions around risks, issues and quality reviews.

3. Focusing on the urgent; not the important!
We all know that project managers can be insanely busy. Busy dealing with urgent issues, defects and interpersonal conflict. But the busier you are putting out fires, the less time you will have for the really important activities such as planning, building relationships, understanding your client’s business,
motivating your team, reviewing quality etc. The reason you’re likely to spend most of your time on the urgent, is that you have not invested enough time in building up your team to handle the low level detail so that you can be freed up to focus on that which is really important.

4. Failure to properly initiate your project
We all know that failing to plan is planning to fail, but even so, many project managers jump straight into project execution without knowing what they need to deliver, how they will do it, or how much it is likely to cost. I am not an advocate of a waterfall methodology, but even in agile a firm foundation is necessary before you start to commit resources and funding. You need to fully understand what you are building, why you are doing it, how and when you will do it, and how much it is likely to cost. Find out how to initiate and plan your project here.

5. Not keeping your promises
As the project manager it is your job to keep track of the projects activities, risks and issues, and to convey the project’s status honestly and accurately to your client. If you over-promise or say you will do things without doing them, your reputation is at stake and your client will stop believing in you. To build strong relationships with your customer and your team, and to deliver your project successfully, you MUST have accurate information at hand before you make a commitment. This is true for even the smallest of promises.

6. Failure to involve the end users
One of the best ways to ensure that your project is heading in the right direction – and that it will meet your client’s needs – it to gradually show the users what you are building and to listen to the feedback they provide. Unfortunately many project manages fail to do that. They gather the user’s requirements, and then go off and build the product in isolation without incorporating regular demos, prototypes and reviews. If you manage your project in such a static way, you run the risk of building a product which may be what your client wanted, but not what they truly needed.

To improve your project management skills, and learn how to overcome the most common challenges project managers face, study The Project Management Workbook.

Published with the kind authorization from Susanne Madsen
http://www.susannemadsen.co.uk

Les facteurs de succès d’un Projet

Project success factorsEn mars 2012, le PMI® publiait une étude selon laquelle les facteurs de succès d’un projet seraient les suivants :

  • le talent de l’équipe, les compétences réunies dans un même objectif
  • la prise de temps pour la préparation du projet
  • le sponsoring par le top-management de l’entreprise
  • garder les bénéfices comme objectif essentiel
  • savoir gérer les changements

A noter également dans cette étude la forte croissance du recours aux méthodes agiles dans le Management de projets.

Vous trouvez l’original de cet article ici

Patrick

現地現物

Le Genchi Genbutsu est un 14 principes du principe de production Toyota (en anglais  : “go and see for yourself“). Cette méthode consiste à aller directement sur l’outil de travail pour se rendre compte avec les opérationnels des problèmes. Il évite d’une part les longues réunions stériles et consiste à aller discuter avec les personnes maîtrisant l’outil de production. Ainsi, l’on se rend compte par soit même des problèmes, on peut plus facilement donner les directives et surtout décider comment corriger.

Cette méthode ne s’applique pas uniquement au Management, elle s’applique à quiconque travaillant sur un projet. Evidemment, ce déplacement vers l’Opérationnel n’est pas sans rappeler un des grands principes du Management de Projet : ne pas rester derrière son bureau, aller au contact des parties prenantes et prendre directement la température du projet sur le terrain.

Cette pratique n’est pas à faire une fois (ie juste pour voir), elle doit être quotidienne, être un état d’esprit !

Le Genchi représente le lieu, l’endroit où se diriger pour rencontrer l’Opérationnel. Le Genbutsu représente le produit, l’information à recueillir, à comprendre.

Enfin, le remplacement des réunions assises dans une salle par des réunions debout devant l’outil de production rappelle évidemment le principe du Scrum Meeting, élément clé de la méthodologie Agile et du Lean Project Management.

Pour un management de projet sans risques !

RisksLe management de projet par les risques est une des vertus que doit avoir un Chef de projet. Il faut s’armer d’une bonne dose de méthodologie (cf chapitre 11 du PMBOK® Fourth Edition) mais pas seulement.. Je vais lister ci-dessous les étapes nécessaires !

Pour rappel : Criticité = Probabilité x Gravité

1) Construire le registre des risques

Archiver dans le système d’information de votre projet (Sharepoint par exemple), un registre contenant pour chaque risque identifié :

  • l’identifiant unique
  • une description
  • la Probabilité d’occurrence (faible, moyen, fort)
  • la Gravité (faible, moyen, fort)
  • le porteur
  • le statut
  • la date de fin

2) Identifier les risques avec votre équipe

L’identification des risques ne se fait pas seul, c’est le travail de la “core team” du projet. L’identification passe par une revue de tous les secteurs possibles du projet (périmètre, planning, ressources, budget, qualité, sponsors, environnement, fournisseurs, etc..)

3) Identifier les opportunités

Ne pas oublier que même si bien souvent un risque est une menace pour le projet, il peut être aussi une opportunité. Dans ce cas, il convient de l’exploiter 🙂

4) Analyser la root cause

Comprendre la cause vous permettra de mieux aborder ce risque et potentiellement en réduire sa Criticité. Le chef de projet doit fait tout son possible pour éviter que le risque ne se transforme en problème (issue) pour le projet.

5) Définir l’impact

Dès le début du projet, le chef de projet va créer “une grille de scoring” pour les risques. Cela permettra de quantifier sans doute les risques qui seront identifiés par l’équipe.

6) Définir la probabilité d’occurrence

La même démarche que pour l’impact sera initiée au début du projet et consignée dans le Plan Projet.

7) Assigner un porteur

Tout risque doit avoir un porteur qui doit s’attacher à réduire au minimum (voir faire disparaître) le risque pour le projet.

8) Organiser des revues régulières

Des revues régulières (en Comité Projet par exemple), permettrons au chef de projet de considérer si l’ensemble des risques sur le projet sont à la hausse, à la baisse ou stagnent.

9) Communiquer et……communiquer !

80% de l’activité du chef de projet est la communication.
Donc, communiquez sur les risques identifiés, communiquez sur les plans d’actions, communiquez !

Patrick

Note : la traduction anglaise ici