Episode 69: DevOps with Michael Nygard

The Agile Revolution Podcast

Michael NygardAt YOW 2013 in Sydney, Craig and Renee catch up with Michael Nygard and discuss the world of DevOps including:

  • Michael’s book “Release it!: Design and Deploy Production Ready Software
  • What DevOps really is
  • The values of DevOps and its relationship to the Agile Manifesto
  • Could DevOps have occurred without Agile?
  • How much of Release it is still holding well?
  • Anti-patterns in DevOps (eg. a separate DevOps group)
  • Cognitect and Closure
  • Development is production
  • Where does ITIL fit in with DevOps?
  • Why Problem Management may no longer be relevant
  • How good are we really in DevOps?

You can contact Michael on twitter at @mtnygard or at the Think Relevance Blog.

The Agile Revolution-69 (28 minutes)

View original post

Episode 68: Together Again Like Peas & Carrots

The Agile Revolution Podcast

peascarrotsCan you believe it ! Yes it’s a real Forest Gump moment, the revolutionists are finally back together again just like peas and carrots . They are back to their best discussing :

The Agile Revolution-68 (53 minutes)

View original post

Episode 67: A Boys Night Out

The Agile Revolution Podcast

boysnightoutCraig and Tony take the opportunity in Renee’s absence to talk about the year that was , conferences and workshops attended and generally cover all things Agile: 

Twitter Quotes: @RonJeffries, @WendyAppell, @drunkcod

The Agile Revolution-67 (60 minutes)

View original post

Episode 66: Agile Coaching with Lyssa Adkins and Michael Spayd

The Agile Revolution Podcast

Michael-Craig-LyssaAt YOW 2013 in Sydney, Craig, Renee and Jeremie Benazra catch up with Lyssa Adkins, author of “Coaching Agile Teams” and Michael Spayd, both Agile Coaches at the Agile Coaching Institute and chew the fat on:

  • What is Agile?
  • Lyssa’s “Coaching Agile Teams” book
  • The difficulties in being an Agile Coach
  • The XP Coach
  • Coaching as a more mature version of leadership
  • Where professional coaching fits into Agile Coaching
  • Why Agile Coaches are sought after whereas general organisational coaching is less prevalent
  • The training of managers and its impact on mindsets
  • Michael’s “Coaching the Agile Enterprise” book
  • Team coaches vs enterprise coaches – what is the difference
  • Scrum Mastering an enterprise transformation
  • ICAgile
  • How to teach a pig to sing
  • The coaching oath of non-allegiance
  • Certified Scrum Coach versus ICAgile Coach
  • The myriad of skill sets needed as an Agile Coach
  • Agile…

View original post 17 more words

Agile 2012 Day 5 Review

Agile 2012The final day of Agile 2012 in Dallas, Texas and a morning of keynotes. It was announced that they had received over 800 submissions and selected 200 presentations. Also interesting was the fact that the band of volunteers have 2 daily scrums and self organise their sessions!

Keynote: Adventures of an Accidental Entrepreneur: A High Tech Teleradiology Venture from India

This keynote was from Dr. Sunita Maheshwari from Teleradiology Solutions, a video of the keynote is available here.

From Agile 2012
  • there is no such thing as a crazy idea
  • international teleradiology – started small, covered the night shift at Yale from India, considered too radical for Yale, decided to set up themselves
  • the one closest to the future has the best view
  • believe in yourself, if you can see the future and have a dream, push along with it
  • focussed on quality, first Indian company to get the gold seal
  • dream big, we are often constrained by the limitations of our own mind – built a big space to house a small company initially
  • tempted to a million dollar buyout – money is a distraction, could have been a one way street to obscurity (Forbes India article)
  • struggled with bandwidth, electricity, no senior management to lean on – stick it out
  • anti-outsourcing sentiment, particularly from the media in the USA, realised that people only remember that you were in the newspaper, not what for
  • Singapore had a shortage of radiologists – reduced turnaround from 3 days to 1 hour – quality wins, even when competition enters
  • greatest need is in Africa – use the same domain knowledge for social good
  • used one reading centre in India to cover multiple hospitals (efficiency of scale), covering USA night in Indian day, also have a team in Israel to have full day coverage
  • Singapore was using the same technology but a different need (turnaround time rather than coverage)
  • did not cause job displacement – freed doctors up to cover more patients locally
  • implemented a 7 minute daily huddle to replace monthly meetings, had to break culture of not reporting bad news – hospitals liked the responsiveness
  • do eco-friendly visits – use Indian electric cars
  • HR Consultants said they were doing everything wrong – ignored them, broke existing cultures – hired full time masseuse, wear masks – its not just the paycheck it’s the small things that make people feel wanted
  • people did not want to work on Sunday – despite double or triple time – need to find innovative solutions and constantly find innovations to stay afloat (Israel)
  • built own product – if you have a great idea, get help implementing it – RADSpa
  • internal software group – developers and doctors were not cooperating – told then to treat us like an external client, bid for the work (coopetition – cooperation in competition)
  • set up a new clinic – no business plan, just a doctor and good quality service – not everything needs a business plan, every thing needs passion – do what you love and the money will follow
  • radguru.net and e-teaching – doctors and students anywhere (LinkStreetHealth)
  • the world needs pushers to take good ideas and get them implemented
  • if you decide you want to spend time with the ones you love, you will find a way – make technology your slave, not the other way around

Keynote: Managing a Collaborative Multi-National Team in Real Time

Joe Justice from SolutionsIQ and Team Wikispeed delivered this keynote. A video of the session is available here.

From Agile 2012
  • to improve our way of working, we need to fundamentally improve our institutions
  • how do you develop a car in a garage that gets better mileage and is more aesthetically pleasing
  • Wikispeed is all volunteers – some highly specialized, some just eager to help
  • the Wikispeed CNC machine cost $20,00, big auto companies have machines that are over @100,000,000, that is 1/500,000 of the cost! – better not because of the tools but because of the way of working
  • iterate every 7 days
  • ideal is to make society a better place
  • there’s a trend that is disrupting all industries, called Agile, all the 10 big IT companies are all or mostly Agile
  • manufacturing is like software 10 years ago, products are based on what the customer wanted 10 years ago
  • XM – extreme manufacturing – what the customer wanted 7 days ago – first manufacturing company to have that model
  • manufacturing is slow because the processes are costly to change
  • the Wikispeed car is built in 8 parts, completely interchangeable
  • originally started to win the X Prize, came 10th, while other teams were planning, they built tests (TDD) – had initial design on the road in 3 months
  • our approach – Agile – might be the biggest change since the industrial revolution
  • all tools to run a  distributed team are free, did not exist 10 years ago
  • newest shop is in New Zealand (none in Australia)
  • history has been building up to Agile
  • John Deere – open source modular tractors – call the process frugal engineering, when they built the 8030 tractor despite being over budget and people working over time they thought they had been successful – thinking about Wiki Deere now
  • MakerPlane – open source aviation project, using Wikispeed model, Boeing looking at their approach
  • Boeing visited the Wikispeed garage in Seattle – “our tooling is better, but culturally you are so far ahead of us”
  • Tait Radio– devised using a recorder to record noises for testing of emissions, makes audio devices, now using Scrum to build products – text fixtures are cardboard, had been doing standups, introduced retrospectives and team stewards – developed a product in a week
  • send middle managers back to product work , analytics and budgeting goo back to weekly funding cycles – get more nimble management
  • safety iteration – initially took months, now takes days, cost $10k for a crash test so can’t afford to run it every 7 days, but they learn from real test and run simulations every 7 days
  • went to Detroit auto show – was waiting for sarcasm but got “good job, go get ’em!”
  • 2013 Roadster reveal – built in 2 sessions at the conference, only one person in the sessions had built a car, used pairing to learn – this vehicle is going to the Boeing museum in Seattle
  • Team Wikispeed members spend 2-4 hours per week solving social good
  • actively looking for product owners to find the next social good to join team wikispeed
  • how do we change financial stupidity? – agile accounting, lean accounting
  • using Honda parts so can be serviced anywhere
