I spent one day last week at the Excellence in Software Engineering (ESE) Conference in Zurich. This conference is aimed at professionals involved in decisions regarding software development processes, methods and technologies. The 2012 edition proposed three tracks: Agile and Lean, Cloud Computing and Mobile Applications. Presentations were in German or in English. Here is a brief summary of the sessions I attended.
Elizabeth Woodward of IBM presented a keynote about introducing Agility in a large organization. Her talk was mainly an introduction to Agile with some promotion of the “Disciplined Agile Delivery” (DAD) approach promoted by IBM, which is kind of having some RUP (Inception, Construction, Transition) mixed with Agile… or vice-versa. I admit being a little bit upset by the name of this approach as it seems to imply that Agile by itself is not enough “disciplined”. I wonder what IBM would think if somebody created an Disciplined Unified Process methods ;O)
Antony Falco of Basho (the Riak company) made an interesting presentation about how the increased creation, usage and dispersion of data drives the way the IT infrastructure is built. You have now corporate data in many different locations (company infrastructure, gmail, dropbox, mobile devices) and you should recognize that you cannot control everything, but can only influence user behavior.
Mattias Skarin of Crisp (the Henrik Kniberg company) explained how a Kanban approach can help in requirements management. After a short Kanban introduction, he presented some techniques to help requirements management like defining the market risk of each feature. The goal is to help the team make the right decisions on the next requirements to develop and create value earlier in the project. The main point is that requirements are like fresh fruits: their value erodes over time.
Francesco Cesarini of Erlang Solutions discussed the problem of horizontally scaling in the web and presented Eric Brewer’s CAP theorem. This theorem says that when you consider the three guarantees of Consistency, Availability and Partition tolerance, a distributed system can only provides two of them at a certain point in time. Thus very large web systems have to choose which characteristics they prefer and how they deal with the situations when they loose the third in case of issues. Francesco managed to make this technical presentation not too difficult to follow, providing practical examples.
Jürgen Höller of SpringSource presented the offering of four Cloud Platform-as-a-Service providers from a Java perspective. He discussed Google App Engine, Amazon, Heroku and Cloud Foundry. For each of these environments, he explained how Java applications where running and which additional services, like databases, were available.