Upload
puppet-labs
View
527
Download
4
Tags:
Embed Size (px)
Citation preview
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
how you aren’t happy
§ delivery cycles are long§ successful deployments are rare§ replicability is uncommon or unknown
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
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