From Agile 2012

Here are some closer pictures of the other Wikispeed car that was on display near the Agile Alliance lounge.

From Agile 2012
From Agile 2012
From Agile 2012

And, then everybody parted ways, until next year…

Podcast

Finally, I recorded a short audio podcast for The Agile Revolution wrapping up Day 5 of the conference.

Agile 2012 Day 3 and 4 Review

Agile 2012Day 3 and 4 at Agile 2012 meant a large number of interviews for InfoQ, as well as some podcast interviews and numerous hallway discussions. As a result I have combined both days into one post. Here are my notes from the sessions that I attended.

That Settles It! Techniques for Transparent & Trusted Decision-Making on Your Agile Team

Ellen Gottesdiener led this workshop, her slides are available here.

From Agile 2012

Agile team values, starter list:

  • product – quality, value, just enough, validated learning
  • people – transparency, accountability, courage, mutual learning
  • process – fast feedback, all in collaborate, small steps, retrospect continually
From Agile 2012

They are a set of values that impact how we will make decisions.

Traps, risks and blunders:

  • group dynamics – fallacy of the flawed leader, no diversity in the group, inability to consider alternatives, lack of diversity in the group, group-think (striving for consensus  that drives down alternatives)
  • process – not understanding the key terms

Decision making styles:

From Agile 2012
  • delegative – group decision, decision leader may delegate decisions to a sub group
  • democratic – discuss and take a vote
  • consensus – leader and group together agree based on unanimous decision
  • consultative – where the group collaborates and consults to a person to make a decision
  • consensus – all legitimate concerns should be addressed that impact the group, stakeholders all need to be there, it is not a compromise, there is no bargaining, this is and/both thinking

4S – stake, stakeholders, speed and sustainability of a decision

We then created a 2D gradient to map out decison styles – delegate -> democratic -> consultative -> consensus

From Agile 2012

Ellen then introduced some decision making research, success was a decision that was used for greater than 2 years

From Agile 2012
  • edict – do it, not very sustainable, used 35% of time, worked 38% of the time
  • persuasion – used 49% of the time, worked 44% of the time
  • participation – used  less than 16% of the time, worked 80% of the time, delegated to a group or sub group
  • intervention – delegated but group had guidelines and benchmarks to make a decision, used less than 16% of the time,  worked 90% of the time

We then talked about values:

  • trust – contractual (shared goals and boundaries), communication (transparent, honest and frequent communication, walking the talk), competency (respectful of others ability of what they do on the team and learning how we can do better as a team, honour our agreements) – is a key part of making decisions
  • values for group effectiveness – people need valid information in a timely way to make a free and informed choice, decision rules that enhance internal commitment

Group versus individual decision making:

  • accuracy – better at group level – more alternatives, diversity, more points of view
  • acceptance – group
  • creativity – group
  • efficiency – individual
  • speed – individual

We then had some final thoughts and questions:

  • collaboration pattern – decide how to decide – need to make a decision but know you have made it
  • common decision rules – delegate, decide without discussion, negotiation, majority vote, spontaneous agreement, arbitrary, consensus  leader decides after decision
  • gradient of agreement – endorse, agree with reservations, disagree cannot support (but won’t block), block
  • 12 Angry Men – good example of the model
  • to reach closure – with decision leader decide on how to decide, with the whole group clarify the decision process, close discussion, clarify proposal, poll group using gradient and decision leader decides or chooses further discussion
  • RAPID – effective organisations have clarity in roles  around decision making – recommend, agree, perform, input, decide (like a RAPSI)

Evolve Your Agile Coaching Dashboard

David Parker led this workshop, his slides are available here.

From Agile 2012

We started the workshop bu being given 5 minutes to draw a fact about the group we were sitting in, and could not use any numbers.

From Agile 2012
  • use scrum to coach scrum teams – to get organized and be different from other coaches
  • scrum on a team of one – more forgiving because you know what is going on, you are all roles in one
  • create a project dashboard – 10 qualities of hyper productive teams, matrix on the wall, denoted yes/no using red/green stickies

We then created our own dashboard based around a scenario that were given.

From Agile 2012
From Agile 2012
From Agile 2012
From Agile 2012
From Agile 2012
From Agile 2012

Fixing Broke(n) Governments Through Serious Games

In keeping with the theme of Agile in non-software, I was very interested in hearing about this initiative from Luke Hohmann from Innovation Games. A copy of his slides from SXSW appear to be similar to those he presented here.

From Agile 2012
  • San Jose, 10th largest city in the USA, in deficit by $115 million, Luke ran into the mayor on a plane…
  • games – have a goal, arbitrary constraints, interaction rules, voluntary participation (Jane McGonical) – most people think fun and entertainment when they think game, now we use the term serious games
  • serious games – advergames (get you to buy stuff eg. Burger King), edutainment (CBS have news footage for school students), news games, simulations, exergames (Nike have a game to escape zombies to entice running), innovation games
  • executives love games because they involve strategy
  • San Jose have a yearly planning commission meeting – worse meeting ever, after a powerpoint, all the citizens were given a roll of nickels to vote on the areas that needed attention (the smarter citizens kept the roll of nickels!), got an accountancy firm to count the results, what happens if nobody voted on health care?
  • convinced them to try an innovation game because you can blame the consultant!
  • first, what is the problem – had already cut the budget to the bone, so the problem was prioritisation
  • buy a feature game– give people 40% of the total, give them a ranked list, the reasons for the ranking and the conditions of the acceptance, they can buy what they want but they need to collaborate often
    • adapted this game to imagine these are the things cut from the budget but we have no money to fund them (green list) and here are the things you can cut from the budget to try and fund them (red list) – the goal of the game was not for everybody to prioritize everything because there are essential services regardless
    • people respond better with physical money rather than things like poker chips
    • for a serious game to be serious it must affect the player – they were suggesting things like cutting 5 firemen per truck to 4 to fund anti-gang warfare and park rangers (for example)
    • each table had 7 citizens, 1 facilitator and 1 observer – used soloid sticks strapped to pant stirrers that were held up to signal questions – blue for police, red for fire, etc… and the head of that department would answer the question, citizens were seated from different districts at a table so they could not gang up on other districts
    • red items needed 100 percent unanimous agreement at the table
    • because people are citizens and dealing with real issues they tend to leave their political beliefs out of the discussion
    • San Jose citizens chose pavement maintenance over libraries – if the mayor went on record to cut libraries then the friends of libraries group would have come out in disagreement but there is no friends of pavements group
    • planning the first game took three months
    • when governments say they will cut the budget by 10% they are never specific, made them specify that cut with a smart goal (eg. no new helicopter)
    • the agile community donated quarter a million dollars of services and materials pro bono
    • the government took action (reductions in fire, police, delays in libraries and elimination of services) and citizens loved the process
  • pushed the boundaries in 2012 – tested new taxes, buy one or none and adding new proposals
  • budget games are better than budget puzzles – about making cuts not about education and they are collaborative
  • prune the product tree – usually for road mapping, used this to identify community service projects, which got shaped into initiatives which were added into buy a feature that the city would seed funding for but the citizens would need to donate time to implement them
  • games work for business but needed changes to work for governments – hard to have anonymity in a way the preserves free speech, coordinating large number of players, minimizing bias
  • gamification – need to ask can the average citizen play this game, need to level citizens up and play more sophisticated games
  • Innovation Games have a network of facilitators and have built trust, but they don’t have all the people and answers – created Every Voice Engaged
  • buy a feature works – a shared commitment using a scarce resource, citizens now sign up to community service initiatives using the same ideas
  • called it a priority budgeting exercise instead of using the word game
  • all the numbers come from the budget and are reviewed by an independent neighbourhood committee
  • neighborgoods – reducing consumer goods, sharing materials in the community
  • draw roadmaps as trees so you can talk about the -illities, show the critical infrastructure at the root
  • our aspirations as a community should be more than decreasing the length of sprints from 20 minutes to 15 minutes – we can do better!

