When XP and Scrum were devised over 10 years ago, they were created to improve the delivery of software development projects. As many enterprises have matured in the Agile adoption, many of the business users on IT projects are now attempting to use Agile approaches on their own non-IT projects.
In this session we will cover using Agile in a non-IT environment and demonstrate how the original XP practices map extremely well over to business processes. And how those in SD can help your business counterparts.
Throughout the talk I will be referencing back to specific examples and case studies that we have experienced
in our organisation as we have rolled out agile processes across the enterprise. We’ll look at:
Agile values for non-software development, including an updated look at the agile manifesto.
Agile principles and why they make good business sense.
Agile practices (such as TDD, standups, retrospectives, storycard elaboration and acceptance criteria
and planning approaches) and how to adapt them effectively into a business process (using case
studies as specific examples).
Mapping the XP, Scrum and Kanban practices to work in a business context.
Agile vs Kanban and how to decide when which is most appropriate.
What a business storycard looks like and why the elaboration and acceptance criteria are important.
Project delivery and how iterative delivery applies (and what delivery looks like in a non-software development project).
Craig and Renee take a revolutionary tour of Sydney and speak to Jeremie Benazra and Dominic Franco about the Agile work that they are doing in Australia’s big city including Kanban, cultural differences, safety and edgy Agile.
Agile Australia 2012 was held a few weeks ago at the Hilton on the Park Melbourne in front of a record (and venue busting) 850 attendees. This year I had the privilege of being a plenary session host and speaker, present at two workshop sessions and be an MC at a number of different sessions.
Furthermore, I was a member of the advisory committee with the role of program overview along with the usual duties of reviewing and shepherding conference speakers. This year the review process was open to comments and voting from the community and overall I think we ended up with a good mix of proposals.
With all my duties I was quite busy this year, but here are my notes from day 1.
Keynote: When The Stakes Are High
Dr. Fiona Wood, Plastic Surgeon and Director of the WA Burns Unit, was the keynote speaker and undoubtedly for many people was the highlight of the conference. The advisory committee (and particularly Martin Kearns) had been aiming to get somebody from the medical profession for a couple of years, and her talk was nothing short of inspiring.
Following on from Dr. Fiona Wood was a tough act, but in front of 850 I took the stage with Nigel Dalton, David Joyce and Simon Bristow to deliver this session. The slides are available in a separate post.
Mainframe Test Automation Within SCRUM – How Did We At The BNZ Get It To Work?
Bram Surti and Rob White from BNZ delivered this session. Essentially I was interested to see if they did anything different to what I had already tried myself in this space. Sadly, I didn;t learn much new, but I was pleased to see they were using a lot of the same tools and approaches that I had used myself in this space. Their slides are available here.
as a leader we don’t have all the answers, but we know we can do better
Kinder Surprise in relation to people – wrapper is the actions of people, but it is a thin layer, peel off the actions you get to the attitudes that govern what we do, apply a bit of pressure and you get to the values, open up the inner canister and you get to people’s belief system
don’t really understand our belief system until you are challenged by somebody else’s – a good example of this is people and their attitudes to attending meetings – you may need to understand what drives people
there is a lot of literature around this!
transactional analysis – Games People Play (Eric Berne) and I’m OK – You’re OK (Thomas A. Harris) – at any given state we have a mental state of an adult, parent or child
child – react to world around you as if you were a child (when I grow up, I wish, I want)
parent – react like a parent based on imprints of how our parents reacted (should, ought, could)
adult (analytical side – who, what, why, I think)
even if you know yourself, you don’t know jack! – people talking on the same plane have harmonious discussions, they break down across the positions (what people know about the world)
Practical Kanban for Software Development
I was MC for this session delivered by Perryn Fowler from ThoughtWorks. I had high hopes for this talk as Kanban is still not well understood in the wder community. It covered a lot of good topics (and, as he stated at the top, the talk was the thoughts of Perryn), but it fell victim to running out of time for the meaty stuff and unfortunately was a little rushed at the end. Furthermore, his slides do not seem to be available either.
Kanban is not just cards on a wall, even though literally it is a visual indicator
Kanban is not an entire methodology, it is a technique
Kanban is a tool to tackle particular situations and problems, we often treat these situations as normal, but there is a better type of normal
limiting your WIP, the manageable level is probably a lot lower than you think
Kanban dots – stick them on your wall to indicate WIP
Kanban is about stop starting and start finishing
utilisation is not throughput, high utilisation damages throughput
Kanban is working as a team
business goal burnup – when do we start making revenue – keep your eyes on the prize
we are trying to achieve flow – Kanban will make poor flow visible
layered teams (multiple technologies) – technical layer stories don’t make sense and teams get out of synch, use task cards for the work and put WIP limit on the cards
reduce WIP to learn about your process
bugs and rework – it counts towards WIP, can put in the development or test column, whatever you are most comfortable with
blocked is nothing we as a team can do anything with – does not count towards the WIP limit
people will cheat – the rules aren’t important, it is the principles you want to achieve
use a green sticky for done rather than a done swim lane
small cards gives us good flow
Kanban will feel like it is causing problems, it is just making it visible
Value and Culture OVER Practices and Processes – Driving Agility at Bankwest
I was MC for this session delivered by Sandra Dalli and Sarah McAllister from BankWest. I really enjoyed this session. They kicked off the session with a great video with music and time lapse pictures (unfortunately it does not seem to be available publicly). Most enjoyable was their honesty about their journey and this mistakes they made along the way (they started by spending three months in a cubicle writing a document about Agile!). It also appears that their slides are not available currently.
systematic desensitisation – common technique for getting rid of fear
we always plan to succeed, so we don’t plan for failure
failure is a really great learning tool – if you made the failure you know it, the hard part is sharing with the team
taking fear of failure to the brink that you don’t know what to do is really bad
retrospectives give you a coping mechanism – share with others and make it better
continuous integration – fail early and stop the line
automated testing – removes doubt, they fail for a good reason
showcases – we find out we are going to fail early
sustainable pace – a failure because we still get a crunch at the end of the project, allows us to build slack because you can’t run at 100%
it’s about learning not winning
continuous delivery – you can go to production at any time, remove the fear of go live
aim for simplicity and feedback
fail cake – if you break something, you need to buy cake for the team, nobody is afraid of cake, nobody can yell at you with a mouthful of cake!
Safe To Fail
I was thrilled to be MC to Phil Abernathy (he was my MC last year and I have worked alongside him for a number of years). He had a great set of slides at the start of this talk to illustrate his experience. Given I knew the content of this talk quite well I did not take any notes, but I did like his analogy around the $100 strategy (for every $100 spent, where did it go – pull the strategic levers to figure out where you can change, these become your strategic programs). His slides are available here.
The night wrapped up with a student event called Activate Agile. I sat in the back of a number of presentations, with the standout for me being being an overview from Andy Sheats about their journey at health.com.au.
Craig, Tony and Renee talk about Lean Startups, Tony’s Agile training in India and great places to work, discuss Quotable Kanban and solve a listener problem, all in 50 minutes!
Chaos, Chaordism and Agile: When have you slipped away from Agile and moved into chaos? What is Chaordism? When is chaos acceptable? How do you move out of chaos?
Quotes:
“I don’t program software anymore, I program people”
The last main day of talks at Agile 2009, and once again lost the morning to preparation and presenting a talk with Paul King.
Here is an overview of the sessions I got to:
Agile Tool Hacking – Taking Your Agile Development Tools To The Next Level
The session I presented with Paul King, we got close to a full house and the session feedback forms were overwhelmingly positive. The slides are available in a separate post.
The Kanban Game
A full house to this session run by Tsutomu Yasui gives some validation to the fact that Kanban is gaining traction with the agile community. All the details and materials for the game are available at http://www.yattom.jp/trac/public/wiki/ProjectGames/TheKanbanGameEn. I only sat in on the first half of the session so I could fit in some other last minute talks.
Agile User Experience Design Emergent Practices
I had an aim to get to at least one talk by Jeff Patton (especially for bragging rights for one of my work colleagues, Teale Shapcott)! I actually got to have a brief conversation with Jeff later in the evening which was awesome.
adapting to agile difficult for UX practitioners – Jeff Patton came late to usability but early to agile usability
five stages to agile adoption (salesforce.com) anger, denial ,bargaining, depression, acceptance
Homonyms
design – agile (how to build product), designer (what to build based on user needs)
iteration – agile (short time box to build software), usability (builf representation of product idea for evaluation and change)
story – agile (short description of what user might want built), usability (agile design for goal)
customer – agile (someone who writes a user story), usability (a person who buys a product)
small bit of software – agile (developer can build in a few days), usability (something a user can complete is a single sitting)
test – agile (means complete and meets acceptance criteria), usability (user can use the software and it meets their needs)
Then:
usability practitioners view of design and development – understand business need, understand user need, personas, create and validate high level design, create and validate UI design, create and communicate design specification, develop software, usability test finished product
you could do all that for a sprint right? – agile changes usability practice but does not have to threaten it
patterns have emerged as usability practitioners have adapted – had to go postal or figure it out – great idea is not a pattern, great idea that multiple people use is a pattern (at least 3 companies)
usability designers are part of product owner or customer team – in drivers seat, part of the planning, part of product owner team or the product owner. Product owners already take multiple roles, product owners are thinking about this release and the next release
research, model, design up front (but only just enough) – learnt how to cut up work, high level design but just enough, task model (but agile people think they are stories), usability people need to be connected to backlog, own and leverage it
chunk your design work – break up design work to perform incrementally throughout development, organise story into a map that helps communicate structure of the system (see The new user story backlog is a map on Jeff’s blog), organise the backlog (don’t just prioritise – communicate with user about what we are seeing)
parallel track development to work ahead and follow behind (see Lynn Miller – Case Study of Customer Input for a Successful Product on agileproductdesign.com) – time machine essential for product owner and usability team, design and coded features pass back and forth between tracks (design ahead, look at stuff already built and stuff that is being built now)
buy design time with complex engineering stories – product owners responsible for scheduling, sometimes highest value is to put a story that is easy to design but hard for developers to build to buy time! (Lynn Miller talks about SketchUp File – Save As as easy to design but took ages for developers to develop)
schedule continuous user research in a separate track from development – Kitchen Stories a silly Swedish movie has usability connotations, research is continuous, not just a phase, schedule visits with users ahead of how we know why we want to be there
leverage time with users for multiple activities – do some usser interviewing, do prototyping, show and review current software (one mand band), use RITE to iterative UI (rapid iterative testing and evaluation) (see numerous RITE articles on agileproductdesign.com), use time before sprint to refine design, test something and fix it to burn down failures
prototype in low fidelity – prototype in public so people can see what you are doing, look at Balsamiq as a tool
treat prototype as a specification – have a discussion
designer developers iterate design outside development iteration (eg. CSS, HTML and visual design), “art is never finished, only abandoned” (Da Vinci)
become a design facilitator – designers do collaboration and facilitation, practices like design studio and sketchboard technique to get developers involved, sick of developers armchairing their design (get them to sketch it out, developers get to weigh in good ideas, developers get their design ripped apart, usability people get people to read their designs)
Finally, most usability designers won’t go back after doing agile!
Agile By The Numbers: What People Are Really Doing In Practice
I was keen to go and see Scott Amber speak, you can view the session or view the data. According to Scott, this is what people are doing in practice and this talk is exploring some myths.
just because majority doing agile, not everybody needs to do agile
CONFIRMED
Majority of teams doing agile?
in 76% of organisations, 44% of project teams doing agile
BUSTED
numbers claiming to be doing agile, can’t test this theory, expect number is high
how do you measure agile?
Pretty much all development in agile?
agile practices that most effective – CI (65%), daily standup (47%), TDD, (47%) iteration plan, refactoring, retrospectives, pair programming, stakeholder participation, shippable software, bundown tracking
practices that want to adapt – almpot all technical – acceptance and developer TDD at top of list
PLAUSIBLE
Agile is just for small teams?
1-5 and 6-10 success, starts to taper off for teams 11 and up, but success at all sizes of teams
BUSTED
Does not apply to regulatory situations?
33% need to apply to legislation
BUSTED
Agile and CMMI don’t work together?
yes 9%, only small amount of people doing it
no statistical differenece between CMMI and non-CMMI agile projects
BUSTED
Agile process empirical?
teams collect and act on metrics, 51% collect but do it manually (according to Scott Ambler, don’t trust manual metrics as they are behind and altered to tell a better story and meet bureaucracy), 26% no and 19% majority automated
CONFIRMED
Agile teams doing greenfield development?
78% working with legacy in some way, 57% evolving legacy code
Becoming a Certified Scrum Master is a good idea (2 days)?
78% think certification is meaningless
nobody respects this, shame on certification trainers, better way to earn a living, step up, 2 days on a business card is not a good idea, preach less and act more
BUSTED
Ambler certified for a good laugh
Most agile teams are co-located?
42% co-located – good thing, reduces risks, 17% same building, 13% driving distance, 29% very distant
a third of teams have geographic sistribution issues
BUSTED, majority of teams distributed in some way
Agile teams don’t provide up front estimates?
majority of teams do up front estimates
need estimate to tell senior management to get project off the ground
36% reasonable guess by experienced person
BUSTED
Agile teams just start coding
on average takes almost 4 weeks to warm up – modeling, set up environment, design, …
22% UI convention, 25% data conventions, expect lower than development because not as cool as code
PLAUSIBLE (but borderlne) – room for improvement
Rights and responsibilites are part of agile culture?
58% defined for development team vs 35% for stakeholders
PLAUSIBLE
Agile test often and test early?
developer TDD 71%, 52% still doing reviews / inspections, 45% end of lifecycle testing, acceptance TDD 40%, one third of teams have independent team who look at system independently
CONFIRMED – doing testing throughout lifecycle
Agile don’t do up front requirements modelling?
76% do this, need to come up with stack of cards now
52% capture in word processor, 45% capture as tests
BUSTED
Agile don’t do upfront architecture?
70% high level architecture modeling
metaphor is a total waste of time
organising a conference is just like organising a conference…
BUSTED
Agile write interim documentation?
56% yes
CONFIRMED
Agile produce supporting documentation?
70% write these, minimal amount of stuff that need to be developed
CONFIRMED
sometimes when compared, agile write more
Agile works better than traditional?
hell yes!
all approaches reasonably close 65% vs 80%
quality much better
functionality delivered higher
make money – good, but hacking better off
time much better
so similar, but better way to spend money wisely
CONFIRMED
Finally:
difference between what we say and what we do
just because some people succeed, doesn’t mean you will
Jeff Frederick ran his Scrum Is Evil session that I had first seen at CITCON in Brisbane earlier in the year. It was interesting to see that the outcomes were exactly the same half way around the world!
Conference Banquet & Keynote User Interface Engineering
It’s very hard to take notes in a banquet with the lights dimmed, but Jared M. Spool gave a very entertaining keynote on User Interface Engineering, including some iPod vs Zune bashing and an old Apple video on future design.
You must be logged in to post a comment.