Presentation: "Lessons Learned to Lessons Productized at Microsoft Developer Division"
Time: Friday 10:35 - 11:35
Location: City Room
Tim will cover lessons learned (positive and negative) in rapidly extending and renovating a product with a source base of 20 million files, developing internal tools for large scale understanding, refactoring, and diagnostics, and selectively productizing what works. Using the actual development of Visual Studio 10 as a concrete example, he'll cover problems of understanding risks, untangling dependencies, diagnosing runtime behavior, and dealing with complex mixed technology. Pragmatic challenges, such as understanding emergent behavior when multiple components come together and produce responsiveness or memory problems, will be covered, along with a look inside the problems of scale when working in a 50MLOC codebase. Key considerations are how to prioritize refactoring based on risk and benefit, decide what to isolate and what to extend, and incrementally deliver customer value while improving sustainability.