Interview: Professor Mike McGuirk on How Brandwatch For Students is Used in His Classroom
By Olivia SwainSep 6
Much has been written about methods of developing software – books and books and blogs and blogs. I love the writing and thinking of Steve McConnell, although some of his observations can be a bit gloomy (top 2 mistakes almost always or often stated are 1 Overly optimistic schedules 77% and, 2 Unrealistic expectations 73%).
And I subscribe to several blogs including Jason Yip’s which has some nuggety insights.
I was at Reboot this year where Eelco Rustenburg gave a great talk on Agile, Software, Management, India collaboration in which he spoke about the benefits of a more agile approach. During his talk something crystallised in my mind.
There are two big problems with setting long release cycles and doing thorough detailed design and specification documents that require the developer to think through every aspect of a development before starting.
1. We think in terms of days and weeks not months and years
Try to think of something that might take a year to do. Build a house maybe? Or write a book? These are broad tasks and it’s difficult to know whether they will take a year or maybe go on for three years. The act of thinking through what needs to be done is extremely difficult and even when that’s done, you may still end up being 100% over your estimates. We don’t like thinking in terms of years, because evolution hasn’t had a need to teach us those skills. Getting a little anthropological for a moment, for most of history, for us humans job #1 has been to eat enough to get through the day. Short term. Job #2 has been to find a partner and reproduce – weeks, maybe months at worst. Until big projects came along, which in our evolution is recently, there hasn’t been the need to think in years so we’re not very good at it.
2. We like gratification
You sometimes have to wait a long time in non-Agile development to get this fix. But you get it much more with an Agile approach. Outline a feature, plan it quickly, prototype it, check it with colleagues and customers, amend it, ship it. 2 weeks or maybe a month, then satisfaction and the sense of job done. That’s a great feeling. My friend Katja puts it nicely – ‘we all need some sugar from time to time’
Agile gives us what we like
So agile development is more in line with our natural event horizons and it gives us the kind of feedback that we crave. What crystallised in my head during Eelco’s talk was that because of these two things, Agile is a primarily a great motivational tool. And motivation is a big factor in productivity.