Sif E. Elharti's Blog

Even small acts can have a great impact…

Posts Tagged ‘développement logiciel

Agile hidden mindset

leave a comment »

No need to convince you about the benefits of Agile methods and how they can help you build the software that your customer really needs in incremental and iterative way. mindYou can easily find a lot about this subject everywhere. In this paper, we will focus on some principles unmentioned openly in Agile Manifesto. This thought came to us from real failed and successful experiences about Agile implementations.

Values and principles, defined in Agile Manifesto, are not only some rules to follow in order to have the label: ‘We are Agile!’. We have a deep conviction that behind the scene there is a fundamental consideration for person as a human being. Indeed, the central actors for any organization are the people behind it. Thus, in order to be productive and to keep being productive for a long time, there is a real need to take care of the building blocks of your organization. You will agree, for sure, that foundations have to be considered first.

Therefore, here is a first draft about some principles we think are necessary to comply with Agile hidden mindset. We noticed that when some of them are missing, this leads to Agile implementation failure. We propose these principles under three sets: “as a person”, “as a team” and “as an organization” and we give no explanations in order to keep it open to your interpretations.

As a person

  1. I have fun while working
  2. I respect my life (personal one)
  3. I respect my customers and coworkers
  4. I learn that learning has no ends and I learn that I can learn from everything
  5. I wish for the others what I wish for yourself
  6. I’m brave
  7. I’m honest
  8. I believe in myself
  9. I challenge myself
  10. I keep in mind that I’m professional and that I have to act as a professional
  11. I never underestimate the others
  12. I regularly think about these questions: how am I doing? How can I become better?

As a team

  1. We talk the same language (exp.: be sure to share the some definitions)
  2. We are all for one and everyone for all
  3. We know that : 1 mind plus 1 mind gives 3 minds
  4. We interact positively
  5. We share: knowledge, ownership, responsibility
  6. We make team decisions
  7. We agree on objectives
  8. We challenge our team
  9. We believe in our team
  10. We are suggestive rather than directive
  11. We accept differences
  12. We regularly think about these questions: how are we doing? How can we become better?

As an organization

  1. We trust our employees
  2. We enhance belonging to the organization
  3. We respect your employees
  4. We share success, and we share failures also (with moderation)
  5. We share the same vision
  6. We regularly think about these questions: how is our organization doing? How can our organization become better?

Et Voilà!

For sure, as usual, your comments and suggestions are welcome.

Sif E. El Harti


 

Even small acts can have a great impact.

Written by selharti

February 8, 2016 at 12:56 pm

Agile main best practices – with Ron and Chet –

leave a comment »

I had a great occasion to attend a conference animated by Ron Jeffries and Chet Hendrickson, and organized by Agile Quebec. Ron is one of the authors of the Agile Manifesto and Chet is one of the first signatories of the manifesto. Both of them have a huge experience with software development and agile adoption.  It was not hard for me, and I believe for anyone in audience, to figure the confidence and the large mastering they have about agile practices.

After a short introduction about the main reason for adopting an agile approach versus a classical one, specifically early delivery in incremental way, they focused on the best practices to ensure a successful project.

Key points are (but not limited to) the following:

First of all: Testing. This is not something to be done will the customer is using your product. It’s done during all the project life time. There must be, at least, two kinds of tests: Unit tests at any piece of code level and Acceptance test at product level. Ron and Chat went further and suggested that the Acceptance test must be available before any code is written for given feature.

Second: Refactoring. This is to handle the design challenge. Since the team is working with a short visibility about the upcoming features, they have to adapt their architectural design for any new feature. And once again, this must be done continuously; other ways, the design and the product itself will become an uncontrollable spaghetti.

 Third: Continuous Integration. This is to avoid the overhead of late integration when one discovers that each piece of his product is working fine but only individually and once tied together none is working.

And for sure, all of this can’t be done without a High technical skills and a good Collaboration between team members and the customer.

Enjoy agility, it’s a mindset!

Sif E. Elharti

Even small acts can have a great impact…

Written by selharti

June 3, 2010 at 11:42 pm

Jusqu’à quel point votre organisation est-elle « Agile » ?

leave a comment »

Le domaine de développement logiciel, comme tout autre d’ailleurs, n’échappe pas à l’effet de la mode. Et soudain! Tout le monde veut devenir « Agile », parce qu’un patron a lu un article, ou parce qu’un concurrent l’est devenu ou … plein d’autres raisons. Dirais-je, dans ce cas-ci, que toute raison est bonne, du moment qu’on le fasse dans les règles de l’art. Et l’une des règles de base dans l’Agilité est de se voir dans un miroir pour contempler la réalité telle qu’elle est et s’autocritiquer! D’où l’idée de cette réflexion,
Alors, voici quelques questions que je trouve intéressantes pour une première auto-évaluation de l’Agilité dans votre organisation? En répondant honnêtement à cette liste (vous n’avez pas à le faire publiquement!), vous trouverez la réponse par vous-même, si non demandez de l’aide. Le « vous » utilisé peut être toute personne impliquée ou qui a l’occasion de suivre un projet qui se dit « Agile ».
Client
1- Est-ce que le client a le droit de changer d’avis en cours de projet?
2- Votre client – ou quelqu’un qui le représente et qui peut décider en son nom- participe t-il au projet? (sans compter la demande et la livraison)
3- Votre relation avec le client est-elle orientée contrat ou collaboration?
Produit
4- Est-ce que votre produit est construit d’une façon incrémentale?
5- Si votre projet est arrêté aujourd’hui (en supposant qu’il a commencé depuis un bout), est-ce que vous aurez quelque chose à livrer?
6- Y a-t-il une seule personne qui décide du contenu du produit et des priorités?
Équipe
7- Avez-vous une équipe dédiée au projet? (qui ne se fait pas déranger pour tout et n’importe quoi.)
8- Votre équipe est-elle auto-organisée? (Il n’y a personne qui lui dicte comment faire son travail.)
9- Votre équipe travaille t-elle comme une seule unité (comme les trois mousquetaires: tous pour un et un pour tous!)
10- Votre équipe est-elle autonome? (a t-elle toutes les ressources et les compétences nécessaires pour réussir le projet.)
11- Votre équipe travaille t-elle dans un environnement ouvert et rapproché? (le cas d’équipe répartie n’est pas pris en charge dans ce questionnaire)
12- Voyez-vous de l’interaction entre les membres de l’équipe?
13- Votre équipe a t-elle des membres qui refusent de se « mouiller » dans le code? (Non! moi je ne touche pas à ça…!)
Communication
14- Avez-vous des rencontres régulières, brèves et soumises à une contrainte de temps ou plutôt longues et à l’improviste?
15- Passez-vous plus de temps sur la forme (PowerPoint) que sur le fond de vos présentations?
16- Écrivez vous de la documentation juste pour suivre le protocole où plutôt parce qu’elle est nécessaire?
Organisation
17- Avez-vous le support de votre organisation pour faire le nécessaire pour la bonne marche du projet?
18- Votre organisation favorise t-elle les personnes ou les processus?
19- Avez-vous toujours du mal à réunir toutes les parties prenantes de votre projet?
Technologie et Environnement
20- Votre équipe est-elle à jour (au courant des changements et des nouveautés) vis–à-vis des technologies que vous utilisez.
21- Avez- vous au moins trois environnements (développement, test, production)?
22- Avez-vous des testes automatiques?
Pour Finir
23- Est-ce que vous et les membres de l’équipe êtes contents de rentrer travailler chaque matin? (surtout le lundi!)
Mais, ce n’est pas fini!
Cette liste de questions ne couvre pas bien sûr tous les aspects de l’Agilité, mais elle permet au moins de se faire une petite idée sur son environnement et pourrait aider à l’améliorer.
Si après avoir répondu, vous pensez que votre organisation est « Agile » ou assez « Agile », restez sur vos gardes parce qu’être « Agile » c’est aussi être vigilant!
À la prochaine,

Sif E. Elharti

Même les petits actes peuvent avoir un grand impact.

Written by selharti

April 1, 2010 at 12:47 pm

%d bloggers like this: