AgileInfrastructure &Operations

A bit of Context• Not about Development infrastructure• Server and Network Oriented projects• Within Large Enterprise context• IT people, Operations separated from Dev.
by designWho I am• Patrick Debois• Independent Consultant• I mainly do Servers/Network/Security• Guide development

projects to operational
status and beyond• Currently developer ;-)Any Developers here?
(coders, testers)

Copyright: http://share.skype.com/sites/en/developer.jpg

Any IT People?
(infrastructure,servers, network)

Copyright: http://www.bradreese.com/images/system-admin-horror.jpg

Any Operations?
(helpdesk, end-user support)

Copyright: http://crany.com/images/help_support.jpg

How Agile are yourDevelopers?
Waterfall
In between
Agile

How Agile is yourIT department?
Waterfall
In between
Agile

How Agile is yourOperations team?
Waterfall
In between
Agile

How Agile is your enterprise?

Internet Survey
60 People Participated
Posted on agile mailing-lists
By no means scientific!
Copyright: http://www.lego.com

Survey Results
3,0
2,0

2,31
1,54

1,00,420-0,37-0,48-0,77-1,02-1,34-1,75-1,98

Dev Testers Cust. Mgt

OpsITSales Legal Finance-1,0-2,0-3,0You

http://www.jedi.be/pages/starwars-agile-o-meter

Three cases

Case 1: The good
Case 1: Infrastructure only, no development

Moving a data-center• 50 applications for public use (government)• no new development, maintenance only
• design was taking long time, no actual result• “I don’t care if it is not finished, I needsomething now, you can improvelater” (political deadline)• Made us switch to Agile (Scrum)

Product Owner• The people specifying the requirements
where not there anymore• Applications as a product owner(infrastructure requirements + SLA)

• Operational Team (monitoring, remoteaccess, ...)

Product Backlog• Ordering by value saved vs. added value• Functional requirements of the application
did not matter.

• Non functional requirements of theapplication = infrastructure functional
requirements (security, performance, ...)

Sprint Backlog• First sprint : prepare minimal working• Second sprint: deploy first application• Third sprint: mix of improvement + newapplication

User Stories• As an administrator I want to connect toSystem X so that I can reboot the system• As an application I need a database so I canstore my data

• As a service manager I need a report of theCPU, Memory and Disk so I can report iton the weekly service meetings

Iterative/Refactoring• host files -> DNS; server routing -> real

Router; local disks -> SAN Storage; apache
Proxy -> SSL accelerator; VLAN’s ->multiple physical network• Doing the same story multiple times withimprovements, at least we had something• Was first seen as temp solutions as usual,
but now there would be a followup.

Test Driven
Infrastructure• No OS or SAN unit tests exist• Tests executed at the application level• Implicit test of components• Monitoring probes, Load testing as testscenario’s

Case 2: ...
Case 2: Infrastructure, Development and Operations

Disaster Recovery• Infrastructure was failing• Applications were crashing• But they needed disaster recovery?
• Infra team put a lock on the door!
• Infra team did not care about theapplications

Technical Debt
• No updates/patches because of unknown
impact• Machines maintenance expiring• Restart scripts for fast fixing• Migrations half finishedGroup vs. Team• Technical specialists (Desktop, Security,Network)• Nobody did other tasks (not capable)• Backlog was a list of TODO’s• No application knowledge internal• Injected middleware people to bridge

Multiple
Product Owners• What’s the ‘correct’ order?
• End-Users (no value)• Project Managers (value added)• Operational Manager (non functional)• Got no ‘real’ decision ..

Daily Scrum• Depending on the priorities people wereinterested or not (fatigue)• Still it was a form of information radiation• People would pair for tasks (spreadknowledge)

Case 3: ...
Case 3:Agile Infrastructure and Development

Application ServerUpgrade• Developers need new application Serverfunctionality• They ‘check’ it (wizard style) -> It works• But what about non functional• monitoring, redundancy, backup agent,
JVM, OS libraries ...

Cross Functional Team• Break the Agile Development by including
infrastructure people in the team• Infrastructural changes get radiated better• Infra requirements sooner visible• Problem with who owns the resource(project mgr, operations mgr?)Deploy Often• Nightly builds (config files)• not only application• also OS,Virtual machine, DB, AppServer• Reconfiguration becomes reinstallation• Patches tested every iteration• Operations to use it after the project isfinished= using unit tests to test OS patch• simpler to setup; faster setup time; backup
lessConclusions?

Caveat!
Reality is complex,changing and is notalways amenable tonarrowly focusedtechnical models.
Platonicity

Conclusions• Three Levels need to be tackled• technical level (tools, skills, iterativeworking)• project (communication to teams, reachout to other enterprise)• operations (mix off non planned things,

operational mgr vs. project mgr priorities)

Agile InfrastructureBlue or Red Pill?
Agilista, This is your last chance. After this, there is no turning back. You take the blue pill - the story ends, you wake up in your bed and believe
whatever you want to believe. You take the red pill - you stay in Wonderland and I show you how deep the rabbit-hole goesQuestions?

Thank you!

Developers don’t careabout the Server or theNetwork
No wayMaybe
AbsolutelyDevelopers need more
IT skills
No wayMaybe
Absolutely