Breakfast in NY with Ken Schwaber
Finetix hosted a breakfast for about 30 senior people from NY banks who were interested in hearing about Agile in Capital Markets. Ken Schwaber came along to add further weight to the Scrum argument.
We took a reasonably Agile approach to the session: we did a basic introduction to Agile, Scrum and XP including how they dovetail and what the benefits are when building Banking systems. We then opened the floor to very interactive Q&A.
Most of the questions were not a surprise:
- Can you do this if your QA is offshore? [yes, and...but...]
- Do you mean do the architecture in 30days? Then the design in 30days? etc [no...]
- Can you do Agile without XP? [yes, Scrum...but...]
- Do you mean get the QA involved early to sort the tests out? [kind of but more...]
- Can you do this with junior people, you've all done it with good people? [no, done it with all sorts of people...]
- Developers won't want to Pair Program [not 100% true, and...]
- You need documentation for when the system gets taken over in 3 years time [you ain't gonna need it if you don't deliver a system PDQ]
- You need to design an architecture first! [er, no you don't if...]
- 40-Hour Week, hah! I work that a day! [empirical data 40 useful hours...and you can do other things...]
We did something right as I ended up visiting several institutions as a result of this breakfast to further the Agile discussion in their particular contexts.
And in each place I ended up going through the traditional conversation along the lines of:
They: "That's what we did when [things went wrong]. We had [horrible deadline X] and we worked as a small team, met every day, did what it took and delivered"The Banking IT world knows this model of delivery probably better than any other! The hard, high pressure deadlines are often externally imposed by regulations and law. It is amazing that Financial institutions haven't embraced Agile development more.
Me: "Yes. Did it work?"
They: "Yes - but it nearly killed us working at that rate"
Me: "So what happened afterwards?"
They: "We went back and took time to rearchitect the system properly over [n>10] months"
Me: "Did that succeed?"
They: "Sort of - it was late. And it wasn't as good. And the users weren't happy"
Me: "So why did you change your successful way of working?"
They: "We couldn't keep working at that pace!"
Me: "I agree. You clearly know what it takes to succeed you just keep going back to old habits when the pressure is off. Why not work that way all the time, but at a reasonable pace, with reasonable deadlines?"
(Its becoming unamusing to repeat this conversation with people)
I found there was a lot of misunderstanding about what Agile Delivery entails. Everything from fear of XP and believing its just about programming, to the "it's a license to hack" attitude. Agile seems to be a dirty word? Why I wonder? Is it the fear of change and not understanding the impacts, or is it something more?