The final story Luke told was how one disadvantaged woman was almost not going to turn up the session because they had always been a waste of time. At the end of the game she stood up and said that she felt empowered because she ” had the same amount of money as everybody else at the table” and was able to make real decisions. Enough said.

Demanding Technical Excellence and Professionalism

Robert “Uncle Bob” Martin presented this session. I had seen most of this content before and did not hear anything much new (I also had to sneak out 10 minutes early to meet up for an InfoQ interview). What was much more interesting was a discussion I had Andrew Prentice from Atlassian at the Conference dinner about the validity of many of the claims that were made in the session (I think we should strive for them but Andrew seemed to think it depends on time and place and the developer).

From Agile 2012
[vimeo 9981123]
  • bad code, 32000 lines of code in two classes (Order and OrderImpl) – what created that sheer irresponsibility? The fault lies with programmers – they chose to write it that way – that choice is always the wrong choice
  • our craft is defined – we have been writing the same sort of code for 40 years – assignment statements, if statements and loops
  • wear the green band – acceptance and willingness to follow my craft and unwillingness to comprimise the craft

These are my expectations from craftsmen:

  • short iterations – close the feedback loop, down to a week or shorter, deliver working code that passes all the tests and is ready to deploy, programmers should be working in short cycles 20 seconds or less (red-green-refactor loop)
  • never be blocked – never wait for anyone, if there is a blockage then go and fix the problem, don’t be stymied!
  • screaming architectures – does your code execute the use case without all the external architectures – should scream I am an accounting system not a Java web system, delay for as long as you can decisions about the database or web server , isolate the business rules so you can switch out the database at a moments notice, use decoupled architecture to focus on business rules, these architectures slow down tests
  • incremental improvement over grand redesign – grand redesigns tend to expensive and open to failure
  • clean code – output should always be clean and kept clean, boys scout rule – do a random act of kindness to the code (leave the camp ground cleaner than you found it)
  • go fast, go well – need to flip the professional bit in your head, the only way to go fast is to do good work
  • TDD – proportion is growing over the years, can’t write any production code until you have written a unit test, don’t write more of a unit test that is sufficient to fail, don’t write more production code that is sufficient to pass the  failing unit test, developers initially find these rules stupid, everything worked a minute ago, always a minute away from working code, don’t want to spend time debugging but want to spend time writing working code, development teams with a long list of defects over a page is not being responsible, confidence to change the code and ship it
  • 100% code coverage – what lower number makes sense, there is no other number that makes sense, personal ethics that the tests have good coverage
  • QA should find nothing – the QA organisation should wonder why they exist
  • statistical estimates – use velocity and it is not a failure if you deliver less, predictable team should have a flat velocity

After Dark

Wednesday night was the Rodeo Circuit which was an opportunity to collect stamps while visiting all the exhibits. I was lucky enough to win a netbook from the Agile Alliance.

From Agile 2012

Thursday night was the conference dinner that kicked off with a comedian and followed up with a really good band called Emerald City.

From Agile 2012
From Agile 2012

Podcast

Finally, I recorded a short audio podcast for The Agile Revolution wrapping up days 3 and 4 of the conference.

Agile 2012 Day 2 Review

Agile 2012Day 2 of the Agile 2012 conference in Dallas, here are my notes.

Keynote: Scaling Up Excellence. Mindsets, Decisions and Principles

This keynote was delivered by Bob Sutton, author of a number of business books including “Good Boss, Bad Boss” and “The No Asshole Rule“. A similar presentation to the one he delivered is available here.

From Agile 2012
  • organisations have centres of excellence – how do you spread it from the few to the many without screwing it up? (examples – Hendrick Motorsports growing from 2 to 4 teams, McDonalds opening 1,460 stores in China)
  • shared mindset (what people should and should not do) is crucial to scaling up – Apple has a secrecy mindset, Amazon has an openness mindset, so there is no one right way
  • a mindset is required to be successful at Agile – going to a talk or reading a book is not enough, you need to grind out the message and do the same thing day after day and live by it (Facebook – employee on boarding is a six week bootcamp where they work on 12-13 short projects, focus is to inject people into the mindset and determine their best fit at the organisation)
  • the never ending danger is that things might go bad (Onward Memo by Howard Schultz – growth of Starbucks from 1,000 to 13,000 stores, in the rush to get a huge footprint, the mindset got watered down – got excited by growth and left the excellence behind)

Choice Point 1 – More vs Better

  • strategic tradeoff
  • voltage loss – things get lost in the translation, sometimes this is worth it because it is half as good as the best but twice as good as it is now
  • learning curve problem – takes people a while to get good when spreading knowledge from the few to the many
  • overload problem – burden of the management team in trying to maintain momentum

