Expectations:
Expectation1: Clientswantall releasestogoto productionseamlesslyandontime
Expectation2: PMs want easilymaintainmultiple independentenvironments
Expectation3: Clientswantreleasestobe of a highqualitywithminimumpostproductionbugs
Expectation4: PMs want developmentteamtofeel responsible fordeliveredcode
Expectation5: PMs want deploymenttobe independentfromthe entire team(orasingle person)
Expectation6: ClientsandPMs wantto be sure that everythingisundercontrol!
Typical bad practices:
- cloningdatabasesdownstream
- manuallyreproducingcontentonprodenvironments
- followingaseriesof error-prone manual stepsoneachenvironment
- lack of QA (code reviewandmanual/automatedtesting)
- contentgetsoverridenonprod
- teammembersdonot followdisciplines/processesthe teamagreedtofollow - donotfeel responsibility
- QA isdone aftercode is mergedtomasterbranch
- Development/QA environmentdoesn’tresemble the prodenvironment
@Alex:shall we provide anycomparisonwithotherexistingCIsolutions?
- "Thisisa kindof magic: howa PM can launchthe rocketsto the sky".A short overview of the CIBOXworkflowfrom
non-technical perspective
Demo:
- "Doesitevenmatterfor myclients?".
Keypoints:minimumpostdeploymentbugs,shorterUATperiod,flexibility,releasescanbe stable andplannedin
advance,parallel work onmajorprojectscope andSLA tasksetc.
Introduction
● Introduce Albina
● Introduce Alex
● FFW
● We are remote team!
Preface
● One day we’ve realized that workflow and development process is a 90% of success
● Let's see why it is so
Problems, @Albina
● Expectations
○ Expectation1: Clientswantall releasestogoto productionseamlesslyandontime
○ Expectation2: PMs want easilymaintainmultiple independentenvironments
○ Expectation3: Clientswantreleasestobe of a highqualitywithminimumpostproductionbugs
○ Expectation4: PMs want developmentteamtofeel responsible fordeliveredcode
○ Expectation 5: PMs wantdeploymenttobe independentfromthe entire team(ora single person)
○ Expectation6: ClientsandPMs wantto be sure that everythingisundercontrol!
Conflict, @Alex @Albina
● @Albina, ADD YOUR TEXT HERE
● When you done project, how often you say to yourself: “WE HAVE TO CHANGE OUR PROCESS,
IT’S SHIT!” I'm sure ~70% of audience do this very often :) Even I do this regularly.
● Main conflict:
○ 1st type of process - No process!
○ 2nd type of process - CI workflow
○ Everything else - no process.
○ Why so?
● Wrong way [picture, slap shit together and deploy] - bad practices - 4-5(Changes directly on
production etc.), @Alex
● Do you want get rid of that???
Problem solving(How to make your production smooth)
● Caution! Addictive content goes next!
http://boombob.ru/img/picture/Jul/02/b5abaeef6dda6d4707e718fd4a53674b/10.jpg
http://i99.beon.ru/i.imgur.com/fisxT.gif
● How our workflow looks like, @Albina
○ Everything automated.
○ PM can deploy anytime
○ Remote team follows defined process
○ You are forced to follow general process, since everything automated
● From technical perspective, @Alex
○ Specifications
○ Code Driven Development
○ Prototypes vs on fly
○ Review(Knowledge exchanging)http://cdn.meme.am/instances/500x/54727623.jpg
○ Automate everything
○ http://i2.asp.net/media/48525/image012.png?cdn_id=2015-08-15-002
■ Not sure about following:
○ Isolated features on every build
○ No friday deployments http://s.mlkshk-cdn.com/r/YF94
○ Flexibility about CI workflow configuration - DevOps
○
● For PMs, @Albina
○ Feeling of completed task/milestone - you can be 99% sure that task was properly tested by
minimum 2 people (reviewer and QA)
○ You can be sure that test/staging environment is the same as prod - no unique non-
reproducible prod issues
○ Developer is always responsible for his/her feature (during project) - all bad code is detected
by reviewer, no right for mistake, dude :)
● For Clients, @Albina
○ Shorter UAT period = Minimum postdeployment bugs - your clients can relax and enjoy the
process
○ Flexibility to work on multiple versions/scopes on one project (SLA, Hotfixes for example) -
○ Releases can be stable
○ Flexibility about planning releases in advance
○ Demo for the client can be held on whatever environment is up-to-date
Summary
● Why is it so important? @Albina, @Alex
○ High quality product delivered - management & customers are happy
○ Result of our work immediately used by end-users
○ Team is constantly improving its skills and expertise
● And our life is divided into 2 parts: before CI workflow and after CI workflow.
● As result was born Open Source project CIbox.
End
● CIbox workshop, please fill out form.
● You can find us [bla, bla]
● Questions

