22
Enterprise Automation ur doin’ it wrong

It Automation: Doing it Wrong - Mykel Alvis

Embed Size (px)

Citation preview

Enterprise Automationur doin’ it wrong

who is this guy?

§ Mykel Alvis (@mykelalvis)§ Sr. Consultant at MomentumSI§ MomentumSI is a leading IT consultancy focused on

enterprise transformation§ http://www.momentumsi.com§ [email protected]

enterprise?

§ slow, expensive, sluggish, inefficient§ "Enterprise applications are about the display, manipulation,

and storage of large amounts of often complex data and thesupport or automation of business processes with that data.” –Martin Fowler§ !entertainment, !productivity§ software that costs money, generally lots of it, if it doesn’t

work properly

who are you?

§ enterprise automation, not webops§ relatively slow SDLC§ non-cloud, maybe even totally non-virtual§ agile, agile-sounding, or maybe just (fr)agile§ probably a lot of brownfield dev§ process weight doesn’t really matter

what are you looking for?

§ cheap/fast/correct§ faster time-to-delivery§ more reliable and/or correct pushes§ less expensive cycles§ ease the pain

what do you really get?

§ failure§ partial success§ eventual acquiescence and redefinition of success§ reduced happiness

who wants to be happy?

§ executive management§ mid-level management§ business analysts§ development§ operations

who gets to be happy?

§ nobody§ precious few§ people who actually understand deployment

how you aren’t happy

§ delivery cycles are long§ successful deployments are rare§ replicability is uncommon or unknown

how ur doin’ it wrong

§ apathy§ lack of focus on delivery§ lack of support for automation

apathy

ap·a·thy§ [ap-uh-thee]§ noun, plural ap·a·thies. 1. absence or suppression of passion,

emotion, or excitement.§ 2. lack of interest in or concern for things that others find

moving or exciting.§ 3. Also, ap·a·thei·a, ap·a·thi·a [ap-uh-thee-uh]. Stoicism.

freedom from emotion of any kind. -- Dictionary.com

Enterprise-level Apathytm§ code isn’t written to be deployed and nobody cares about that§ code promotion transition is not smooth and management

does not make that a priority§ general apathy is rampant, especially within larger

organizations

causes of apathy

§ lack of clear goals§ lack of motivation for your goal§ lack of power to achieve goals

overcoming apathy (or whatever)

§ apathy is a bit (lot?/exactly?) like depression§ do something (anything!)§ gain a new goal§ try to make small positive differences§ extract yourself from negative groupthink

lack of focus on delivery

§ delivery is, or at least should be, part of the satisfaction ofrequirement§ without delivery, there is no software§ “elegant” is unfortunately often a synonym for

“unintelligible”§ delivery really means re-delivery§ delivery, and especially easy delivery, is an essential part of

practically all testing schemes

focusing on delivery

§ SLAs for everyone (analysis, development, QA, ops)§ upgrades should be automatic through delivery§ start from known quantities§ feature-poor code that delivers beats feature-rich code that

does not§ things that impede the delivery are Bad Things§ don’t forget non-delivery concerns

lack of support for automation

§ leadership support§ tool support§ training support

increasing automation support

§ utilize tools to control configuration§ collect time and success metrics§ build management is essential to a delivery pipeline

common solution elements

§ start from the top§ find a champion§ start small and deliver incrementally§ continually refactor your process§ keep your automation current

uncommon solution elements

§ start from the bottom§ hire your champion§ hide your talents under a bushel (for a while)§ think big, then start small and deliver incrementally§ continually refactor your process§ keep your automation current

(some of) The Right Waytm

§ plan for automation from the start§ processes that enable, but don’t disable§ use semantic versions§ manage your source intelligently§ manage your dependencies intelligently§ define environments as source code§ baseline environments from known states§ avoid “frankensystems”§ seek smooth transitions§ define SLAs for developers as well as operations§ deployment code, not deployment meat

fin