Choice Point 2 – Alone vs With Others

  • collaborate with competitors (Glad Press ‘N’ Seal), open source is one extreme, do it alone is the other (everybody at Pixar is an employee, nothing is outsourced

Choice Point 3 – Catholicism vs Buddhism (Replication vs Localisation)

  • roll out to the masses or a central set of beliefs
  • cranking out clones – works in manufacturing like Intel plants, Sees Candy and In-N-Out Burger either work in a market or not (pull out if not)
  • replication trap problem – Home Depot is a DIY model and when they rolled it out in China it did not work in their culture
  • localised solution – Buddhist approach to tweak just as much as needed to make it work

Scaling Principles

  • link hot causes to cool solutions – fire up contagious emotions first, humans are irrational, to motivate people get them emotionally cranked up (but the danger is that they get angry) so need to have a solution to cool their energy (watermelon offensive at Stanford for bike safety involved smashed watermelons and subsidized helmets or the first all-hands meeting at Apple after Steve Job’s return where the share price was not good so Jobs declared war on Dell and charged up people to make Apple great or get out)
  • live a mindset, just don’t talk about it – do actions that are consistent with the direction you want them to go, what we tell them doesn’t matter it is what they do that counts
  • when in doubt, cut it out – reduce cognitive load but deal with necessary complexity (A.G. Lafley keep it “Sesame Street simple”, Baba Shiv experiments on cognitive load for 2 vs 7 digit numbers), go simpler when trying to sell a message
    • when systems get larger and more complex, you need to deal with the complexity – Ben Horowitz “give ground grudgingly”, add people and processes only when things start to break down
    • Hackman’s rule for teams – over 6 people problems arise, more than 10 you are really in trouble, optimum is 4-6 people, Navy Seals and fire teams have 4-5 people, any more is more complicated
    • Dunbar’s number is 150 (100 to 230) – the cognitive number of relationships we can manage, pirate ships only have about 100 pirates per ship before dividing, Twitter average is about 100-200 followers
    • as the team gets bigger you spend more time on the dynamics and less time doing the job
  • little things pack a big wallop – subtle cues mobilise mindsets – design things that people barely notice but have a huge impact on their behaviour (background music, language, smells and sounds affect people’s behaviours)
    • Kathleen Vohs money research – people are less likely to ask for help or give help, will work alone when money is the object – leads to selfishness and self sufficiency
    • think about the little cues you are sending
  • connect people and cascade excellence – get one group to mentor the next to spread the excellence, grow your own replacement to get a promotion (Zynga), make your initial group diverse because more variation will give you a bigger impact
  • the mindset is the steering wheel and incentives are the juice – money is an incentive but so are pride and shame, how can I embarrass them or how can I make them proud (using mimes to mimic jaywalkers, Ben Horowitz fines people $10 a minute they are late for a meeting – it is not the money that motivates them it is the embarrassment, gets them to pay him on the spot!)
  • don’t put up with destructive beliefs and behaviours – bad is stronger than good, bad behaviours are ingrained more deeply, to spread excellence you need to stop the behaviours, bad behaviours are 5x worse than the good, destructive team members that can’t be reformed can bring down performance by 30% to 40% because you spend more time dealing with them rather than the work (Barry Feld of Cost Plus World Market would look for two things when visiting a store – greeting me and the customers and are the bathrooms clean)

Traps

  • don’t mistake swarming for scaling – raising awareness is not enough
  • too fast, too far – when people say they want to scale quick and fast, they are looking for the easy way (you are fighting a ground war not an air war)

When scaling you need to be master of addition and subtraction. – everytime you add something good, you need to remove unnecessary and bad things to make way for the good.

I also wrote an article on this session for InfoQ.

Why Agile Needs More Cowboys

Mike Griffiths presented this talk, his slides are available here.

From Agile 2012
  • do you ever see cowboys looking after cows?
  • real cowboys protect the herd, select the lead, direct into natural flows
  • agile is humanistic rather than mechanistic, so is leadership – manage property and lead people
  • “Leadership is the capacity to translate vision into reality” (Warren Bennis)
  • levels of maturity (Stephen Covey) – dependent -> independent -> interdependent
  • leadership is the next step beyond management – to a soft skills focus
  • productivity – undermining / resistance -> passive compliance -> active participation -> committed dedication -> passive innovation – move up the scale with good leadership
  • model desired behaviour – same attributes of a good leader are modeled over many years and in different countries – honest (will not knowingly follow someone who is dishonest), forward looking (describe the future state), competent (don’t want to be embarrassed by our leader), inspiring (The Leadership Challenge), a leader needs to shield the team, remove impediments, carry food and water and re-communicate the vision
  • communicate a vision – like driving in fog, without clear vision you need to slow down, clear direction allows focussed effort and speed, Jim Highsmith’s kick off meeting vision exercise, reinforce the vision frequently
  • create a learning and sharing environment – “if you have two hands to work with and you use one to cover your butt, you only have on hand left to work with”, set an example and admit mistakes and share information, ask questions of your team, make it OK to discuss the bad stuff
  • share information / power – agile tools allow move from micro management to navigation and communication
  • fostering functional accountability – accept that conflict is good, Patrick Lencioni on The 5 Dysfunctions of a Team
  • importance of the team – COCOMO Estimation model (Barry Boehm) shows that people factors has a multiplication factor of 33 (there is a 10x difference on good people over good process)
  • challenging the status quo – retrospective, “areas for improvement” works better in some cultures over “what didn’t work well”, retrospective action wheel, gathering lessons learned is one of the most frequently dropped agile practices
  • innovation and learning – if people are trying hard, then mistakes don’t really matter, Toyota collects lots of ideas with small incentives rather than one big idea
  • encouraging each other – treat people as volunteers, paying people just incentivises people to show up but volunteers are passionate, say thank you and why you are thanking them and what the benefit was, celebrate interim goals frequently, at the end is too little too late
  • shared leadership – aiming for teams of competent leaders (“Project Leadership” by Jeffrey Pinto)

I also interviewed Mike Griffiths for InfoQ.

Leading Conflict: A Systems Intelligence Approach to Conflict Facilitation for Leaders

This workshop presented by Michael Spayd and Lyssa Adkins was one of the highlights of the conference for me. The key takeaway for me was that “everyone is right… partially!” The slides are available here.

From Agile 2012

The workshop started with a discussion on the conflict we see on teams and then about why we came to the session and what we had hoped to get out of it.

  • systems oriented leadership – structured, holistic, organic, complex, end to end – move from the work level to a birds eye view
  • relationship systems intelligence – we are all in relationships – personal, work, departments
  • the human system is not in alignment with what agile does, leadership begins inside
  • see conflict through the right view – the right view leads to the right action, everyone is right partially, self organisation happens when all perspectives are represented, conflict is something trying to change in a system and not a problem to be managed

We then had a discussion around what is the benefit of the right view, is it difficult?

  • what is the difference between finding someone wrong as to finding someone right – go and hunt out why they are right
  • container – not necessarily physical but made up of behaviours, norms and culture of the team and environment

We then did an informal constellation exercise – 20 people in a circle, put the subject on a piece of paper in the middle, make a statement if it is true stand close, if not true stand away then ask those in the constellation what it means to you, need to talk from experience not what you think, remember people are right partially (take a soft focus). It is called a constellation because it looks like a star in the sky, speak from your experience, only people who wish to speak should

From Agile 2012
  • container – culture of the team, want to raise level of positivity and decrease level of negativity and toxicity, educate team about conflict and team agreement about digging into it
  • positivity and team performance – continue to abdicate your position is bad, needs to be balanced with inquiry – “not sure I agree with you, but tell me more”
  • all teams have an emotional bank account – positive interactions are a deposit and negative interactions are withdrawals, what is positive for your team and what is “flipping the asshole bit”
  • build the container – positivity vs productivity
                Happy camp     |    Insanely great
Productivity    ---------------+-------------------
                Prison camp    |    Sweat shop         
                           Positivity
  • emotional withdrawals – blaming, defensiveness, stonewalling, contempt, excessive advocacy – contempt is most prevalent on software projects
  • emotional deposits – appreciations (noticing people doing little things, in front of the group), acknowledgements, more inquiry and less advocacy
  • never praise people for the work they do, but for who they are, turn up acknowledgements and turn down appreciations
  • appreciative inquiry – look at the strengths of teams

We then had a discussion around our teams positive /negative ratio

  • dealing with cultural conflict – inquiry openness, use my land your land ” in my land we…, what happens in your land?”
  • teams move around the quadrants – prison camp is not sustainable, happy camp and sweat shop are intolerant
  • conflict protocols – team needs to come to consensus, leader needs to take a facilitator / coach role – what is the environment and behaviour we want when we are in conflict, everybody’s job is to call out the protocols when needed, not enforce them
  • be a facilitator – more helpful than resolving it, keep reviewing the right view beliefs (fake it till you make it), understand your triggers
  • process the conflict – reframe the conflict” “I wonder what this conflict is trying to tell us”
  • don’t want debate or vote, a prelude to a discussion to find out what’s true
  • we get triggered by people who are like us who exhibit behaviours we don’t like
  • Getting to Yes – Roger Fisher
  • to hear from silent others, ask “lets hear from those who have not not spoken” and then be silent

I was lucky enough to interview Michael and Lyssa with Shane Hastie for InfoQ.

The Product Owner Role is a Stupid Idea: Improving How We Handle Customer Requests

Jeff Patton is always entertaining, and I was not disappointed with this session. I would hope that his slides get published at some stage.

From Agile 2012

He kicked off the session with a live poll by getting the audience to answer the question “what goes wrong with product ownership” and then got everyone to move around the room based on experience, how well the product owner works (they don’t correlate!), internal versus external product development and the ability to change products

  • why is there a difference between developers and customers?
  • single product owners don’t work – whole teams own products
  • processes aren’t designed for success (including Agile ones)
  • safety isn’t success – Nordstromare a big successful company so they have lots of rigour around their process, nothing innovative gets through the net, so they built an innovation lab
    • waterfall model – step after step models have no feedback, Royce was trying to explain why it was a bad idea, experts have been trying to tell us why this is bad since the 70’s, traditional development models are safe
    • agile is the new waterfall – product owner creates stuff and gives it to someone else – someone to blame like the preceding process in waterfall
  • velocity isn’t value – being great at delivering software using agile then you should realise that it doesn’t matter, if we build more shit we just have more shit, we are not here to build software we are here to change the world, everything that happens (outcome) is after delivery, so need to maximize this, difficult to measure
  • underpants gnomes – a meme for something people are building but have no idea why
  • to get value you must form a hypothesis on how you’ll get it – this is the first shift companies need to make – how will we measure the output
  • one balanced team not client vendor – if we want to fail we can probably fail cheaper abroad
  • ideal product should be valuable, usable and feasible, product manager understands the value, UX or BA understands the usable, lead engineer understands the feasible, this is a balanced team – how should we build it, will they use it and how much will it cost
  • working as a team of comakers, we need to do a lot of mind reading, visibility is not good enough, shared understanding is what we are striving for
  • discovery complements delivery, morale suffers when we just build stuff, the thrill is seeing how well it works and debating the results and planning the next approach
  • story maps describe outcomes that we are shooting for
  • personas – don’t necessarily need to be accurate documentation but facilitate shared understanding
  • need face time with real people to understand, go watch people work to learn, then build models to map what you learnt (experience or journey map), when users explain a problem that should trigger an idea, share product story or product as part of a regular internal tradeshow
  • we need to understand the problems and find solutions to get us there, MVP (minimal viable product) should be the least we can build to solve a particular problem,
  • a newer version of MVP is lean startups (build -> measure -> learn) MVPe, smallest viable experiment so that we can learn and eventually earn
  • ready for release board – for each card, an explicit measure step and metrics, then before it leaves the board they need to learn
  • Nordstrom Innovation Lab learning loop – Replace the Mirrors – look for the number of learning loops, no idea on their velocity but we know how much they learned, just budget for learning – “life is better here, even though we fail most of the time”
  • you fail most of the time at predicting outcomes and getting value (Marty Cagan – Inspired)
  • making good product decisions is hard, focus on how fast we learn and how fast we get things out there
  • don’t focus on velocity and worry about who’s fault it is, focus on the things that matter

To succeed:

  • adjust your head – get out of the old client vendor model, be less like a waiter and more like a doctor and solve problems
  • take on the persona of a music producer – listen to bad music and help make others ideas better
  • be the film director – focus on the talent of the people you are working with, give direction and passion without stealing ownership

Industry Analyst Panel Discussion

I sat in the first 40 or so minutes of this discussion. Unfortunately, the room was so packed and the panel was not elevated so it was very hard to determine who was saying what. The panelists were Tom Grant from ForresterThomas Murphy from GartnerMelinda Ballou from IDC and Christopher Rommel from VDC.

  • should we stop focussing on agile adoption?
    • disagree – fewer people to execute, focus on importance, deliver benefits quickly, tackle issues like mobile and embedded
    • agree – not about how many people are doing this or certifications, there are plenty of problems to solve, a foregone conclusion, let’s tackle the bigger issues, adoption is superficial metric, plenty of challenges beyond pure software development
  • can you define ALM?
    • no agreed definition, lean concept of flow, includes the tools and processes
    • typically think about standard phases but the end to end lifestyle doesn’t work, now need to look at DevOps and cloud now, more complicated to deploy now
    • ALM tools are a misnomer, output of SDLC, fundamental issues with tools currently, we do not develop and done any more, need to start thinking about products and products have lifecycles
    • going forward will be more about traceability of past development and operations
    • worst thing is the name
  • what should we call ALM instead?
    • Application Lifestyle Context
    • Gartner are talking about this internally
    • nirvana…, once the new taxonomy is decided it will be antiquated, we are here to improve!
    • dynamic end to end process, software lasts decades longer than we expect it too, needs to sustain life
    • ripple effects of agile disrupts it
  • Gartner’s prediction of 80% of software development teams doing agile by 2012, where are we?
    • at least 80% of all IT organisations have some agile and 20% of large organisations, on everyone’s mind, businesses are talking about it, will probably still be another 10 years because big change takes that long
    • estimate that 40% of organisations are using agile, has blown past all the other methodologies, businesses realised recently that they’re not innovating
  • are we seeing issues with organisations part doing agile and part traditional?
    • often the only way organisations are initially successful, different processes (eg. software and embedded), needs to rolled out staggered and incremental
    • fair adoption in development teams, but now what does it mean to be a tester, lots of centres of excellence still exist, Facebook deploying every 25 mins scares the heck out of most traditional organisations, companies need to get to the right fit
    • majority of Agile teams are not purely Agile, use water-scrum-fall, slimming down requirements and deployments is not sprinting, Facebook analogy does not fly with corporate clients
    • need to begin where people are, approach what is the best for the organisation and adjust for the context
  • how do you measure effectiveness of Agile methods and compare them?
    • prefer not to speak about methods but rather patterns and practices, compare using customer satisfation, ROI long term for the organisation, organisations still like function points delivered because it is easier to count
    • one of the biggest pluses is on quality and that is subjective and hard to measure, metrics that can point like customer satisfaction, rework and defect counts, time to market also better, it is often a leap of faith
    • velocity interest is going down in industry, but many in the executive suite only think about velocity, a loaded word
    • don’t know soft value if you don’t baseline, now we just fix metrics inline and not all defects and features are equal, need to measure qualitative benefits to the business, will see more as metrics around Agile evolve
    • need to pull testing and quality in all the way through, drive better quality and user experiences
  • describe how you evaluate the tooling landscape?
    •  most observations come from end users, tools aren’t the key most important thing, want to understand where the market is going and what is the right fit
    • biggest differentiator is picking the right tool for the job and the organisation
    • there are tools that enhance Agile that were not built for Agile, and there are specialised tools for Agile, vendors do put thought into who they are targeting so you need to listen, we don’t live in a world where everybody gets their tools from a single place

After Dark

A huge thanks to my friends at Atlassian and Opower who allowed me to tag along to an awesome Tex-Mex joint in Grapevine called Uncle Julios.

From Agile 2012

Podcast

Finally, I recorded a short audio podcast for The Agile Revolution wrapping up Day 2 of the conference.

Agile 2012 Day 1 Review

Agile 2012With a bit of last responsible moment planning, I made the trek to Dallas (well actually Grapevine) in Texas, USA for the Agile 2012 conference. This year I was once again a reviewer on the Testing and Quality Assurance stage. This was the first year in four years that I did not have a submission accepted, however with my role as an Agile editor for InfoQ, part of my journey was to interview interesting Agile folks on camera (how cool is that!)

When somebody says that things are always bigger in Texas they are not kidding! The Gaylord Texan Hotel and Conference Center is huge, in ways that cannot be explained without seeing it. Everything is accessible without really needing to leave the enclosure (which is great because you don’t need to experience the 110 degree heat outside.

From Agile 2012
From Agile 2012

Here are my notes from the sessions that I attended on day 1.

From Agile 2012

Bad-Assed Double-Loop Learning: From Judgmental to Good Judgement

This was a workshop led by Derek W. Wade and Susan Eller. Susan comes from a medical background while Derek has experience in health care and aviation. Their presentation is available here.

From Agile 2012
  • 70% of health care errors happen due to lack of communication, similar numbers for aviation
  • transparency is starting to be accepted as a given, but still opaque in communication (people apply filters)
  • the “core protocols” help transparency
  • people in health care often perform non-health care scenarios (for a scenario that is unfamiliar to them)

We were then given a clinical scenario to watch in which a doctor is giving a medical update to a parent.

  • we observed that: the doctor gave out a broad range of data, the senior doctor fled the scene, the doctor was not looking to the parent at eye level, there was lots of technical jargon
  • our coaching advise to the doctor would be: sit down, don’t be alarming, wait for a response from the parent and address any  concerns, focus on the more likely data at the moment, know the patient, get the senior doctor to introduce the new doctor and stick around for the discussion, ask the parent if he has any needs

We then launched into talking about feedback:

  •  judgemental feedback – “I wouldn’t have done that”
  • non-judgemental feedback – sounds like you are being nice, but are actually statements that make people defensive, “the wolf in sheep’s clothing”, “do you think you could have done better?”
  • frames (mental models) – context is king, match our context to the other person and determine what frame they are in
  • ladder of inference – we can observe data and experiences as well as the actions, but everything else is within, are you basing conclusions on something observed or something inferred (The Fifth Discipline Fieldbook)

Ladder of Inference

  • you need to check in with yourself – are you using observable or inferred data
  • like the donkey’s balls vide, you need to have a WTF moment – what is your cue? Ask “where’s that from” when you have a mismatch rather than rage with WTF!!!
  • single loop interaction – inferred frame, “why we think they did it” (do something and get an outcome, repeat) as opposed to double frame interaction asking “why they did it” (do something, get an outcome, learn from the interaction on why)
  • not all about how you did it, but the way you deliver the message, need to bring to the attention of other person what you saw (your frame), need to understand why they did it
  • uncover your own thinking, use lots of “I” statements to remove defensive stance, “here is what I noticed”, “here is what I do”
  • data -> advocacy -> inquiry
  • balance with inquiry
  • as a coach if you understand the appropriateness rather than just telling them, you are doing double loop learning
  • you have a level of knowledge, so you need to understand but still use good judgement
  • “I noticed…”, “why did you do that?”, “I observed you were polling for status at the scrum… Why did you do that?” In this case, the answer was respecting the time box. Responded, “I understand that…”, “but it is my view that…”, “what do you think about that?”
  • can also do this with your spouse, teenagers (gets through the pain quicker), can also do via email, it’s not the medium it’s yourself (are you genuinely curious)?

The debrief stages are:

  • reaction – not “how did that go”, but “how did that feel”, chance to vent about any feelings
  • description – ensure we are all asking about the same problem, can you give a summary of what happened
  • analysis – use advocacy / inquiry and ask how that related and expose frames
  • generalisation – look for outstanding examples, how can we apply this learning to reinforce

Finally, when you hear yourself thinking “WTF!”, balance that with “What’s that from”

Agile Inception Deck – 10 Questions You’d Be Crazy Not To Ask Before Starting Your Project

This workshop was led by Jonathan Rasmusson, author of the Agile Samurai. Much of this workshop was common sense and very close to the Concept process I have been using and teaching for the last few years. His presentation is available here.

From Agile 2012
  • we start projects thinking we are aligned, but often we are not
  • ten questions – good for 1-6 months of planning, should take a couple of days to a week to complete
  • the last thing executives want is the team asking for more money – they prefer a larger number up front
  • at the front of a project is the time to ask the hard tough questions
  1. ask why we are here – why are we spending shareholder money and capital on this, most projects skip this, if you can go and spend time at the client site
  2. create an elevator pitch – in 30 seconds you have to be concise, in Crossing the Chasm by Geoffrey Moore there is a template for an elevator pitchfor (number one customer constituent)
    who (the problem)the (name of the project)
    is a (type of project)
    that (the intent)
    unlike (competitors)
    our (differentiation)
  3. product box – what would it look like, what are the features and the related benefits – a list the benefits; b) create a slogan; c) draw your creation
  4. create a not list – focus on what we are not going to resolve – in, unresolved and out of scope
  5. meet your neighbours – your project community is always bigger than you think ,core team -> people to start building relationships with -> then everyone else, stakeholder map
  6. show the solution – pick your architecture when you pick your team, be aware that people bring baggage, knock together a high level architectural diagram, show the challenges to the sponsors (eg. no test instances), also show the out of scope and unresolved architecture, understand gaps of licensing, etc…
  7. what keeps you up at night – risks worth taking and those that aren’t
  8. size it up – we don’t know how big – estimate in month-ers, go through the master story list, it’s a guess, not a commitment, think small, no project should take longer than 6 months
  9. be clear on what’s going to give – the secret of agile is that it does the same thing you do when you have too much to do and not enough time, dropping agile is just dropping cost (“or just sending the problem downstream to another manager” as per someone from the audience), the furious four, agile likes to bend on scope, use trade-off sliders, if they don’t want to make a decision you need to remind them that at some stage someone will make a decision, do other important stuff on a separate slider
  10. what’s it going to take – be clear on your team (who do you need, what skills, make sure you have your stakeholders on there as well to be clear on commitments), clarify who is calling the shots (especially when you have multiple stakeholders) and who will make the final decisions from a customer stakeholder point of view (who is the person with the goal), come up with a rough back of the napkin budget
  • should be 10 slides in PowerPoint or keynote – clarity, creative, drives conversation, easy to participate