Happy ever afters with ci workflow

  • 1.
    Expectations: Expectation1: Clientswantall releasestogotoproductionseamlesslyandontime Expectation2: PMs want easilymaintainmultiple independentenvironments Expectation3: Clientswantreleasestobe of a highqualitywithminimumpostproductionbugs Expectation4: PMs want developmentteamtofeel responsible fordeliveredcode Expectation5: PMs want deploymenttobe independentfromthe entire team(orasingle person)
  • 2.
    Expectation6: ClientsandPMs wanttobe sure that everythingisundercontrol! Typical bad practices: - cloningdatabasesdownstream - manuallyreproducingcontentonprodenvironments - followingaseriesof error-prone manual stepsoneachenvironment - lack of QA (code reviewandmanual/automatedtesting) - contentgetsoverridenonprod - teammembersdonot followdisciplines/processesthe teamagreedtofollow - donotfeel responsibility - QA isdone aftercode is mergedtomasterbranch - Development/QA environmentdoesn’tresemble the prodenvironment
  • 3.
    @Alex:shall we provideanycomparisonwithotherexistingCIsolutions? - "Thisisa kindof magic: howa PM can launchthe rocketsto the sky".A short overview of the CIBOXworkflowfrom non-technical perspective Demo: - "Doesitevenmatterfor myclients?". Keypoints:minimumpostdeploymentbugs,shorterUATperiod,flexibility,releasescanbe stable andplannedin advance,parallel work onmajorprojectscope andSLA tasksetc. Introduction ● Introduce Albina ● Introduce Alex ● FFW ● We are remote team! Preface ● One day we’ve realized that workflow and development process is a 90% of success ● Let's see why it is so Problems, @Albina ● Expectations ○ Expectation1: Clientswantall releasestogoto productionseamlesslyandontime ○ Expectation2: PMs want easilymaintainmultiple independentenvironments ○ Expectation3: Clientswantreleasestobe of a highqualitywithminimumpostproductionbugs
  • 4.
    ○ Expectation4: PMswant developmentteamtofeel responsible fordeliveredcode ○ Expectation 5: PMs wantdeploymenttobe independentfromthe entire team(ora single person) ○ Expectation6: ClientsandPMs wantto be sure that everythingisundercontrol! Conflict, @Alex @Albina ● @Albina, ADD YOUR TEXT HERE ● When you done project, how often you say to yourself: “WE HAVE TO CHANGE OUR PROCESS, IT’S SHIT!” I'm sure ~70% of audience do this very often :) Even I do this regularly. ● Main conflict: ○ 1st type of process - No process! ○ 2nd type of process - CI workflow ○ Everything else - no process. ○ Why so? ● Wrong way [picture, slap shit together and deploy] - bad practices - 4-5(Changes directly on production etc.), @Alex ● Do you want get rid of that??? Problem solving(How to make your production smooth) ● Caution! Addictive content goes next! http://boombob.ru/img/picture/Jul/02/b5abaeef6dda6d4707e718fd4a53674b/10.jpg http://i99.beon.ru/i.imgur.com/fisxT.gif ● How our workflow looks like, @Albina ○ Everything automated. ○ PM can deploy anytime ○ Remote team follows defined process ○ You are forced to follow general process, since everything automated ● From technical perspective, @Alex ○ Specifications ○ Code Driven Development ○ Prototypes vs on fly ○ Review(Knowledge exchanging)http://cdn.meme.am/instances/500x/54727623.jpg ○ Automate everything ○ http://i2.asp.net/media/48525/image012.png?cdn_id=2015-08-15-002 ■ Not sure about following: ○ Isolated features on every build ○ No friday deployments http://s.mlkshk-cdn.com/r/YF94 ○ Flexibility about CI workflow configuration - DevOps ○ ● For PMs, @Albina ○ Feeling of completed task/milestone - you can be 99% sure that task was properly tested by minimum 2 people (reviewer and QA) ○ You can be sure that test/staging environment is the same as prod - no unique non- reproducible prod issues ○ Developer is always responsible for his/her feature (during project) - all bad code is detected by reviewer, no right for mistake, dude :) ● For Clients, @Albina ○ Shorter UAT period = Minimum postdeployment bugs - your clients can relax and enjoy the process
  • 5.
    ○ Flexibility towork on multiple versions/scopes on one project (SLA, Hotfixes for example) - ○ Releases can be stable ○ Flexibility about planning releases in advance ○ Demo for the client can be held on whatever environment is up-to-date Summary ● Why is it so important? @Albina, @Alex ○ High quality product delivered - management & customers are happy ○ Result of our work immediately used by end-users ○ Team is constantly improving its skills and expertise ● And our life is divided into 2 parts: before CI workflow and after CI workflow. ● As result was born Open Source project CIbox. End ● CIbox workshop, please fill out form. ● You can find us [bla, bla] ● Questions