php team organisation
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.TRANSCRIPT
![Page 1: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/1.jpg)
PHP TEAM ORGANIZATION
samedi 30 octobre 2010
![Page 2: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/2.jpg)
AGENDA
Acknowledge the human factor
Organise your team
Raise the competences of everyone
samedi 30 octobre 2010
![Page 3: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/3.jpg)
WHO IS SPEAKING?
Damien Seguy
Raise elephpants
Expert services manager at Alter Way group
samedi 30 octobre 2010
![Page 4: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/4.jpg)
YESWE TAKE
QUESTIONS
samedi 30 octobre 2010
![Page 5: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/5.jpg)
INDUSTRIALISATION
samedi 30 octobre 2010
![Page 6: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/6.jpg)
TEAM FUNCTIONS
samedi 30 octobre 2010
![Page 7: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/7.jpg)
TEAM FUNCTIONS
Project style
Analyst
Developper
Tester
Doc writer
samedi 30 octobre 2010
![Page 8: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/11.jpg)
What we do well
What we want to do
What will push forward the project
samedi 30 octobre 2010
![Page 12: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/13.jpg)
What we do well
What we want to do
What will push forward the project
samedi 30 octobre 2010
![Page 14: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/18.jpg)
AGENDA
Learn to say no
Learn to do it better
Evangelize
samedi 30 octobre 2010
![Page 19: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/19.jpg)
DO IT BETTERWeekly meeting
GurusCompetition
samedi 30 octobre 2010
![Page 20: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/27.jpg)
LEARN TO SAY NO5 minuts meeting
Short cyclesReferences
samedi 30 octobre 2010
![Page 28: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/32.jpg)
REFERENCES
Document objective
Executive summary (3 paragraphs)
List of the conventions you set up
samedi 30 octobre 2010
![Page 33: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/34.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/35.jpg)
EVANGELIZEChristianize
Tag your codeCross audit
samedi 30 octobre 2010
![Page 36: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/36.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/38.jpg)
TAG YOUR CODE
Documentation on PHP doc
Tags comments and extract them
Review them easily
samedi 30 octobre 2010
![Page 39: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/39.jpg)
<?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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/41.jpg)
samedi 30 octobre 2010
![Page 42: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/42.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/43.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/44.jpg)
samedi 30 octobre 2010
![Page 45: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/45.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/46.jpg)
THE END
samedi 30 octobre 2010
![Page 47: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/47.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/48.jpg)
20%
10%
10%
10%
50%
Coding Test Doc Review Production
samedi 30 octobre 2010
![Page 49: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/51.jpg)
3 TEAM MEMBER
Senior
Junior
Middle
samedi 30 octobre 2010
![Page 52: PHP Team Organisation](https://reader034.vdocuments.mx/reader034/viewer/2022051515/55855998d8b42a78328b4b4a/html5/thumbnails/52.jpg)
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