This week we talk with industry leading development authority, Michael Vax, Vice-President of Product Development at Blackboard.
Today I put this question to Michael:
Stephen--Opening Comment: Michael, you bring an impressive record of accomplishments to our audience. Thank you for sharing your considerable insights in this interview.
Michael) Thanks for having me Stephen. We all learn from each other and it is my pleasure to share my experience and ideas with your readers.
Stephen: Can you discuss some major challenges in the past year and the solutions you and your team planned and then implemented? Why did you choose these solutions? Take the perspective of providing guidance to our audience who may be facing similar challenges.
Around September 2005, my department was asked to develop a new product in a short time while requirements were not finished and design had just been started. My first reaction was – there is no way we can pull this off. I needed to deliver the new product in 3 months. Using our standard development process I would need the first two months to do detailed requirements and design. This would leave just one month for development which was obviously not enough.
Solution and why: I decided to turn this challenge into an opportunity to try an agile development process. I looked through different agile methodologies and selected SCRUM for its support of distributed teams. WebCT has development teams in Vancouver and Boston and I needed to involve developers from both sites.
We started the project with a little preparation. To ensure close information sharing that is vital for agile development we setup a shared project’s web site using MS SharePoint, broke work into small iterations (Sprints in SCRUM terminology), formed a feature team, and started development. At the end of each iteration, the team was delivering demoable and testable subsets of functionality. Features were prioritized with product management and assigned to a Sprint. Tasks for the iteration were also posted on the SharePoint site.
We started with a single team to build a framework, and then added two more teams a month later. Teams were meeting every day for 15 minute SCRUM meetings to discuss accomplished work, what to work on today, and issues to resolve. We did not maintain an MS Project schedule. Developers were distributing tasks between themselves. Design decisions were also discussed and documented on the web site.
The project went very well and we are in the process of switching our entire development organization to the agile methodology. Developers felt engaged and in control of the project, and we saw significant increases in both productivity and quality.
Another challenging project was the implementation of a data conversion program to upgrade our customers to the latest version of the product. Many of our customers have very scaled deployments with a DB size in the hundreds of gigabytes. It was required that the conversion process should not take more than 24 hours.
Solution and why: The data schema had been significantly changed between releases and we needed to do detailed data mapping and documentation of the conversion’s business rules. This preparation step was vital; we created about 100 mapping documents and each was reviewed by a developer responsible for the area together with a DB developer who was working on the conversion team.
Another aspect that complicated conversion efforts were irregularities in customer data that accumulated during several years of deployment. We decided that our goal was not only to convert the database but also to ensure that the resulting database would be as consistent as possible.
To ensure project success we implemented a hosted beta program. Customers were sending us copies of their production databases, we ran conversion on QA servers, fixed all problems, and gave beta customers access to their data in our hosted environment for verification. Application usage pattern differs from one customer to another. The beta program gave us the opportunity to find and fix many problems and tune up performance for a variety of data distributions. The hosted beta was also very convenient for customers as it did not require them to setup a complex environment as well as deal with initial conversion problems.
Michael Vax’s Profile:
Michael has spent more than 20 years in software development. During his career he has worked as a developer, an architect, a development manager, a director of development, a VP of Development, and a CTO. Since coming to Vancouver 13 years ago he has worked for a number of companies:
- Rydex Industries Corporation
- Xinex Networks Inc.
- Infonet Software Solutions
- WebCT Inc.
Michael is currently the Vice President of Product Development at Blackboard (formerly WebCT) (www.blackboard.com) - the world's leading providers of e-learning systems that are used by thousands of colleges and universities in more than 70 countries worldwide. At Blackboard, Michael is managing a 100+ person product development department, with offices in Vancouver and Boston.
Michael is a member of Agile Alliance (www.agilealliance.com) software development in Vancouver.
Michael is interested in career development and mentoring; he often speaks to computer science students about career development in the high tech industry. Michael founded and operates a web site www.CareerShare.com. CareerShare is as a place where people can share their career experiences and learn from each other. Its goal is to develop a knowledgebase of real-life career profiles as well as an active member community that will help people of all ages choose their careers, and explore new possibilities.
Look for more of Michael’s insights in this blog series. In the next blog, Michael will discuss the recent corporate merger; the pros and cons about agile development, the agile alliance and his recommended resource sites for agile development.
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.