françois beauregard

François est fondateur de Pyxis. Animé d'une passion pour le développement logiciel, François souhaite participer à des projets de développement logiciel dont les résultats sont exceptionnels tout en maximisant la qualité de vie et la satisfaction personnelle de tous les intervenants. Il agit comme accompagnateur, formateur, facilitateur et conseiller expert pour des entreprises désirant améliorer leur productivité en développement informatique et adopter une approche Agile.
voir mon profil complet »

Articles de françois :


    L’équilibre… un défi!

    L’équilibre travail-vie personnelle est quelque chose que j’ai toujours valorisé et qui se retrouve dans la raison d’être de Pyxis.

    Pyxis aide les organisations de développement logiciel à devenir des endroits où les résultats, la qualité de vie et le plaisir coexistent de façon durable en étant en premier lieu un exemple de ce qu’elle propose à ses clients et en accompagnant ceux-ci.

    Je dois avouer que dans certains cas, à Pyxis nous ne sommes pas fidèles à cette raison d’être et nous nous mettons une pression professionnelle qui nous amène à perdre cet équilibre. Je reste tout de même convaincu qu’elle nous sert de guide. Au cours des dernières années, j’ai personnellement été particulièrement délinquant et je n’ai pas été fidèle à mes valeurs en accordant trop d’importance aux aspects professionnels de ma vie.

    Dernièrement, j’ai lu The Seven-Day Weekend. Ce livre m’inspire; j’y ai trouvé des moyens d’enrichir la culture de Pyxis en y incluant certaines pratiques de gestion. Toutefois je suis lent à me les appliquer à moi-même. J’espère y arriver un jour. Il ne faut pas perdre espoir!

    Sur le chemin de mon équilibre personnel, j’ai décidé de faire quelques trucs concrets. En mai dernier, j’ai commencé à faire du jogging régulièrement pour me remettre en forme et parce que, pour un introverti comme moi, c’est une source de bien-être. Durant l’année, j’ai fait quelques rechutes… une nette amélioration quand même!

    Une autre décision que j’ai prise dans une recherche d’équilibre : prendre quatre semaines de vacances consécutives; une première!

    Le 26 mars, veille de mon départ en vacances, j’ai décidé de me fixer le défi de courir un minimum de 3 km chaque jour de mes vacances (c’est-à-dire 30 jours consécutifs). Pour m’encourager, j’ai fait parvenir à des collègues et amis une invitation à faire un don de 50 $ ou 100 $ à la Fondation Sport-Études.


    Grâce à RunKeeper, Facebook et Twitter, certains ont pu suivre live mes courses dans mon quartier, à Cuba, à Las Vegas (une petite sortie de mes vacances pour le lancement de Urban Turtle 2010 avec Dominic et Mario) et ailleurs en Californie. Trente jours consécutifs avec un minimum de 3 km par jour pour un total de 154 km. Défi relevé!

    Il n’est évidemment pas trop tard pour m’encourager. C’est très simple :
    1. Faites votre don en ligne et obtenez un reçu fiscal.
    2. Envoyez-moi un courriel m’indiquant votre don.

    Si vous êtes dans une démarche de remise en forme et que le jogging vous plaît, n’hésitez pas à joindre mon ‘street team’ sur RunKeeper.

    ~françois

    dans Agile

    Easy Multi-Level Planning with Urban Turtle

    Most successful Agile/Scrum teams use a multi-level planning approach. There are a couple of quotes that I like and always mention in my Scrum training:

    “Planning is everything. Plans are nothing.” – Winston Churchill

    “No plan survives contact with the enemy.” – Helmuth von Moltke the Elder

    I think they are good guiding principles.

    Lets have a look at how Urban Turtle supports teams that use multi-level planning. Here we will use an example with releases and sprints but note that you can use as many levels as you want. However, if you decide to add more levels as a team, make sure they are truly needed and they are not just inducing extra complexity.

    In this blog, I will use the user story and sprint terms because they are very common. Note that terms may vary depending on the process template you are using. Urban Turtle ships with mapping files for some popular Agile/Scrum process templates. It is very easy to create a simple XML mapping file to use Urban Turtle with almost any process template. For those who have their own customized process template, we will shortly write a blog entry that will explain how to easily create the mapping file.

    During early project planning, the team will create some user stories and use Urban Turtle’s drag and drop capabilities to prioritize their product backlog.

    When the team is ready for release planning, it is time to add the next release and some sprints. Here I have a sample release with three sprints.

    Note that it may be tempting to try and schedule up-front every story in specific sprints, but our experience shows us that it is better to defer the decisions and let the team inspect and adapt as it achieves some sprints. By deferring the commitment as much as possible, the team takes ownership of their backlog and their planning activities. In other words, have the team evaluate their capacity for the release based on past velocity and commit user stories in the release according to this.

    Note that because Urban Turtle computes all the statistic roll-ups, if the team is sure that a story needs to be done in a particular sprint, they can simply commit it to a sprint via drag and drop. In doing so, the release view will not be affected. When the team will get to the sprint planning for this particular sprint they will see an that the user story is already committed.

    Also take note that normally the team will wait until a sprint planning activity to identify task. However, if they have already identified a task for a story and want to make sure they do not forget it, they can simply create it in advance. Later on, when they will commit the story into a sprint, the tasks will also be automatically committed.

    During the first part of a sprint planning activity, the team identifies its commitment for the next sprint. The team goes to the current release and checks the option to display only user stories that are not yet committed in a sprint. Then they drag and drop the stories they want to plan in the sprint until they feel they have reached their capacity.

    Note again that Urban Turtle does all of the roll-ups for the user, allowing to have the statistics for your releases and sprints at a glance.

    During the second part of sprint planning, the team creates the tasks that constitute their sprint backlog.

    I hope that this blog gave you a good idea how Urban Turtle supports teams in their various planning activities while keeping the flexibility of not dogmatically following the suggested process.

    Happy planning.

    ~francois

    Answering some common questions about Urban Turtle

    Last week we were in Las Vegas at devconnections for the launch of Visual Studio 2010 and to present the new version of Urban Turtle. We often got the following questions :

    1. Do we need to install anything on the workstations?
    2. What happens if I customize the process template to fit the specific needs of my organization?
    3. Does UrbanTurtle interfere with other tools from Microsoft, other vendors or that we could have developed?
    4. What are your plans?
    5. What is your pricing?

    Do we need to install anything on the workstations?

    From the beginning, our goal is that Urban Turtle users do not feel as if hey are using another product. We want to increase their comfort and simply extend their usage of Team Foundation Server (TFS). To achieve this, we did several things. The main one is that the user interface seamlessly blends in with Web Access of TFS. Therefore, there is just a one-time installation process on the server.

    Furthermore when we developed the new installation process for the VS 2010 compatible version, Dominic’s (the Product Owner) condition of satisfaction was that the installation takes less than 5 minutes. The team over delivered because most of the time, the installation takes less than 2 minutes. If your installation takes longer, please let us know.

    What happens if I customize the process template to fit the specific needs of my organization?

    We know by experience that a lot of organization will want to use a standard process template and customize it by adding some fields to some work items or slightly customize some workflows or … In other words, there is no one way of doing Agile and Scrum. Therefore we designed Urban Turtle to let you take advantage of TFS’s customization capabilities; Urban Turtle is designed to be process template independent. It only needs to know a couple of things about your process template. This information needs to be put in a simple XML file. We will shortly write a blog entry that will explain how to easily create the mapping file. In the meantime, do not hesitate to ask questions on the forum

    Does UrbanTurtle interfere with other tools from Microsoft, other vendors or that we could have developed?

    No, Urban Turtle does not interfere with any tool.

    Again our goal in designing Urban Turtle is that it seamlessly inserts itself in the TFS ecosystem. To achieve this, we decided to rely on standard extension mechanism and not have a separate data store. Urban Turtle directly manipulates work items using the standard APIs.

    This allows us for example to validate the workflow transitions in the task board even if you customize your workflows. Also, since you customize your work item fields using standard mechanism and Urban Turtle does not add extra data, the powerful reporting and data warehousing capabilities of TFS will not be affected and will work as documented by Microsoft.

    What are your plans?

    The team is currently in the last sprint to release version 3.0. The product, the development environment and the team are now in a mature enough state to do solid public releases every 4 to 6 weeks. We will publish a blog every sprint to announce what we are working on.

    What is your pricing?

    I hope this answers the most common questions. If I missed some, do not hesitate to ask.

    Do not hesitate to turtle your TFS, you are less than 5 minutes away!

    ~francois

    Pyxis en vidéo sur WebTV.coop

    Pyxis est en vedette dans une courte vidéo sur WebTV.coop.

    Une coopérative de travailleurs actionnaire – Pyxis Technologies

    Je souhaite toujours en apprendre et transmettre notre expérience donc si vous souhaitez échanger sur le sujet des structures de gestion novatrices ou tout ce qui a trait à la mise en oeuvre d’une coopérative de travailleurs actionnaire, n’hésitez pas à me contacter.

    Make sure your software is continuously specified

    As you may have noticed in the Executable Specification and build integration post, build system integration is an area where GreenPepper shines. Most teams having good automated build practices also use a continuous integration (CI) server. We provide more comfort to those teams by allowing them to look at their GreenPepper execution results directly from their CI server user interface, we have developed integration with two major CI servers: Bamboo and Hudson.

    Bamboo Build View :

    Bamboo build view

    Hudson Build View :

    Hudson build view

    If you would like us to develop an integration with your favourite CI server, let us know.

    Enfin un bouquin au sujet de scrum en français

    J’ai reçu il y a environ une semaine ma copie du premier bouquin au sujet de scrum en français. Scrum : Le guide pratique de la méthode agile la plus populaire a été écrit par Claude Aubry. Claude nous offre un regard pratique et lucide au sujet de scrum et de sa mise en oeuvre dans les organisations.

    Ayant été en contact à quelques reprises avec Claude depuis quelques années, c’est avec grand plaisir que j’ai signé la préface du bouquin et fait quelques commentaires lors de la lecture du manuscrit.

    À quand le prochain bouquin en français au sujet de l’agilité en développement logiciel?

    _agilely Timer dernière chance avant que ce soit gratuit ;)

    _agilely Timer permet aux praticiens de l’Agilité ayant un iPhone ou un iPod Touch de gérer efficacement les blocs de temps, les mêlées quotidiennes et les tables rondes. Dans quelques jours l’application sera gratuite. Cela veut dire qu’il ne vous reste que peu de temps pour vous procurer l’application et ainsi faire un don à FIAN, une ONG internationale travaillant au respect et à la réalisation du droit à l’alimentation.

    Merci de soutenir cette initiative!
    ~françois

    dans Agile

    Put your specifications in the freezer

    Some developers are asking me : How do I tag my specification when I do a release or close a development branch while GreenPepper does not provide full SCM capabilities in the wiki.

    I explained in Why we did not implement a full SCM for specifications why we did not think it was a good idea to implement full SCM capabilities in the wiki.

    To achieve the need stated above, we have implemented in all our build system integrations (Maven, MSBuild and Nant) a feature called freeze, what this does is simply going to the wiki server to get the specifications and store them locally. See the documentation to learn what you need to do in your build script.

    You simply commit those files and tag them with your source files. Couldn’t be simpler!

    Life is Green!

    You can even come back months after the release and execute the specifications locally from your IDE or from the command line.

    Life is Greener!

    dans Agile

    Why we did not implement a full SCM for specifications

    In the Executable Specification and Build Integration post, I explain how GreenPepper supports the full development cycles. Some people sometimes ask me why we do not have full SCM features with branches, tags and merge in the wiki integrations that we have.

    GreenPepper promotes a very inclusive approach and we thought that customers and users involved in development team would find it too technical and would be confused by branching and merging features.

    In GreenPepper the users simply modifies and save. He doesn’t even need to understand versioning. It cannot be simpler.

    Some developers ask me: But how do I keep track (tag) of the specifications when we do a release. I cover this in details in the Put your specifications in the freezer blog post.

    dans Agile

    Executable Specification and build integration

    It is usually not long after adopting the Executable Specification practice (aka Example Driven Development, Acceptance Test Driven Development – ATDD, Story Test Driven Development – STDD) that good software teams want to integrate GreenPepper in their build process. This is an area where we think GreenPepper shines.

    GreenPepper allows for a smooth process of adding / modifiying specifications -> implementing in TDD style -> committing code and specification –> automated continuous build.

    Let me walk you through what happens.

    At the beginning (and during) of an iteration or sprint some specification pages are modified or added. GreenPepper keeps track of the implemented vs working copy.

    The various build tool integration we have (Maven, MSBuild, Nant …) will continue to use the implemented version therefore your build is not broken and you do not need to move the modified or added pages in a temporary area. Great!

    At some point a developer will assign himself to the implementation. In his favorite IDE (Eclipse or Visual Studio) he can easily locate the modified specification page and switch to the working copy

    Then he executes the page and should see the page not passing

    Then he goes and develop the code TDD style with his favorite unit testing tool integrated in his IDE (JUnit, TestNG, Visual Studio, Nunit, etc.) He can frequently re-execute the page and see it slowly turn from red to green!

    Once it is all green, he commits his code in the source control and from the IDE he sets the specification page as implemented.

    The next build will use the committed code and page and life will be Green!