2013/03/06: Centare ALM Conference

by Gene Kim on

#almchicago

My keynote: Why Everyone Needs DevOps Now

  • @lunivore: Wow. I thought devs' tech debt was bad until @RealGeneKim showed the result of Devops' shortcuts. Ow, my eyes, the cables.
  • @Erikjweber: # Show me a developer not causing an outage, & I'll show you one on vacation. From the eyes of devops @realgenekim
  • @lunivore: "The Goal", mentioned by @RealGeneKim: http://t.co/mL7uIvqmud -great fiction, teaches Lean & Theory of Constraints. Must read.
  • @Centare: Kicking off #almchicago with keynote from @RealGeneKim of @TripwireInc - Why We Need DevOps Now
  • @Erikjweber: At the end of each sprint we must have shippable product and the environment it runs in. Amen. @realgenekim
  • @GaryPedretti: @RealGeneKim at #AlmChicago : add "and the environment it runs in" to "every Sprint must produce shippable product." #Scrum #Agile #DevOps
  • @Erikjweber: Do painful things more often.
  • @rvisotcky: RT @Erikjweber: At the end of each sprint we must have shippable product and the environment it runs in. Amen. @realgenekim
  • @GaryPedretti: #almchicago @RealGeneKim "Production Hygiene" LOL. "Danger Zone" #KennyLoggins #SweetMullet LMAO. #DevOps
  • @Erikjweber: If I don't spend some time paying down tech debt, it's inevitable u will spend all your time paying down tech debt @realgenekim
  • @GaryPedretti: #almchicago @RealGeneKim "We're talking about problems here that need all specialties involved to solve them." #CrossFunctionalTeams
  • @lunivore: RT @GaryPedretti: #almchicago @RealGeneKim "We're talking about problems here that need all specialties involved to solve them." #CrossFunctionalTeams
  • @RealGeneKim: #almchicago: And here’s the best talk on #devops transformation by @mrembetsy et al: http://t.co/tm0LCER9uO

Better Product Definition With Lean UX And Systems Thinking

Jeff Gothelf
@neo_innovation, @jboogie
Slideshare: http://www.slideshare.net/jgothelf

jeff@neo.com: @jboogie
http://www.leanuxbook.com

  • OH: "How many ppl here have heard of Plancast?" (no one raises hand). "Yeah, that's b/c they're dead." Haha. Intro to UX talk
  • .@neo_innovation: Vanity metrics make ppl feel good: "100K registered, 230K visit each month" vs "activation, repeat visits"
  • .@neo_innovation: User feedback: "I loved Plancast, but I never had any plans to share." Uh, oh. No market validation
  • .@neo_innovation: Why no user research? "It was a social product, so it was difficult to validate upfront": 5 mo building features that didn't win
  • .@neo_innovation: "Most social networks feed primarily on vanity; sharing plans, unforch, didn't incur same happy feelings"
  • .@neo_innovation: "Instead, ppl felt awkward when not invited to invites; took us 5 months to discover this"
  • .@neo_innovation: "Key Qs: how long do we wait before we launch; how
  • .@neo_innovation: "B/c every feature requirement is an untested assumption, each needs testing before Dev works on it"
  • .@neo_innovation: "By framing every 'requirement' as 'assumption', we create a culture of learning; 'we know' -> 'we believe'"
  • .@neo_innovation: "We changed culture from 'Let's build it!' -> 'Let's test it!'" Nice.
  • .@neo_innovation: "Lean UX is the way you operational this, inspired by Lean Startup and Agile dev theories"
  • .@neo_innovation: "Lean UX: prioritize learning over growth; If Plancast had tested assumptions, would hv chged outcomes
  • .@neo_innovation: "Good Qs: who is our customer, their pain points, what features are important, who is our competition
  • .@neo_innovation: "Syntax of hypothesis: We believe that [building this feature] [for these ppl] will achieve [this outcome]
  • Very, very nice. @neo_innovation: "Goal is in earliest stage is to test this hypothesis"
  • .@neo_innovation: "I was formerly Director UX at TheLadders; Q: how were we diff than Monster besides the fact we charged $$: 400 people, 5MM user base"
  • .@neo_innovation: "Hypothesis: we'll have a personal call center in NYC to coach each applicant: huge implications on organization: over 9 months, we built it, but it then filed; hired 35 call center staff -- it failed because it was a totally unproven hypothesis"
  • .@neo_innovation: "Old Req: provide each paying customer with a personal job serach -> New Req: Providing a personal job search would create value"
  • .@neo_innovation: "Lightweight tests: A/B on small cohort of user base, we could have had person behind the feature, not code; we could have targeted the outcomes"
  • .@neo_innovation: Telling fascinating UX story of TheLadders: huge project over 9 months failed, due to untested hypothesis
  • .@neo_innovation: haha. Awesome graph.
  • .@neo_innovation: "Focus on outcomes, not impact: TheLadders: Outcome: 14% job seeker response rate; Impact was satisfaction
  • .@neo_innovation: "At TheLadders, we increased from job seeker response rate from 14% to 68%" Wow! Empowered ppl to dream.
  • .@neo_innovation: "Now we can make feature decisions on objective observations, not 'I like that color'"
  • .@neo_innovation: "Three outcomes from data: Kill, Pivot (same strategy, diff tactic), or Double Down (nail it, scale it)
  • .@neo_innovation: "Case study: Lenddo: social network for loaning money; shaming ppl who don't pay back loans"
  • .@neo_innovation: "Problem: people weren't sharing among their network: team in NYC, customers in 3rd world
  • .@neo_innovation: "Soln: built wireframes in 2 hours, tested with customers"
  • .@neo_innovation: "Case study: Sesame Street: entering new market: tablet learning for kindergarten teachers; entering new market, high investment, high risk, long term initiative"
  • .@neo_innovation: "Case study: Lean UX conference: first had signup page (got 300 signups), then EventBrite w/o agenda!

  • @Erikjweber: Requirements are actually assumptions. amen. @jboogie

  • @almchicago: Now speaking : @jboogie of @neo_innovation on Better Product Definition with Lean UX and Design Thinking

  • @GaryPedretti: @NeoInnovation @jboogie Use of the "Fidelity" concept - love it. #AlmChicago #ThinSlicing

  • @Erikjweber: Done is better than perfect. @jboogie

  • @TheTechSalon: Lean ux not just for designers also for cross functional teams @jboogie #almchicago (@ Sheraton Chicago

  • Published my notes from the talks today at:

  • (A bit embarrassed that I've been using the wrong hashtag: I was using #chicagoalm. Oops!)

  • @TheTechSalon: For more on leanux check out @jboogie 's forthcoming book http://t.co/alnm51PJBg

  • .@jboogie: "What Plancast should have measured: # of ppl who shared more than one plan, not visits per month"

  • Hilarious. @jboogie hadn't held his new book "Lean UX" until today from conference bag. Launching this wk. Thx @chadalbrecht!

  • BTW, here's how we did Lean Startup style Google AdWords title/subtitle testing for #PhoenixProject, ala @jboogie: http://itrevolution.com/phoenix-project-google-adwords-title-subtitle-testing/

  • @RealGeneKim: #almchicago BTW, here’s how we did Lean Startup style Google AdWords title testing for #PhoenixProject ala @jboogie: http://t.co/lknBr0s9sb

Behavior Driven Development and Agile Testing

Elizabeth Keogh
@lunivore
http://www.slideshare.net/mobile/lunivore/behavior-driven-development-11754474
http://www.slideshare.net/mobile/lunivore

  • In behavior driven development (BCC), syntax: "given [a context]; when [an event happens]; then [something should happen]
  • @GaryPedretti: @lunivore #AlmChicago "I've been doing BDD longer than anyone other than Dan North, who invented it." True, that. Incredible speaker lineup!
  • .@lunivore: From Agile: "Value individuals & interactions over processes and tools" "Need conversations, not cucumber" Haha
  • RT @GaryPedretti: @lunivore #AlmChicago "I've been doing BDD longer than anyone, exc North, who invented it" Nice spkr lineup!
  • @Erikjweber: By the time you're talking "test" you're no longer thinking about the problem. @lunivore
  • RT @Erikjweber: By the time you're talking "test" you're no longer thinking about the problem. @lunivore
  • .@lunivore is giving fascinating critique of cucumber: "Real people don't talk this way"
  • .@lunivore: "A story because devs empty lists"
  • .@lunivore: "Worked for 7 years before joining ThoughtWorks on big waterfall project"
  • .@lunivore: "Assume you've got it wrong, b/c ever after years of analysis, we still can't get it right"
  • .@lunivore: "Is there a context in which this context won't generate the desired outcome? When would ATM not give $20? Inadequate balance"
  • .@lunivore: "It's interesting to find user stories not about the real user, like CAPTCHA boxes"
  • .@lunivore: "Project funder usually want to: make money, save money, or protect money" ("not just use budget this qtr")
  • .@lunivore: "1 goal was to protect custs from being stolen by competitors, not making money; legacy programs protect options"
  • .@lunivore: "Monitoring reveals important things: big important web page was reached by only 0.25% of users"
  • .@lunivore: "A Goal: need to go live; maybe can put API limits so we can create MVP to hit the goal"
  • .@lunivore: "Capability: users can achieve a business outcome"
  • .@lunivore: "Testers are evil people [harhar]; you give them your app, you get it back in small, little demolished pieces
  • .@lunivore: "Testers have special ability: they have capability of 'deliberate discover': finding what's broken
  • .@lunivore: "In Myers/Briggs: Perception more spontaneous [Dev], Judgement more planned [testers, not easily bored]
  • .@lunivore: "On Real Options: options have value, options expire; never commit early unless you know why"
  • .@lunivore: Telling story of buying six trophies, b/c of 4 week lead time; judging session was 5 days before ceremony"
  • .@lunivore: "The huddle of 3 amigos: analyst, dev, and test"
  • .@lunivore: "If a project has no risk, don't do it!" (Nice). h/t to "Dancing With Bears": if no risk, get a COTS solution
  • (Wait. Does anyone has title and link that @lunivore mentioned? I'm positive I've got the title wrong. :)
  • @RealGeneKim: Thx @Erikjweber! @lunivore recommended book “Waltzing With Bears: Managing Risk on Software Projects:” http://t.co/0o5Q3Bq20d #almchicago

  • .@lunivore: "Types of features: Differentiators vs. Commodities vs. ..."

  • .@lunivore: Citing Cynefin: David Snowden & Cognitive Edge: 4 quads: Simple (chg bike chain), Complicated (jigsaw puzzle)

  • .@lunivore: Complex (cause effect only available in hindsight, land of experiment, b/c can't prediction: Flickr was orig MMO!

  • .@lunivore: Chaotic (this is drop everything to fix: Act, don't think! Train! production down, Knight Trading code failure..

  • .@lunivore: 5th domain: Disordered; and tendency for Simple to go to Chaotic; Hard to go from Chaotic to Simple"

  • @Erikjweber: Another common theme at #almchicago : we deal in complex problems, but too often apply solutions only fit for simplicities.

  • .@lunivore: "Projects are full of 'oh crap' moments; so we all require 10K hours of practice; Agile helps us discover stuff

  • .@lunivore Slideshare page: grt stuff here: http://www.slideshare.net/mobile/lunivore

  • @TheTechSalon: RT @Erikjweber: Were discovering how to discover stuff by doing it. Great quote by @lunivore at

  • .@lunivore: "What is IT? We convert Ignorance into Knowledge". (Yow.)

  • @CynthiSmith: Making us laugh. "Testers are evil" and valud bcause they deliberately have the ability to discovr whats wrong w apps.

Holistic Product Development

Gary Pedretti, @garypedretti

  • OMG. Haha! Just walked into dev roleplay, fixing something related to cardholder data in cleartext. Call the PCI assessors!!
  • @lunivore: "As an architect, that's my favourite pattern of reuse." @garypedretti cuts and pastes at
  • RT @lunivore: "As an architect, that's my favourite pattern of reuse." @garypedretti cuts and pastes at
  • @lunivore: Loving @garypedretti's roleplay - "45 minutes to fix the bug" - at #almchicago. Presentations that make me giggle are often so true to life.
  • +10! RT @lunivore: Loving @garypedretti roleplay: "45 min to fix bug": #almchicago. Sessions that make me giggle are often so true to life
  • This is a freaking brilliant session. "Holistic Product Development" Gary Pedretti (@garypedretti).
  • Dunno about you guys, but watching Dev and Test do roleplay for cardholder data validation gives me heeby-jeebies. :)
  • @lunivore: Fantastic - watching Cucumber in action in @GaryPedretti's session. Great example of lightweight analysis and collaboration too.
  • RT @lunivore: Fantastic watching Cucumber in action: @GaryPedretti's is grt example of lightweight analysis & collaboration too.
  • @lunivore: Love how the tester in roleplay (with real code) is finding all the edge cases, things we forgot, wrong requirements. So true.
  • Observations
    • Observations: "Good examples of cross functional teams in action" "Very productive 45 mins of wk"
    • Requirements change
    • New requirements discovered, but thin-slicing and time pressure resulted in many going to the TODO list
    • Time pressure forces us to navigate the grey areas to some middle ground
    • .@garypedretti: "Emergent architecture: harvest reusable code; don't grow them" "Get high risk things done first"
    • .@garypedretti: "Pairing specialists not nearly as useful as pairing across specialties" (Yes!! Span boundaries)
    • .@garypedretti: Ideal testing pyramid: 80% unit test, 15% acceptance, .5% GUI; can't achieve this w/o designing into app
  • The Why
    • .@garypedretti: Why? "Fast feedback," "Develop trust of business: earn revenue faster," "sets single defn of 'done'"
    • .@garypedretti: Cross Functional Teams: Why? "Fastest way to working software," "systems thinking: optimize for thruput"
    • .@garypedretti: Emergence Why? "Requirements = Assumptions," "all forward looking plans go wrong"
    • .@garypedretti: Winston Royce told us waterfall was crazy in 1970: 'risky and invites failure'
    • .@garypedretti: Royce: "in waterfall, feedback is rarely given merely to previous step;" emergent loops are far more chaotic
  • Haha! @garypedretti: Spectrum of cross functional teams: "all generalists & teamwork" vs. "everyone is condescending jerk"
  • @lunivore: "Visa should start with 4." That's a card type. What would happen if the behaviour moved to the CardType class? #almchicago #looknoswitch
  • (Having spent so much time in the PCI assessor space, fascinating to see how sausage is really made. Hahaha)
  • .@garypedretti: "Face to face interactions is always best." if not poss, use video chat, and have constantly open video link
  • @Erikjweber: Really enjoyed playing evil business man for @GaryPedretti !

Team Foundation Server 2012 Builds

Benjamin Day
http://blog.benday.com