Sunday, July 26, 2009

Someone I know wrote this

I was Technical Lead of X Product for NAM(North American Market). When I was made lead of this product, I got a product which was not in commercially deployable state, with customers threatening to switch to competitors. The reasons as I understood were: pressure from Project management and QA to fix the issues ASAP, developers hacking code to fix issues without any design considerations, developers not utilizing Object Oriented development mindset, and such bug fixes creating even more spaghetti code.
The things I did were: take full responsibility for this product and communicate this to everyone; create two codelines with all developers doing fixes in development codeline and ONLY me integrating satisfactory fixes in Release codeline; discussing with developers my design thoughts about fixes I did not like and why, which overall led to better quality; negotiating with Project stakeholders to prioritize issues and reduce scope of each release effectively giving developers more time to make better fixes.
We were able to release the first commercial grade software in 3 months with no Priority 1 issues in core features, and in later 3 month cycles we fixed other customer reported issues, show stopper issues on priority, and most Priority 2 issues. We only fixed Priority 3 issues if they were easy to fix or did not impact the design too much.
In short, for the last almost 3 years, my codeline has been the most stable out of all X product codelines, and customers have been most satisfied.
Questions?

No comments: