52
PHP TEAM ORGANIZATION samedi 30 octobre 2010

PHP Team Organisation

Embed Size (px)

DESCRIPTION

Aujourd’hui, les équipes de développement PHP dépassent facilement la douzaine de personnes, et la croissance n'est pas prête à s'arrêter. Pour réussir un projet, il faut désormais prendre en compte le facteur humain : organiser son équipe.Directement du front, nous partagerons ensemble des trucs et astuces pour accommoder au mieux les juniors et gourous, assouplir les discussions avec les utilisateurs, élever le niveau de tout le monde, et rendre les projets critiques un peu plus fun. Nous ne verrons aucun code PHP : juste comment vivre avec.

Citation preview

Page 1: PHP Team Organisation

PHP TEAM ORGANIZATION

samedi 30 octobre 2010

Page 2: PHP Team Organisation

AGENDA

Acknowledge the human factor

Organise your team

Raise the competences of everyone

samedi 30 octobre 2010

Page 3: PHP Team Organisation

WHO IS SPEAKING?

Damien Seguy

Raise elephpants

Expert services manager at Alter Way group

[email protected]

samedi 30 octobre 2010

Page 4: PHP Team Organisation

YESWE TAKE

QUESTIONS

samedi 30 octobre 2010

Page 5: PHP Team Organisation

INDUSTRIALISATION

samedi 30 octobre 2010

Page 6: PHP Team Organisation

TEAM FUNCTIONS

samedi 30 octobre 2010

Page 7: PHP Team Organisation

TEAM FUNCTIONS

Project style

Analyst

Developper

Tester

Doc writer

samedi 30 octobre 2010

Page 8: PHP Team Organisation

TEAM FUNCTIONS

Project style

Analyst

Developper

Tester

Doc writer

PHP style

Database architect

Core PHP

HTML integrator

Test writer

samedi 30 octobre 2010

Page 9: PHP Team Organisation

TEAM FUNCTIONS

Project style

Analyst

Developper

Tester

Doc writer

PHP style

Database architect

Core PHP

HTML integrator

Test writer

Agile style

Product owner

Technical expert

Manager

Team members

samedi 30 octobre 2010

Page 10: PHP Team Organisation

HUMAN FACTOR

Juniors are silent

Seniors are oral

You don’t have time to check all the code all the time

You need to work as a team

samedi 30 octobre 2010

Page 11: PHP Team Organisation

What we do well

What we want to do

What will push forward the project

samedi 30 octobre 2010

Page 12: PHP Team Organisation

What we do well

What we want to do

What will push forward the projectCame to us

Proje

ct su

cces

s

Our desires

samedi 30 octobre 2010

Page 13: PHP Team Organisation

What we do well

What we want to do

What will push forward the project

samedi 30 octobre 2010

Page 14: PHP Team Organisation

What we do well

What we want to do

What will push forward the project

MoltBé

samedi 30 octobre 2010

Page 15: PHP Team Organisation

What we do well

What we want to do

What will push forward the project

Do better

MoltBé

samedi 30 octobre 2010

Page 16: PHP Team Organisation

What we do well

What we want to do

What will push forward the project

Evangelize

Do better

MoltBé

samedi 30 octobre 2010

Page 17: PHP Team Organisation

What we do well

What we want to do

What will push forward the project

Evangelize

Say no Do better

MoltBé

samedi 30 octobre 2010

Page 18: PHP Team Organisation

AGENDA

Learn to say no

Learn to do it better

Evangelize

samedi 30 octobre 2010

Page 19: PHP Team Organisation

DO IT BETTERWeekly meeting

GurusCompetition

samedi 30 octobre 2010

Page 20: PHP Team Organisation

TECHNICAL MEETING

Weekly meeting

Gather all your team for technical time

1 hour, dedicated to technics, tools, methods

Outside project pressure

samedi 30 octobre 2010

Page 21: PHP Team Organisation

WEEKLY MEETING

1 hour only

Everyone must attend, tasks will wait

Assign a note taker

Works as training

Make sure everyone talk during the meeting

samedi 30 octobre 2010

Page 22: PHP Team Organisation

WEEKLY MEETING

Subjects

Discussion of future stuff : new version, techno...

Specific training on tools, methods

Read indicators (audits, PI, etc..)

Review reference documents

One question each (helps prepare for the meeting)

samedi 30 octobre 2010

Page 23: PHP Team Organisation

CHOOSE YOUR GURU

Terms appeal to dev, makes man. laugh

Find him inside

Hire one from outside

No full time needed

samedi 30 octobre 2010

Page 24: PHP Team Organisation

NAME DOMAIN GURUS

Create domain experts

specific domain

Unit test, IHM, database

Willing team member

Name it after he has taken the responsability.

samedi 30 octobre 2010

Page 25: PHP Team Organisation

HEALTHY COMPETITION

Number of unit tests

Lines of code

Number of method

Number of commits

Code_Sniffer violations

Mystery objective

samedi 30 octobre 2010

Page 26: PHP Team Organisation

HEALTHY COMPETITION

Have a prize

Not money : bad idea

Free time, the big screen, the PHP mascot, doing a study on the new tech...

