walking the tightropekiffingish.com/documents/walking-the-tightrope.pdf · web accessibility:...
TRANSCRIPT
![Page 1: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/1.jpg)
Walking the Tightrope Between Agile Product Development & IT Operations
Kiffin Gish < [email protected] > Manager Development Sdu Information Solutions, Amsterdam
![Page 2: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/2.jpg)
Purpose of this presentation
“To retell my experiences of ramping up an agile development team, coordinating work with IT operations, and sharing the lessons I learned.”
![Page 3: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/3.jpg)
Before we start
Not here to pass judgment, cast dispersions or generalize “developers” and/or “sysadmins”
Merely recounting my observations
For the sake of clarity:
Development (m/f) => developer
IT Operations (m/f) => sysadmin
Developer Sysadmin
![Page 4: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/4.jpg)
Introduction
![Page 5: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/5.jpg)
Amsterdam
www.sdu-information-solutions.nl
![Page 6: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/6.jpg)
![Page 7: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/7.jpg)
E-Government solutions
Advanced web-based product suite providing multi-channel access to rich content (laws, tax, regulatory, etc).
Saas, open connectivity.
High-performance and scalable platform.
Web accessibility: “webrichtlijnen” and “drempelvrij” for handicapped.
Government, semi-government institutions, municipalities and provinces.
![Page 8: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/8.jpg)
Case study: the VIND4 project
![Page 9: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/9.jpg)
“Voor iedereen het juiste antwoord!”
VIND4
? LEGAL
? TAX
? REGULATORY
? ALL …
![Page 10: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/10.jpg)
VIND4 platform architecture
Rich content XML Import
XML Feeds
![Page 11: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/11.jpg)
Development team at work
![Page 12: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/12.jpg)
Our purpose
Delivery high-quality software quickly, efficiently and on schedule.
Understand the requirements of an ever-changing market (product owner).
Translate product roadmaps into releases.
Use the right technology.
Ensure new products are future-proof.
![Page 13: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/13.jpg)
A short history
Product is end-of-life
Decide to rewrite in Java
Recruit and ramp up team
Introduce agile and scrum
Define product backlog
Start implementation
(Moving along just fine, sprint 1,2,3 …)
Oops, need “proper” development environment.
![Page 14: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/14.jpg)
Here’s what happened …
TST1 PRD
ACC2
ACC1
TST2
X
X
X
X
![Page 15: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/15.jpg)
Disaster strikes!
![Page 16: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/16.jpg)
Clash of cultures
![Page 17: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/17.jpg)
Different locations
DEV
OPS
(55 kms = 34 miles)
![Page 18: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/18.jpg)
Worlds apart?
55 / 40,075 = 0.14 % of earth’s circumference
![Page 19: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/19.jpg)
DEV | OPS
http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr
![Page 20: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/20.jpg)
Different cultures
Command line Performance Scalability Security High-availability Firewalls Load balancers Floating IP addresses DNS, LDAP, SSG Blue Coat
Sysadmin Developer
Fancy IDE Coding conventions Java, C/C++ Objects and methods HTML/CSS JavaScript Debuggers Subversion/CVS XML/XSLT Web services
![Page 21: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/21.jpg)
Agile development
Lots of small changes often (every 2 weeks)
Breaking the system is good
Empirical / adventurous
Open source / latest gimmicks (cheap)
Components (software modules)
Developers “think” they are the smartest
Developer
![Page 22: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/22.jpg)
Operations
Large changes infrequently (4x per year)
Breaking the system is bad
Preventive and careful (monitoring)
Proven technology (expensive)
Low-level building blocks
Sysadmins “know” that they are the smartest
Sysadmin
![Page 23: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/23.jpg)
Plan-driven versus Scrum
![Page 24: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/24.jpg)
? ?
Developer Sysadmin
Tackling problems
How many comment lines in a given file?
A comment line begins with the ‘#’ character.
![Page 25: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/25.jpg)
Developer
![Page 26: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/26.jpg)
? ?
Developer Sysadmin
Tackling problems
How many comment lines in a given file?
A comment line begins with the ‘#’ character.
![Page 27: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/27.jpg)
Which is better?
To discourage change to ensure stability and predictability.
… or …
To embrace frequent (continuous) change to decrease time-to-market and boost profits.
![Page 28: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/28.jpg)
Can we have both?
To discourage change to ensure stability and predictability.
To embrace frequent (continuous) change to decrease time-to-market and boost profits.
To embrace change, ensure stability and predictability, and decrease time-to-market and boost profits.
X
X
![Page 29: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/29.jpg)
Things in common
Highly skilled
Well educated
Technical specialists
Problem solvers
Sleep late … work late …
Love to work with gadgets
Read science fiction
Drink beer and play pool
Sysadmin
Developer
![Page 30: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/30.jpg)
Self-supporting differences
![Page 31: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/31.jpg)
Self-supporting pyramid
Infrastructure
Tooling
Processes
Us Knowledge
Software
Flow
Hardware
DEV
OPS
Sysadmin
Team
![Page 32: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/32.jpg)
Start-to-finish flow
Java Developers
Customer
Web Developer
Interaction Designer
Requirements Analyst
Tester(s)
Development Back-end Front-end
RELEASE
Sysadmin
DEPLOY
![Page 33: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/33.jpg)
Types of disciplines
Requirements analysis
Interaction and graphics design
Web development (front-end)
Java development (back-end)
Internal testing
Acceptance testing (customer)
Deployment (production)
Develo
pm
ent
Testing
Sysadm
in
![Page 34: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/34.jpg)
Tooling
Issue tracking, timesheets
Scrum add-on
Code review
Continuous integration
Documentation
Source code
Online collaboration
Provisioning and deployment
Atlassian
![Page 35: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/35.jpg)
DTAP JIRA Greenhopper Fisheye Subversion CVS Confluence Bamboo Nexus Etc.
Development Test Acceptance Production
Provisioning Monitoring
DMZ
![Page 36: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/36.jpg)
Agile software development
![Page 37: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/37.jpg)
Manifesto for Agile Development
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
![Page 38: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/38.jpg)
Scrum methodology
Iterative and incremental
Quick results
Progress through refinement
Potentially deliverable product per cycle
Improvement by learning
Many feedback loops
![Page 39: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/39.jpg)
Scrum cycles
![Page 40: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/40.jpg)
There are 3 Scrum roles
Sysadmin DEPLOYMENT
![Page 41: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/41.jpg)
Server management and configuration
![Page 42: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/42.jpg)
Puppet
Open source framework for managing life-cycle of multiple server configurations (Linux)
(Initial) build, installation, upgrades, maintenance, migrations, end-of-life
Client-server model: Puppet master + agents
Configuration language (Ruby)
Resource abstraction layer
http://puppetlabs.com
![Page 43: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/43.jpg)
Installing Postfix
![Page 44: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/44.jpg)
Idempotent (enforce state)
![Page 45: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/45.jpg)
Continuous delivery
![Page 46: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/46.jpg)
Continuous delivery
An automated release process which reduces development cycle time, getting features and bug-fixes to users fast.
Every single change (configurations, source code, environment, data) triggers flow via pipeline.
The team deploys any software version to any environment through fully automated process.
![Page 47: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/47.jpg)
Deploy and release
Integrate testing, deployment and release activities into the development process.
Ensure that product is always in a “releasable” state.
![Page 48: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/48.jpg)
(Mini-) Development cycle
![Page 49: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/49.jpg)
Conclusions
![Page 50: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/50.jpg)
Lessons learned
Sysadmin onboard early.
Clear guidelines and best practices.
Well-defined roles and permissions.
Kickoff meeting (explain DTAP).
Sysadmin in middle of developers.
Weekly DevOp meetings.
Document network landscape (updated).
Go out and play pool!
![Page 51: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/51.jpg)
Recommended books
Continuous Delivery, Humble and Farley
Essential Scrum, Rubin
Pro Puppet, Turnbull and McCune
![Page 52: Walking the Tightropekiffingish.com/documents/walking-the-tightrope.pdf · Web accessibility: ^webrichtlijnen and ^drempelvrij for handicapped. Government, semi-government institutions,](https://reader035.vdocuments.mx/reader035/viewer/2022070108/60420d80612bcd5f1f48742f/html5/thumbnails/52.jpg)
Walking the Tightrope Between Agile Product Development & IT Operations © 2013