software delivery @randstad
TRANSCRIPT
Randstad Groep Netherlands (2013)
Revenue: 2.7 billion
Units: 900
Employees: 4,310
Employed candidates: 80,800 (average per day)
Simplified application landscape
Front/back office(PL/SQL /
Forms)
Planning(.NET)
Service bus(Oracle OSB)
Websites(Hippo / Java)
B2B(Oracle SOA
Suite)
Mobile API(Java)
IDMS(Novell Identity
Manager)
BI(Cognos)
Why change was needed
Many errors during and right after releasesExtremely late nights for release crewLong downtimes for usersSlow time-to-market (8 weeks)
Causes
One big complex release every 8 weeks for all applicationsMany manual release stepsDifferences in DTAP environmentsMany unknown dependencies between release steps
First steps
1. Improve release management2. Improve delivery automation3. Improve delivery visability
Release management
Practice rollouts● Rollout with release crew every 2 weeks on test environment● Each release discussed with release crew afterwards, to come up with
improvements
Know each step and its dependencies● Every step noted in a release runbook● Runbook discussed with release crew before each release
Great! Problems solved?
One big complex release every 8 weeks for all applicationsMany manual release actionsDifferences in DTAP environmentsMany unknown dependencies between release steps
Satisfied?
Many errors during and right after releasesExtremely late nights for release crewLong downtimes for usersSlow time-to-market (8 weeks)
Fresh start
Plans in the making as we speak!Plans include:● Re-evaluation of CI tooling (based on wishes of development and
operational teams) ● Possibly migration to new CD platform● Organizational changes (DevOps)
No formal GO yet!
Mission
Enabling the business to do a rollout at any given time, giving business control over rollouts.
Challenges
Commitment● Everybody is involved and important in the CD becoming successful● No blaming, but taking responsibility and helping each other
Mindset● Code must always be in releasable state● Focus on flow: remove bottlenecks
Minimize dependencies● Build-, deploy- and run-time dependencies● Autonomous teams
Zero downtime● Introduce deployment strategies (blue-green, canary, feature toggles, ...)