Keep this friendly

samedi 30 octobre 2010

Page 27: PHP Team Organisation

LEARN TO SAY NO5 minuts meeting

Short cyclesReferences

samedi 30 octobre 2010

Page 28: PHP Team Organisation

5 MINUTS DAILY

Early in the morning, regular schedule

Done standing up : no dozing or typing

Everyone talk :

Today’s goal

Yesterday’s progress

Main blocking problem

samedi 30 octobre 2010

Page 29: PHP Team Organisation

5 MINUTS DAILY

Helps junior organizing their project

First step for project planning

Give a start to the day with the team

Sharing with the team members

No need for preparing : may reduce email syndrom

samedi 30 octobre 2010

Page 30: PHP Team Organisation

SHORT CYCLES

Make the full cycle from dev to version

Perfection come from practise

Include the whole cycle from spec to end user. No more ‘hoster is late syndrom’

Fight the tunnel effect

samedi 30 octobre 2010

Page 31: PHP Team Organisation

REFERENCES

Document gathering your conventions

Better shared as Wiki,

Coding, security reference, commit policy, conception document

samedi 30 octobre 2010

Page 32: PHP Team Organisation

REFERENCES

Document objective

Executive summary (3 paragraphs)

List of the conventions you set up

samedi 30 octobre 2010

Page 33: PHP Team Organisation

REFERENCES

Name

Description

What happens if this is ignored

Example, anti-example

Way of checking this convention : manual, automatic tool, search + refine...

samedi 30 octobre 2010

Page 34: PHP Team Organisation

PHP MANTRA

Don’t forget to produce your PHP mantra from them

Short version of your conventions

4-7 points to always always remember

samedi 30 octobre 2010

Page 35: PHP Team Organisation

EVANGELIZEChristianize

Tag your codeCross audit

samedi 30 octobre 2010

Page 36: PHP Team Organisation

CHRISTIANIZE

Give a cool name to your project :

Project Jaguar, the Alpha Team, Army of Ants

Debian Lenny, Microsoft Longhorn, OSX Lion

http://online-generator.com/name-generator/project-name-generator.php

Most of the time, someone else will choose it : fight for it!

samedi 30 octobre 2010

Page 37: PHP Team Organisation

CHRISTIANIZE

Get a mascot

Plush toy, poster, T-shirt, etc.

Helps member identifies with the project

samedi 30 octobre 2010

Page 38: PHP Team Organisation

TAG YOUR CODE

Documentation on PHP doc

Tags comments and extract them

Review them easily

samedi 30 octobre 2010

Page 39: PHP Team Organisation

<?php // @todo must handle time zone $heure = date("Hhi");

// @security this date is wrong

// @attention : this is not yet internationalized print("<font size="2" face="Arial"> $heure .</font>");

// @emptyelse

// @review #damien please, I'm not sure of this

// @security @performance @PHP5 @audit we don't do this here ?>

samedi 30 octobre 2010

Page 40: PHP Team Organisation

TAG CODE

Just like we tag URL, images, etc.

More specific that just a comment

Spot untagged comments

Leave notes to yourself, for later

samedi 30 octobre 2010

Page 41: PHP Team Organisation

samedi 30 octobre 2010

Page 42: PHP Team Organisation

CROSS AUDITS

Set up the reference

Team up everyone two by two

Review every commit by the other dev

Spend afternoon on reviewing code

Why not try pair-coding?

Shares knowledge, serves as training

samedi 30 octobre 2010

Page 43: PHP Team Organisation

SUMMARY

Learn to say no

Weekly meeting, gurus, competition

Learn to do it better

5 minuts meeting, short cycle, references

Evangelize

Christianize, cross audit, tag your code

samedi 30 octobre 2010

Page 44: PHP Team Organisation

samedi 30 octobre 2010

Page 45: PHP Team Organisation

D A M I E N . S E G U Y @ A LT E RWAY. F R!http://www.slideshare.net/dseguy/

samedi 30 octobre 2010

Page 46: PHP Team Organisation

THE END

samedi 30 octobre 2010

Page 47: PHP Team Organisation

DIFFERENT CYCLES

Dev cycles is not the same as others departments

30 % of production time is max

50 % of time in coding is max

Book time ahead, report everything until you’re done

samedi 30 octobre 2010

Page 48: PHP Team Organisation

20%

10%

10%

10%

50%

Coding Test Doc Review Production

samedi 30 octobre 2010

Page 49: PHP Team Organisation

BUDGET TIME

Always double your estimation

10% tests, 10% haggling, 20% unforseen, 10% new tech

50% coding (your estimatio)

samedi 30 octobre 2010

Page 50: PHP Team Organisation

I like my tools to be with short ROI

Have the regular task, and the emergency one. An emergency tool used all the time becomes a regular task.

samedi 30 octobre 2010

Page 51: PHP Team Organisation

3 TEAM MEMBER

Senior

Junior

Middle

samedi 30 octobre 2010

Page 52: PHP Team Organisation

VCS

Live with it

Center of your life

All automated tools will work on it

Gather SQL, deployment, code, data, etc.

samedi 30 octobre 2010