Archive for the ‘ThoughtWorks’ tag
The Last Mile
Often the most painful and time consuming part of a software project is the Last Mile, getting it deployed and working in production. Why is this the case? To understand this, it is useful to look at the underlying issues such as not having decent source control, lack of automated tests, excessive branching (and eventual merging), dedicated teams and infrequent releases. These impede our productivity on a daily basis and when left unresolved, become magnified during the Last Mile.
Without shortening the Last Mile, our deployments are delayed and unpredictable events. As a result, we are unable to quickly respond to changing business needs.
So how do we shorten the Last Mile? Enter continuous integration. The beauty of continuous integration is that it is the cornerstone for resolving these issues - it forces us to get source control under control, brings visibility to the health of our code base, challenges us to think of multiple environments and configurations and encourages us to automate repetitive tasks. True to it’s name, it encourages us to integrate early and often. With CI, we’re already resolving integration issues from day 1 thereby making deployment to production thankfully, a non-event.
Troy Gould and I presented The Last Mile at the Agile Vancouver 2009 Conference this week. The presentation looks at the problems faced by teams trying to get software released, recommends good CI practices, introduces build pipelining with Cruise as an overall structure to manage the build-deploy-test-release process and encourages us not to stop with CI as a build server, but leverage it to automate deployments to environments including production. Thanks to those who attended. It was exciting to see all those actively using CI on their projects. The slides can be downloaded here (17MB).
Thanks to Owen Rogers and the team of organizers for an excellent event and lining up a great set of speakers including Eric Evans, Michael Feathers and Martin Fowler.
Inaugural ThoughtWorks University

Three years ago today, a group of eager new ThoughtWorkers from six countries embarked on a four-month journey in Bangalore, India - the inaugural ThoughtWorks University.
As I sit here and reflect, it’s hard to believe that three years have passed. The name may have changed from ThoughtWorks Global Boot Camp to ThoughtWorks University (TWU), but the fond memories of being part of this technically, culturally and socially engaging experience have not.
The foundation for the practices and principles that I utilize daily on software projects today, were set, strengthened and molded through this experience. Some of these concepts, which I view as indispensable today, include TDD, pair programming, continuous integration, short iterations, stand ups, story cards with stickies, retrospectives and refactoring. TWU was also socially and culturally rewarding, spawning a wonderful network of colleagues and friends and getting immersed in the colorful Indian culture.
Throughout TWU, I kept a blog to keep track of my learnings and experiences. Below is an excerpt from the final blog entry I wrote back in 2005, recapping my TWU experience:
Bangalore was amazing - the paradoxical skyscraper next to a hut serving chai, women wearing sarees talking on cell-phones in rickshaws and business men grabbing a bite at the local darshini. It was a city in transition and I am awed by the potential that lies in India - it’s population coupled with the number of bright graduates per year is astounding. I will miss the sights and sounds of India - the hustle and bustle (with some honking) of a big city and the simplicity and serenity of cows wandering the streets.
Us ThoughtWorks Boot Campers quickly bonded and became a close unit. Together, we learned, worked, ate and travelled - I am impressed how well we gelled and synergized as a group. We all left with a global spanning network of connections and friends. We met so many ThoughtWorkers from different countries in the process - this will go a long way in establishing relationships and recognizing familiar faces on future projects.
I learned a wealth of knowledge about Agile methodologies, XP, consulting and software development during the boot camp. The subsequent project work was extremely helpful in putting a practical perspective to the lessons we learned in class. True to the old TW slogan “it’s like college with money,” it was truly an enlightening experience. I am amazed and thankful for the amount of effort that went into preparing the boot camp and the hospitality of the hosting ThoughtWorks India office. With this new knowledge and knowing that there’s always more to learn, I am looking forward to contributing to a project at home.
Since TWU, I have continued the learning trend, growing and evolving as a software developer. ThoughtWorks continues to offer ThoughtWorks University twice a year - if this piques your interest, let us know. We’re always looking for the next graduating class.
A big shout goes out to my fellow TWU’ers, trainers, and the TW Indian office!

