In May 2006, we wrapped up the largest case study of peer code review ever published, done at Cisco Systems®. The software was MeetingPlace® — Cisco's computer-based audio and video teleconferencing solution. Over 10 months, 50 developers on three continents reviewed every code change before it was checked into version control. We collected data from 2500 reviews of a total of 3.2 million lines of code.
The authors explore the pros and cons of four other common styles of code reviews—over-the-shoulder, email pass-around, pair programming, and tool-assisted reviews—and see which ones is the most promising candidate for practical peer code reviews.
The quality of software is directly related to the number and severity of bugs in software when it goes into production. Inspired by the Disney® film of the same name, Lloyd Roden offers a light-hearted, humorous presentation with a serious message-neglect the bugs and they will take over! Learn about novel strategies to detect and fix bugs before they bite you. Find out ways to change your environment to make it less likely to attract bugs and easier to exterminate the ones that do invade your software. Explore the people issues that can cause unnecessary stress and concern for everyone involved in dealing with bugs in the development process. Take back a new attitude about bugs and a new energy to eradicate them in your house.
How to find the different types of software bugs
The environment where bugs are most likely to live
Better, faster, cheaper-the mantra of many software methodologies and tools. Can it ever be true? Illustrated with examples from Agitar Software's internal development process, Jeffrey Fredrick describes the psychological impact of rapid feedback and how it unleashes the best in people. Find out what continuous integration means in the real world and how it can be coupled with automated developer (unit) tests to reduce the number and cost of failures. Learn about the psychological impact of lava lamps, email notifications, and Web applications as feedback mechanisms and why feedback is not only for developers. Instead of expecting people to act like machines, you can use continuous integration and automated tests to leverage the complementary strengths of each. See how automating integration maximizes the return on your developer testing investment.
In large organizations with multiple groups or multiple projects, developing consistent and useful metrics for release management is highly challenging. However, when targeted at specific release goals, metrics can help monitor the development schedule and provide both managers and developers with the data needed to improve quality. With nearly eighty products that must be released on the same date, Mathworks has developed a release metrics program with a consistent method to categorize and prioritize bugs based on severity and frequency. Learn how they track progress toward bug fix targets for each category of bugs and monitor them consistently across their product line throughout the release cycle. See examples of metrics reports designed for management and daily use by teams, including historical trending analysis of overall and customer-reported bug counts.
Companies that master Agile development in a multi-shore environment can benefit from reduced calendar time to implement new features, early development feedback to make course corrections, and increased development team responsiveness to changing market requirements. Multi-shore Agile development teams face unique challenges compared with co-located teams-large time zone differences, lack of proximity, cultural differences, and more. With experience driving multi-shore Agile development with several enterprise software companies, Roger Nessier describes ways that he has addressed these challenges. He discusses sprint planning with distributed teams, how to structure and assign work, and tools for communicating in real-time to create an Agile global development environment. Learn about the benefits and limitations of using Scrum management practices for offshore development and what it takes to be successful.
We normally think about process improvement as something applied to projects. But process improvement is also for people-and even for managers. Join Johanna Rothman as she shares lessons she's learned and management improvements she's made during her years in management. Like many other technical managers, Johanna became a manager by rising through the technical ranks. And, like many other managers, she had plenty of technical training and mentoring but had to learn management skills the hard way-through trial and error. Johanna describes fifteen lessons she has learned as a manager and offers tips and techniques to help you avoid difficult situations. Learn how to motivate your team and raise their level of work-and how to manage yourself.
Executive management does not like to spend money (on others); however, to build better software you may need to purchase better tools. Although skilled in producing code and running software tests, many development and QA managers do not have much experience preparing proposals and driving requests for funding through the management approval process. To gain their enthusiastic approval, you need insight into the executive heart and mind to better frame your proposal. Learn the decision-making process of executive managers, the facts they need to make a decision, and why they are reluctant to spend money even if it is in the budget. Build the case for your proposal in terms that match the business objectives of the CEO, CTO, CFO, and others with decision-making authority. Take away a template for a proposal along with examples of successful proposals, including visuals, data, competitive analysis, and much more.