Upload
alter-way
View
1.564
Download
2
Tags:
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
PHP TEAM ORGANIZATION
samedi 30 octobre 2010
AGENDA
Acknowledge the human factor
Organise your team
Raise the competences of everyone
samedi 30 octobre 2010
WHO IS SPEAKING?
Damien Seguy
Raise elephpants
Expert services manager at Alter Way group
samedi 30 octobre 2010
YESWE TAKE
QUESTIONS
samedi 30 octobre 2010
INDUSTRIALISATION
samedi 30 octobre 2010
TEAM FUNCTIONS
samedi 30 octobre 2010
TEAM FUNCTIONS
Project style
Analyst
Developper
Tester
Doc writer
samedi 30 octobre 2010
TEAM FUNCTIONS
Project style
Analyst
Developper
Tester
Doc writer
PHP style
Database architect
Core PHP
HTML integrator
Test writer
samedi 30 octobre 2010
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
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
What we do well
What we want to do
What will push forward the project
samedi 30 octobre 2010
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
What we do well
What we want to do
What will push forward the project
samedi 30 octobre 2010
What we do well
What we want to do
What will push forward the project
MoltBé
samedi 30 octobre 2010
What we do well
What we want to do
What will push forward the project
Do better
MoltBé
samedi 30 octobre 2010
What we do well
What we want to do
What will push forward the project
Evangelize
Do better
MoltBé
samedi 30 octobre 2010
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
AGENDA
Learn to say no
Learn to do it better
Evangelize
samedi 30 octobre 2010
DO IT BETTERWeekly meeting
GurusCompetition
samedi 30 octobre 2010
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
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
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
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
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
HEALTHY COMPETITION
Number of unit tests
Lines of code
Number of method
Number of commits
Code_Sniffer violations
Mystery objective
samedi 30 octobre 2010
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
LEARN TO SAY NO5 minuts meeting
Short cyclesReferences
samedi 30 octobre 2010
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
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
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
REFERENCES
Document gathering your conventions
Better shared as Wiki,
Coding, security reference, commit policy, conception document
samedi 30 octobre 2010
REFERENCES
Document objective
Executive summary (3 paragraphs)
List of the conventions you set up
samedi 30 octobre 2010
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
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
EVANGELIZEChristianize
Tag your codeCross audit
samedi 30 octobre 2010
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
CHRISTIANIZE
Get a mascot
Plush toy, poster, T-shirt, etc.
Helps member identifies with the project
samedi 30 octobre 2010
TAG YOUR CODE
Documentation on PHP doc
Tags comments and extract them
Review them easily
samedi 30 octobre 2010
<?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
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
samedi 30 octobre 2010
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
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
samedi 30 octobre 2010
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
THE END
samedi 30 octobre 2010
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
20%
10%
10%
10%
50%
Coding Test Doc Review Production
samedi 30 octobre 2010
BUDGET TIME
Always double your estimation
10% tests, 10% haggling, 20% unforseen, 10% new tech
50% coding (your estimatio)
samedi 30 octobre 2010
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
3 TEAM MEMBER
Senior
Junior
Middle
samedi 30 octobre 2010
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