Breaking the monotony
To retrospect at the monotony that has crept into the way we develop application and how it affects us being Agile.
Over the past few years, we've certainly come some way in understanding and applying agile software development practices. But still today a lot of us wonder why it is so hard to make the system evolve as we want. Agile has helped us to build software which is malleable by using techniques like TDD and CI but it is a known fact that a system is much more than just the code. This talk concentrates on the system as a whole and what would help us to build and keep it simple under demanding conditions?
The question which drove us to write this talk is - We follow agile but is the system we are trying build is Agile? Then why we are forcing ourselves to think about schema and use RDBMS when it doesn't fit our object model? Why do we think that trying to fit everything into one language is actually a simple solution? Why we try to build a concurrent system with just threads? We have forced ourselves to use static typed and compiled languages to write functional tests? We put these questions forward because these are some of the problems we had faced on the projects we worked in and we believe that others would also have come into the same situation.
We believe that agile is all about exploration and finding the best solution in the current context. In this talk we argue about taking a road less travelled and its impact on building a system which is simple, maintainable and scalable. We try to challenge the common driving factor of choosing a solution being "It has worked for me all this time" and that the safe solution may not be the same as best.
Sai Venkatakrishnan is working with Thoughtworks as a "Developer in Test" Journeyman. He spends his time dreaming about code, thinking in tests and contributing to opensource. He is the author and maintainer of ChromeWatir (A Watir implementation of Google Chrome browser) and em-couchdb (A EventMachine based client for CouchDb). He is interested in topics ranging from evolutionary design, Agile coaching, large scale concurrency, functional languages, Event Driven frameworks, NoSql databases...
Harikrishnan works as a Developer with ThoughtWorks meditating on Agile and XP principles. He contributes to open source projects and is a "Concurreny paradigms" enthusiast. Some of his work include: