This week we talk with industry leading development authority, Michael Vax, Vice-President of Product Development at Blackboard. In our last blog, we began the interview and profiled Michael's extensive background in development and leadership.
Today I put these questions to Michael:
Stephen: Can you discuss your recent merger?
Michael) It is a very exciting time in the company. We have a unique opportunity to discover how the other company conducts its business, to compare processes and to learn from each other, adopting the best of the breed. I firmly believe that merging companies' cultures and building personal relations are the key to successful integration between two companies, and this is our main focus.
Stephen: As a member of the Agile Alliance, give your perspective on its pros and cons. Why are you an evangelist? What are the best resources for our audience who want to find out more?
Michael) I knew about agile development for a while but was skeptical about its applicability to big enterprise projects. At the same time, like many people in the industry, I was growing frustrated by difficulties with properly estimating a scope, accounting for risks, and slowness in responding to a changing environment. Some time ago, I got involved with a local interest group - Agile Vancouver (www.agilevancouver.ca). Listening to speakers we were inviting to our meetings, as well as doing reading on my own, convinced me to give it a try and when I was faced with the project that I could not possibly deliver using our standard process, I decided to give it a try. It was kind of a "what do I have to lose" decision. As I mentioned before, the project was very successful and we are moving our entire development team to agile now.
There are many reasons why agile development works. Software development is all about managing complexity and uncertainty. While the waterfall approach assumes that with more planning we can predict and document everything, the agile process acknowledges that the future is uncertain, requirements are changing, and unexpected technical challenges are going to happen. To deal with these issues, agile calls for focusing on business priorities, developing functionality in short iterations, delivering a working product after each iteration that can be shown to the customer to get immediate feedback, and working as one team to facilitate collaboration. Being agile means being able to deliver quickly and change quickly and often.
There are many flavors of Agile development including: Extreme programming, SCRUM, Lean Development, Feature Driven Development, Crystal. While those Agile techniques may vary in practices and emphasis, their common characteristics include iterative development, focus on interaction and communication, and minimizing time spent on resource intensive intermediate artifacts.
You need to look at them all and then adopt practices that are best suited to your company's business environment and culture. The Agile Alliance web site (http://www.agilealliance.com ) is a good place to start if you are new to Agile development. Make sure that you read the Agile Manifesto http://www.agilemanifesto.org/ that defines guiding principles of Agile development. I also highly recommend Mary Poppendieck's books. Mary is the name behind Lean Development. In her books she takes the principles behind Lean Manufacturing developed by Japanese car vendors and applies them to s/w development. In the process, she shows us how to minimize waste, create knowledge, optimize the flow, and respect people. Her second book "Implementing Lean Software Development: From Concept to Cash" is available for review on the web http://www.poppendieck.com/lsd.htm and is an excellent read. I would specially recommend it to people who are responsible for managing software projects.
And, if you want to learn more about SCRUM, visit http://www.controlchaos.com.
Look for more of Michael's insights in this blog series. In the next blog, Michael will profile his past senior positions plus provide guidance based upon his career challenges.
I also encourage you to share your thoughts here on these interviews or send me an e-mail at firstname.lastname@example.org.
Computing Canada (CC) is the oldest, largest, most influential bi-weekly business / technology print publication with an audience that includes 42,000 IT decision makers in medium-to-large enterprises. For more than 30 years, Computing Canada continues to serve the needs of Canada's information technology management community - you can request your free subscription at: http://www.cornerstonewebmedia.com/plesman/main/Subscription.asp?magazine=CCA.
For the latest online business technology news go to: www.itbusiness.ca
Stephen Ibaraki, FCIPS, I.S.P.