Here is the deck that the table I was working with created:

From Agile 2012

A blank deck and summary is also available. Jonathan also posted some notes and pictures of the session.

Jonathan also made some time to speak to me briefly on the podcast below.

Podcast

Finally, I recorded a short audio podcast for The Agile Revolution wrapping up Day 1 of the conference, including a short interview with Jonathan Rasmusson.

AAFTT Workshop 2012 (Dallas)

Agile AllianceThe Agile Alliance Functional Testing Tools Workshop (AAFTT), was one again held this year the day before the Agile 2012 conference in Dallas. Despite there being only a small group there this year, the discussion was still open and free flowing under the facilitation of Matt Barcomb and the organisation of Joseph Wilk and Elisabeth Hendrickson.

From Agile 2012

We created an agenda for the day:

From Agile 2012
From Agile 2012

Here are my notes from the day:

Enabling Non-Programmers

George Dinwiddie led this session which turned into a lively discussion! I had proposed what I thought was a related session on Specification By Example and had combined them, but the conversation never really had a chance of getting onto that topic!

From Agile 2012
  • George expects the business people to be able to read and understand the tests
  • non-programmers should not be writing automation, it is the programmers responsibility
  • wants to be able to extract working tests into a step definition rather than needing to rewrite in Ruby (George Dinwiddie)
  • there is a difference between a specification and testing (Christian Hassa), this is a fundamental shift
  • building a DSL – talk about terminology and how we explore our domain – essential step
  • you don’t create a DSL, you build it
  • not a problem with the toolset but our training in thinking in a procedural way rather than an example way of thinking (Corey Haines
  • testers new to automation create large scripts because it’s their only hope in creating some sort of repetition (@chzy), it does not take a lot of effort and most business people are open to working this way
  • enable non-programmers by getting them to come work with us every day (Woody Zuill)
  • George is helping people make a transition, don’t want people to throw away what they have,
  • ideal is not to have step definitions call step definitions, Cucumber community is becoming a community of programmers and are moving away from this
  • Robot Framework is more keyword driven, more aligned to non-programmers, you can also make a mess, “it is a double edged sword” (Elisabeth Hendrickson)
  • testers like to test the negative cases, should they be expressed at a high level or expressed as a unit test by pairing developers and testers
  • if you are testers and you cannot write simple Ruby scripts, then you have no place on my team (Corey Haines), this opinion is probably shared by the Cucumber community (George disagreed…)
  • need to use the same design patterns in both Robot and Cucumber (@chzy)
  • in an environment that is test centric and BDD, Cucumber is the tool (usually environments with little to no QA),  in a business centric environment where you an get the business involved Robot Framework is your tool
  • Corey works in environments where there is very few Cucumber specifications per scenario, backed by lots of unit tests
  • Cucumber came out of environments where the team is predominantly developers, hence the desire to drill down to Ruby code sooner
  • at a large household name company – theyexpect testers to be more technical, happening more in the industry, eliminated the role of tester due to different pay grades (@chzy)
  • moving traditional organizations to a collaborative way of working is hard (@chzy)
  • wants simple refactorings that are are a bridge from one place to another (George Dinwiddie)
From Agile 2012
From Agile 2012

Not Testing

Joseph Wilk led this discussion on thoughts that are coming from the Lean Startup movement.

From Agile 2012
  • at a startup Joseph was at, tests were taking up to 8 hours to run and costs for distributed architecture was high
  • Forward Internet (London) – let developers do what they want – by not testing they could be faster and more interactive than their competitors – did testing in Production, a risk that sometimes things could fail – testing should not block deployment
  • in some situations it is just worth hacking it out, particularly in a lean startup
  • if it is faster to rewrite rather than maintain it, then don’t write tests (Fred George via Corey Haines)
  • a big question of this is the skill level of your developers – do you have the skill level to make the choice to not do it (Corey Haines), primary impact of success is the skill level of your developers
  • cost of failure?
  • complexity is in the eye of the beholder
  • Etsycheck error rates in Production (and decide whether to roll back or not)
  • Scribd – were having trouble with test speed and found out the developers were scared of breaking the PDF (which is the heart of the business) – they separated the PDF out to speed up development (so developers weren’t worried about breaking it)
  • quick delivery – need the quick feedback cycle to make this work, simulate production
  • need effective tests – small suite of tests that are 5-10 minutes long
  • test what you are most scared of
  • Silicon Valley’s issue is hiring – Facebook is stealing developers from Google because they hire good people and enable them to just hack it out
  • 2 software industries – small companies and large corporations, very different worlds
  • question everything – can only do this if you have experienced it before and understand it
  • need a model to help others adopt this
From Agile 2012

What Are The Better Ways To Specify Tests With Large Test Data

I unfortunately did not get to this session as it was running at the same time as the No Testing session, but here is the output from that session.

From Agile 2012
From Agile 2012
From Agile 2012

Deliberate Test Practice

Brandon Leiran led this session, trying to see if there was a testing equivalent of coding katas.

From Agile 2012
  • weekend testing group – choose a target, collaborate on Skype on their findings
  • Wikimedia Foundation – looking at ways crowd source testing to test infrastructure (rather than content) – more on this initiative to be announced in the near future
  • why is it any different to coding katas? Safer and smaller so you get more practice, practice collaboration too
  • organise a community like a book club
  • code roast – put the code up and everybody critiques it, be careful not to attach to a person!
  • get practice at driving different interfaces – Triangle Tester exercise, parking lot calculator
  • hard to practice test automation as it takes a lot of time upfron
  • take time to do charter writing sessions or test different items like cheap toys (how would you test this toy?)
  • demonstrate value of quality using simulations eg. origami games
  • add tests to open source – many of the existing tests are average
From Agile 2012
From Agile 2012

Holes / Editors

Chzy led this discussion to discuss holes in the existing frameworks.

From Agile 2012
  • the HTML report from Cucumber is very average – chzy is releasing a new gem based on discussion from a recent testing conference in Austin
  • editors – people now bundling these in TextMate, Eclipse and Visual Studio
  • JetBrainsRubyMine has gherkin support and refactoring support for Ruby, plus a lot of support for steps in Cucumber
  • big picture view of feature coverage – would be cool to map this to Sonar, suites represent functional areas, tags to represent cross-cutting concerns
  • SpecFlow is trying to map to story maps using SpecLog
  • Relish allows you to create higher level specification of your scenarios
  • there is a plugin for Cucumber that allows github integration
  • Thucydides has a built in feature coverage report
  • Twist has Cucumber support
  • test data management – FactoryGirl gem – build up snapshots but want to be able manipulate values down the stack, Faker, ActiveRecord
From Agile 2012
From Agile 2012

AA-FTT – The Future

Elisabeth Hendrickson led this session as part of her handing the leadership over to Joseph Wilk.

From Agile 2012
  • mission is to advance the state of the art of functional testing tools
  • community building is the best way to spend the money, tool builders and tool users
  • Yahoo group is main repository of knowledge, current wiki probably needs to be moved
  • need people who have time and energy and interest to take this forward
  • biggest issues with wikis is managing all the wiki spam
  • have a leadership issue to curate the content and grow the community
  • the other options are to create static content, like business analysts and leadership
  • important to have a knowledge repository that at least captures outcomes
  • would like have more organised meetings worldwide
  • is our mandate just functional testing? It has really been just about “agile testing”
  • probably need to rewrite the charter
From Agile 2012

Wrap Up

We finished up the open space by writing what action we were taking from the day and giving them to another participant to keep us honest (mine was to write this post!)

From Agile 2012

Another good open space, and good to catch up with many of the leaders in the testing community once again.

Podcast

I recorded a short audio podcast for The Agile Revolution wrapping up AAFTT.

YOW! 2011 Australia Review

YOW! 2011The YOW! 2011 Australian Developer Conference was held a couple of weeks ago in both Brisbane and Melbourne and I was able to attend with thanks to Dave Thomas and the organisers of the conference on my press credentials for InfoQ. I had the ability to record some podcasts for The Agile Revolution and Coding By Numbers as well as chat with most of the Agile related speakers. Here are some of my notes from the sessions I got the opportunity to sit in.

Dave Thomas kicked off proceedings with some Lady Java:

Keynote: Top 10 JVM Erroneous Zones

Cameron Purdy from Oracle presented this session. Whilst it is good to see management levels talking about and understanding the core business, I found this keynote rather average. The presentation is available here.

From YOW 2011
  • immutability – no concept in Java, introducing would be good for thread safety but would also improve garbage collection (stop the stop -the-world clauses)
  • primitive types – binding between interface and implementation, improving would simplify and fix auto-boxing and generics, would need to make sure code compiles the same way
  • interface vs implementation – they are all the same thing, a problem that we all inherit from the same parent
  • properties – very fixed contract currently, need to loosen this up
  • obvious intrinsic types – Decimal needs to follow IEEE standard 754-2008 (754r), need to upgrade to a 128- bit world
  • real runtime model – JVM must provide predictability, need more access at code level
  • constants – no constants for intrinsics or other similar types
  • alternate class file format – limited to 64KB in methods, hierarchies make no sense like inner and anonymous classes
  • tail recursion / tail call optimization – performance benefits like Scala

Continuous Design

Getting the opportunity to see Mary Poppendieck speak is always a pleasure, for this conference she delivered her talk on Continuous Design. As the program host for the Lean and Agile track, I also had the pleasure of introducing Mary. Her presentation is available here.

From YOW 2011
  • continuous delivery misses design and feedback – how do we know what to develop if we are thinking about continuous delivery, has created a need
  • continuous delivery uptake is increasing, takes about a year to get going
  • need to assemble a diverse team – frame, ideaton, experimentation then iterate
  • 3M – make a little, sell a little, learn a little (repeat) – the fastest through this loop is the winner – fastest can be four times faster
  • need good people (pay attention to hiring) and a whole team (need all the functions which can break the agile 7 +/- 2 model), measure success in customer satisfaction
  • start with customers – Amazon (working backwards – write a press release, write FAQ, describe customer experience, write user manual)
  • disruptive design – companies like GE are starting to design products for different markets like China and India rather than USA and Europe – resulted in different design , thinking, price point
  • need to decide when it is time for people to see it – it’s hard to refactor books, hardware and first impressions but you need to take a chance and find out that you are wrong – a balance trade-off
  • minimum viable product – biggest waste is building the wrong thing followed by complexity – build it and measure the response (learn)
  • implement a show me more button and forward to to an under construction page and measure the clicks
  • Eric Ries – The Lean Startup 
  • avoid vanity metrics, need actionable metrics, use innovation accounting – start with a hypothesis, build MVP, target initiatives at improving a growth metric in your hypothesis, measure done as adding value
  • use A/B tests to change your conversion rate
  • test early – don’t waste your time arguing
  • cohort metrics – operate on data, as people run into my product how do they behave
  • feature toggles – switch features on/off on demand, wrap entrance to feature with toggle code, control via configuration file – customers love it
  • canary releasing – take a small amount of users and give them a new version, need to be able to tell a good change from a bad change very fast – monitor key thresholds and roll back fast if required – make sure when something goes wrong it never goes wrong again
  • Apple – ” it’s not about money” – understand customer problem and the revenue will turn up
  • Google – “it’s best to do one thing really, really well” – stay focussed
  • Amazon – “think long term” – you don’t want make a lot of money off your best customers, some things don’t always make financial sense
  • 3M – “hire good people and leave them get on with it”

I also had a great half hour chat with Mary on the second day of the conference where we talked in-depth about continuous design as well as size of the product team. She believes the key is to enable the complete development cycle and discover good engineering products. We should stop using software words, including Agile, and start using system level engineering. As for the team size debate, we should use system engineering and break our teams into appropriate sub-components.

60 Years of Innovative and Agile Work Practices

Nigel Dalton led this entertaining and informative trip down memory lane, and as the program host for the Lean and Agile track I also had the pleasure of introducing him. The presentation is available here.

  • people who pay your wages don’t know your stuff, this is a heavy duty approach that has been used for the last 100 years
  • 1930’s Cabinet War Room – as close to an agile room design as you can get, war is a fairly big project!, agile does scale (WWII), lucky it did or this presentation would have been in German!, military and politicians were in the same room, no battle plan survives contact with the enemy
  • 1940’s Lockheed Martin – trademarked skunk works – built a team and in 143 days built the XP-80, built skunk works rules
  • 1950’s U2 and SR71 – if you do good engineering, you will be amazed how long it lasts
  • 1960’s moon race – iteratively learning through doing, working rockets are the primary measure of focus
  • 1970’s Luna Tractor – Russians were striving for a different question, what is on the moon?, different question and cost a lot less money, Apollo 13 is the greatest example of an agile project, ask the right question…
  • 1980’s cold war fears – madness of strategic parity, Russians learnt a space shuttle program cost a lot of money after duplicating it, took the USA 30 years to learn it

I also had the opportunity to talk more in-depth with Nigel Dalton after his presentation for The Agile Revolution podcast with Renee Troughton.

Product Engineering

Mike Lee presented this session, in a sombrero, and his slides are available here.

From YOW 2011
  • underwear gnome algorithm, product engineering is step 2
  • product engineering is overarching, top down and empathetic
  • think about what you are going to do before you do it…
  • million dollar idea – ideas don’t matter and are usually terrible, originality does not matter, it is quality
  • ideas – it’s like a blank but with blank…
  • consider your customers – start at the end by making a commercial (30 – 90 seconds on the problem you are going to solve and how you are going to solve it)
  • your best product tester is your arch nemesis
  • in user interface – it is much more important to be consistent than correct
  • real artists ship – plan, design, ship on time!
  • don’t ship the rough draft
  • fear social debt much or more than technical debt – you can fix technical debt (you can but you won’t!)
  • shipping a product is like giving birth to a kid – there is a heck of a lot more work to come
  • endeavor to kill your own, you are never done, when people are raving about the first one, you are already finishing the second, you want an army of evangelists
  • Appsterdam – the most important thing we have is the community
  • the hook is the difference to a defining product, but need to keep being innovative

Better Testing With Less Work: QuickCheck Testing in Practice

John Hughes delivered this interesting session around Quick Test. The slides are available here.

From YOW 2011

Keynote: Escape From the Ivory Tower: The Haskell Journey From 1990 to 2011

The keynote kicked off with a tribute to some of our founders who we lost in the last year, including Dennis Ritchie:

Simon Peyton-Jones, the inventor of Haskell, delivered this entertaining keynote, his slides are available here.

From YOW 2011

Keynote: Temporally Quaquaversal Virtual Nanomachine Programming In Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy!

With an award for the best title for a keynote ever, Damian Conway kicked off day 2 with this entertaining session.

From YOW 2011
  •  change your velocity, rotate your space-time deep
  • rod logic

Problem-Solving and Decision-Making in Software Development

Linda Rising pronounced this as the “weird talk”, her slides are available here.

From YOW 2011
  • meetings – no thinking
  • no scientific experiments that show agile is any better
  • we need sleep – but average time is dropping, naps are good too…
  • we are hardwired to look at the horizon, so lift your eyes and look around and blink
  • lying down improves your cognitive performance
  • research from University of Queensland – the longer you sit the sooner you will die
  • the startling ideas come at a time when you are doing nothing
  • eat before you’re hungry, drink before you’re thirsty – when the brain is lacking energy, the default is to say no
  • we are hardwired to be close to nature – we do better with natural light and real plants around us, take 5 minutes outside in a natural environment
  • explain the problem to your dog or a stuffed toy
  • in meetings, when at an impasse, get each person to explain each others version of the problem
  • fearless change experiments – test the waters, reflect, small success, step by step

I also had the opportunity to sit in on a very interesting interview with Linda Rising on the Coding By Numbers podcast with Craig Aspinall and Steve Dalton.

Domain-Driven Design for RESTful Systems

Jim Webber delivered this entertaining session, perhaps the most entertaining part was when he tried to explain a cassette tape to a young audience member (I remember loading Commodore 64 games off tape…). His slides are available here.

From YOW 2011
  • embrace HTTP as an application protocol
  • hypermedia helps us to explain to humans what to do next, can also use for computer to computer

Feedback Makes Everything Better: Understanding the Software Engineering Process

Bjorn Freeman-Benson presented this session, his slides are available here.

From YOW 2011
  • problem with Agile is we release and it vanishes with customers – The Progress Principle, The Lean Startup and Continuous Delivery are good books that solve this problem
  • continuous deployment – eliminate the fear around doing deployment
  • tests – a version of feedback, need confidence
  • automated deployment strategy – need to be repeatable using tools, need to be able to do quickly
  • need architecture that can handle inconsistencies in the system at any one time – different versions of API’s, etc. in the system at the one time
  • feature toggles – need on the technical and business side, toggles for beta users, power users, need to be able to work on one code stream all the time for it to work
  • traffic – need traffic for this to be successful, especially to get useful metrics
  • monitoring and feedback – what characteristics are being used, monitoring and qa are the same thing (see Steven Yegge’s rant on big SOA)
  • Apollo program was basically Agile and continuous deployment in the 1960’s – 61 launches until they landed on the moon – only way they made progress was because they were monitoring everything
  • record all the values all the time
  • pay attention to long term metrics, not just instantaneous
  • should use the word anomoly more (not bug) – use feedback to understand and fix our anomalies

Other Stuff

Joshua Kerievsky gave two talks at the conference that I unfortunately did not get to see live (Lean Startup and The Limited Red Society), but I did get the opportunity to speak to him in-depth with Renee Troughton for the Agile Revolution podcast.

Renee and I also did a wrap-up podcast.

I have also published a news article for InfoQ where I asked all of the Agile speakers at the conference what the Agile community needs to embrace in 2012.

Channel 9 were at the conference and recorded a number of video interviews with speakers that are well worth viewing. Peter Sellars has also written a comprehensive wrap-up of the day 1 talks.