Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
FROM DEV TO OPS ANDBEYONDGETTING IT DONEVolker Dusch / @_ _edorian
ABOUT MESoftware EngineerPHP since 11 yearsCICleanCodeDevOpsTDDShippingBullet points
INSTEAD OF ME
WORKING FORResearchGate gives science back to the people who make it happen.We help researchers build reputation and accel...
GET IN TOUCHstackoverflow:Twitter: @_ _edorianG+: Volker DuschIRC: edorianMail: php@wallbash.com
AGENDAWe will look at what is necessarily to keep shipping a successfulproduct beyond its initial release and what role we...
BUT BEFORE WE GET GOINGTime for a little exercise
10 YEARS AGOHOW I GOT HOOKED ON CREATING STUFF ON THEWEBCreating things is awesomeIt was super easy and fun
10 YEARS AGOCUSTOMERS"We want a website!""Can you fix this little thing please?""What do you mean youre already done?"
10 YEARS AGOWHAT IDIDNT KNOW BACK THENThings got bigger, a lot bigger"Web applications" vs. "Websites"Maintaining things w...
INTERMISSION
INTERMISSION
MY FIRST WEB APPLICATION6 devs, growing to 20Big code baseQuite some data, for the timeThis talk is about everything we ha...
SHIPPING BIGGER THINGS
LETS SHIP IT!THINGSTO TAKE CARE OFFulfilling current requirementsFiguring out what to do nextDelivery and OperationsASK QU...
WERE DEVELOPERSLets start with us!We get paid to do what we loveMost of us started because we where fascinated by programm...
OUR JOB IS TO DELIVERGet things doneGive good estimatesAsk the right questionsKeep doing thatDont slow downKeep our promises
THE COST OF HAVING USFOLKSAROUNDGerman numbers, YMMV €, ApproximationsSalary: ~50k a year 50.000€ / YearAdding non-wage la...
HOW?Evaluate everything youre doing by a simple question:“Does the practice in question help us to continuouslyship what o...
CODERules for structuring our source code that have proven to help withsustainability.
THE MOST BASIC THING:Separate the web-glue from the business logic.Keep templates stupidHave services owning the logic for...
SOLIDSingle responsibilityOpen-closedLiskov substitutionInterface segregationDependency inversionhttp://en.wikipedia.org/w...
COMPOSITION OVER INHERITANCEDont inherit from things if you can just use them.http://c2.com/cgi/wiki?CompositionInsteadOfI...
DEPENDENCYINJECTIONThis goes for you code base as well as for your whole Company.Allows for quick and easy reuse of small ...
REUSING CODEThe Dependency Manager for PHPAs easy as committing everything to your SCM. But with care freeautoloading.
TESTINGThe art of making sure that you notice failures before your customersdo.Testing exist to give you confidence when m...
THE FASTEST THING YOUCAN DOStaging serverTesting your buildsAll without even touching Behat or PHPUnithits=`curl -s stagin...
OTHER DEPARTMENTSDONT CARE ABOUT UNIT TESTINGNor should they!Your fellow developers on the other hand ... :)“The mechanic ...
CONVENTIONALWISDOM
BUT TESTING ISHAAAARDWriting proper code is hardThe harder it is to use the code in question, the harder is writing testsf...
TDDWriting tests can feel like extra work if you are rethinking an alreadysolved problemTDD offers a way to first think ab...
QUICK WINSWITH BEHATWeb tests help you detect a big amount of wiring issues with littleeffortBefore growing to many of the...
ENSURING MAINTAINABILITYGetting rid of all the things you might stumble over
CODE REVIEWThere are a lot of ways to go about thisSmall teams can use commit based reviewWhen feature branching the merge...
CODING GUIDELINESA collection for formatting and structure rules so that everyone caneasily find their way around and prod...
COMPLEXITYGUIDELINESSimilar to a coding standard but focusing on hunting down potentialproblems within your source codePos...
CONTINUOUS DEVELOPMENT PACE"Done" means there is nothing left to clean upEvery once in a while you plan time to throw away...
CIHave a automated way of checking all the things you agreed onRun web and unit testsEnsure coding guidelinesEnsure comple...
WORKING IN SHORTITERATIONSEvery iteration is a chance for people to "sync" their Vision of theproduct with the current rea...
SHIPPING REDUCES COMPLEXITY"Did we already implement this a month ago?""That bug you just reported was fixed 2 weeks ago. ...
PLANNING CAN BE A BIG MINDSET CHANGE“Nobody told me my job involved talking to... people”
ASSUME COMPETENCEWork with the basic mind set that other people are at least as good intheir job as you are in yours.If th...
HAVING EVERYONE INVOLVEDGetting everyone in the same boat and working towards a commongoal will speed you up like nothing ...
HONESTY SOLVES A LOT MORE ISSUES THAN ITCREATESTrue story.
TOOLINGTooling is needed when people cant get the information they needA wall with Postit notes and a stack of story cards...
BUGSTechnical errorsCommunication errors (and forgotten features)Fix the technical issues quickly to reduce complexityDont...
STATSState are awesome!Knowing what your users actually do with your software is valuableSeeing them use the new thing you...
OPS AND DEVOPSIf its not in production it doesnt really count.
CLASSIC APPROACH
DEVOPSTalking to the people getting up at night so you dont have to.Your SysAdmins care. A lot!Its your job to figure out ...
BUILD AND DEPLOYMENT TOOLINGA collection of scripts that gets you from "source code" to "running inproduction".Create a bu...
HOW TO GET THAT SCRIPT?It doesnt matter what language you write that tooling in. There is nogeneric answer.Chances are the...
LINKShttp://abc.tools.qafoo.cohttp://www.capistranorb.com/Example Ant: http://jenkins-php.orghttp://symfony.com/doc/curren...
PROVISIONINGGetting servers and development environments in a known stateHaving the SAME versions on dev and prod is inval...
CONFIGURATION MANAGEMENTAny solution will require close collaboration with the folks running theproduction boxes or lead t...
DATA MIGRATIONSThis questions comes up a lot when talking about automation. There isno easy answer.Very specific to your p...
THANK YOU!
QUESTIONS?Get in touchTwitter: @_ _edorianG+: Volker DuschIRC: edorianMail: php@wallbash.comCheck those things out:Faceboo...
HAVING EVERYONE INVOLVEDGetting everyone in
Prochain SlideShare
Chargement dans…5
×

HAVING EVERYONE INVOLVEDGetting everyone in From dev to ops and beyond - getting it done

HAVING EVERYONE INVOLVEDGetting everyone in the same boat and working towards a commongoal will speed you up like nothing else every will.ProductDesignCopyrightingEngineering""Upper management""If you can ensure that everyone was involved somewhere in the loopyou spend way less time on re-discussing and avoid confusion.

  • Identifiez-vous pour voir les commentaires

×