Better Software Conference 2006 Conference Proceedings 

Home


GENERAL INFO.

Register

Get a Brochure


PRESENTATIONS

Keynotes

Tutorials

Concurrent

Master Schedule


IN THE EXPO

Sponsors

Exhibitors

To Exhibit


MORE INFO.

SQE Home

Other Conferences


Email Software Quality EngineeringRegister Now

Software Quality Engineering



                                                                                                
Better Software Conference & EXPO 2006 Concurrent Sessions

Go To:  Wednesday  |  Thursday

View by Track

 Thursday, June 29, 2006 9:45 AM
T1
Managing Projects and Teams
How to Estimate Anything
Payson Hall, Catalysis Group Inc

Given the choice between making an estimate of the time and resources to complete a project or getting root canal surgery, most of us would rush to the dentist’s office. We know that the pain of a root canal is short lived . . . poor estimates can cause us agony and frustration for months or even years to come. The good news and bad news is that anything can be estimated. However, the quality of the estimate will depend upon the effort invested in the estimate, how thoroughly the thing to be estimated is understood, the quality of relevant assumptions, and finally, luck. An effective process can improve everything but the luck. Join Payson Hall as he presents a practical estimation process that can be applied to estimate anything and then practice applying the process during his presentation.

• What goes into any good estimate
• How to develop a good estimate for complex things
• A method to systematically document estimates and explain them to others
T2
System Requirements
User Stories for Better Software Requirements
Mike Cohn, Mountain Goat Software

The technique of expressing requirements as user stories is one of the most broadly applicable techniques introduced by Extreme Programming. In fact, user stories are an effective approach on all time-constrained projects, not just those using Agile methods. Mike Cohn explains how to identify the functionality for a user story and how to write it well. He describes the attributes all good user stories must exhibit and presents guidelines for writing them. Learn to employ user role modeling when gathering a project’s initial stories. Whether you are a developer, tester, manager, or analyst, you can learn to write user stories that will speed up development and help you deliver the systems that users really need.

• Defining a user story and learning how to write one
• Six attributes of all user stories
• Thirteen guidelines for writing better user stories
T3
Agile Development
Agile Development and Its Impact on Productivity
David Garmus, The David Consulting Group

Agile development projects are different. Sure, they still have high-level business requirements, but they usually lack system descriptions, technical design documents, and system architectures. The projects tend to be smaller than those employing more traditional methods, and much of the testing occurs concurrently with development. The teams tend to be very small and often in one room, more like a group of friends than a typical development team. How do these and other differences affect productivity and the resulting products? Based on his research and personal experiences, David Garmus discusses the differences between Agile and traditional methodologies and offers specific ways to measure these differences to help you decide: Is Agile development right for your next project?

• The quantitative and qualitative differences between Agile and more traditional projects
• Performance data on some recent Agile development projects
• When to choose Agile development practices for a project
T4
Measurement
Code Coverage Myths and Realities
Andrew Glover, Vanward Technologies

You’ve made a commitment to automate unit testing as part of your development process or you are spending precious resources for automated functional testing at higher levels. You may be asking yourself: How good are those tests anyway? Are many tests checking the same thing while large parts of the code go completely untested? Are your tests triggering the exceptions that normally show up only in production? Are your automated tests adequately covering the code, the requirements—both, neither? Andrew discusses the truths and untruths about code coverage and looks at the tools available to gather and report coverage metrics in both the opensource and commercial worlds. He describes the different types of code coverage, their advantages and disadvantages, and how to interpret the results of coverage reports.

• The concept of mutation testing and how it fits into a code coverage strategy
• How the different types of code coverage (branch, line coverage, etc.) can mislead
• Actionable items obtained from coverage results
T5
Testing
Testing the Nth Release
Susan McVey, IBM Rational Software

Congratulations! Your team is entrusted with testing the next release of an excellent product, one your customers have depended on for years. How do you make sure the fifth, tenth, or even the fiftieth update release is as good or better than the first version? Mature products have their own testing issues, different from those faced with new products. Susan McVey discusses the issues many testers face with legacy systems: what to test and what to trust, dwindling resources, handling known problems, aging test cases, inadequate time to maintain infrastructure, and more. Susan shares the promises and the traps of automated regression testing suites and discusses ways to keep your tests and testware up-to-date and clean. Learn to iterate toward higher quality and keep up the enthusiasm of your team—even when they’re testing the Nth release.

• The technical debt that builds up in mature systems
• How to automate and optimize tests over time
• What to do when resources shrink but the workload doesn’t
T6
Special Topics
Lightning Talks: A Potpourri of 5-Minute Presentations
Julie Gardiner, QST Consultants Ltd.

Lightning Talks are nine five-minute talks in a fifty-minute time period. Lightning Talks represent a much smaller investment of time than track speaking and offer the chance to try conference speaking without the heavy commitment. Lightning Talks are an opportunity to quickly present your single, biggest, bang-for-the-buck idea. Maybe you just want to ask a question, invite people to help you with your project, boast about something you did, or tell a short cautionary story. These things are all interesting and worth talking about, but there might not be enough to say about them to fill up a full track presentation. Use this as your opportunity to give a first time talk or to present a new topic for the first time. For more information on how to submit your Lightning Talk, visit www.sqe.com/lightningtalks.asp. Hurry! The deadline for submissions is May 8, 2006.
 Thursday, June 29, 2006 11:15 AM
T7
Managing Projects and Teams
An Integrated Configuration Management System Revealed
Geree Streun, ANS

Many people talk about an end-to-end software development process in which requirements are developed and transitioned seamlessly into code with tests tracing back to the requirements. Geree Streun has learned that an integrated configuration management system should be at the center of that process. She explains the criteria for evaluating and selecting a configuration management tool to support your development process and why configuration management should be implemented in an integrated way. Find out what an integrated configuration management tool can do for you, how much control to impose, and how much administration you can afford. Watch a demonstration of the integrated configuration management system Geree’s company uses to record defects against any software artifact and to ensure that tests track to the current version of the requirements.

• The costs, benefits, and drawbacks of using an integrated configuration management system
• Steps and criteria for selecting a configuration management system
• Establishing low level version control on all software artifacts
T8
System Requirements
Why Are Requirements So Poorly Defined?
Richard Bender, Bender RBT Inc.

Studies have shown that the quality of the requirements is one of the most important factors in the quality of an application and also in the time and costs required to deliver a system. Yet requirements are almost always ambiguous, incorrect, incomplete, too high level, logically inconsistent, and communicated by rumor. The irony is that the various techniques—which have been around for decades—for writing better requirements have not been widely adopted. The culture and the management of the software process are equally to blame. Richard Bender gets to the root of the problem and discusses ways to address the poor requirements issues. Learn quantitative measures of the quality of the requirements specification and practical approaches to writing unambiguous requirements for your applications.

• Early validation of requirements through testing
• Moving user acceptance test design up prior to the start of coding
• Getting management’s support for improvements
T9
Agile Development
Even the Best Get Stuck: Transitioning to Agile Development
Alex Pukinskis, Rally Software Development

For some organizations Agile methodologies like XP, Scrum, and Crystal work well off-the-shelf. However, many companies struggle with these practices and find that lightweight methodologies leave them without support for key aspects of their business. Most end up adopting a hybrid of multiple methodologies mixed in with some old practices. This is risky business. Cherry-picking your favorite parts of Agile methodologies can leave you without enough process and in danger of a code-and-fix mentality that relies on heroics to ship software. Alex Pukinskis looks at different paths taken by organizations as they transition to Agile. He discusses key "process smells" that indicate that a project has gone past agility and is slipping into chaos. Alex offers suggestions to get your foundering Agile transition back on track.

• Patterns for adopting Agile practices
• What happens when the transition to Agile practices gets stuck
• How to customize Agile techniques to fit your context
T10
Measurement
A Metrics Dashboard to Drive Goal Achievement
Wenje Lai, Cisco Systems Inc

Some measurement programs with high aims fall short, languish, and eventually fail completely because few people regularly use the resulting metrics. Based on Cisco Systems’ five years of experience in establishing an annual quality program employing a metrics dashboard, Wenje Lai describes their successes and challenges and demonstrates the dashboard in use today. He shows how the metrics dashboard offers an easy-to-access mechanism for individuals and organizations within Cisco Systems to understand the gap between the current standing and their goals. A mechanism within the dashboard allows users to drilldown and see the data making up measurement to identify ownership of issues, root causes, and possible solutions. Learn what programs they implemented to ensure that people use the metrics dashboard to help them in their day-to-day operations.

• How to build an effective metrics dashboard to help achieve quality goals
• Demonstration of a mature metrics dashboard
• Ways to achieve buy-in from management and engineers for using a dashboard
T11
Testing
Smoke Tests to Signal Test Readiness
Aditya Dada, Sun Microsystems Inc

Plumbers use “smoke tests” to find leaks in pipes when it is impractical to completely seal a plumbing system. We use this term as a metaphor to define a small set of software tests designed to expose big problems instead of committing the resources to run a large suite of tests. Building a powerful smoke test suite is not trivial and not intuitive, requiring an understanding of the product, the test base, and test automation techniques. Join Aditya Dada to learn the attributes of a high quality smoke test suite and what it takes to build and, most importantly, maintain a small set of effective smoke tests. Improve nightly builds, speed up pre-integration testing, and catch huge defects quickly and efficiently with a new smoke test strategy for your software under test.

• Benefits and attributes of smoke tests
• How to manage a smoke test suite with minimum effort
• Real world examples of smoke tests
T12
Special Topics
Beat the Odds in Vega$: Measurement Theory Applied to Development and Testing
James McCaffrey, Volt Information Sciences, Inc.

James McCaffrey describes in detail how to use measurement theory to create a simple software system that predicts with 87% accuracy the results of NFL professional football game scores. So, what does this have to do with a conference about developing better software? You can apply the same measurement theory principles embedded in this program to more accurately predict or compare results of software development, testing, and management. Using the information James presents, you can extend the system to predict the scores in other sports and apply the principles to a wide range of software engineering problems such as predicting the Web site usage in a new system, evaluating the overall quality of similar systems, and much more.

• Why the statistical approach does not work for making some accurate predictions
• Measurement theory to predict and compare
• How to use rank order centroids to compare the quality of similar software applications
 Thursday, June 29, 2006 1:30 PM
T13
Managing Projects and Teams
Managing Distributed Teams
Keith Casey, CaseySoftware, LLC

Globalization, open source software, and cheap communications have forever changed the structure of software development project teams. Project managers face a new set of challenges with geographically distributed work teams. Unclear expectations, language and idiom differences, lack of direct supervision, and a lack of accountability are just a few of the issues that project managers must overcome. As the leader of a development team with members and customers all over the world, Keith Casey is intimately familiar with the character of distributed teams. He explains why you need a coherent strategy—and that means more than email, instant messaging, conference calls, and software tools—for effectively executing a distributed development project. Join Keith for a discussion of the strategies you can use to avoid the disasters awaiting those who ignore the needs of a distributed team.

• The differences between distributed and co-located teams
• Distributed team problems and mitigation strategies
• Tools to assist in managing a distributed team
T14
Process Improvement
Process Improvement: Can I Make a Difference?
Stephanie Penland, SAS Institute Inc

Although some organizations already have formal processes in place, many do not. Most process improvement begins with one person or one department deciding to do something rather than accepting the status quo. With the right attitude, some simple tools, and a proven method for improvement, you can make a difference for yourself, your department, and ultimately, your organization. Stephanie Penland has helped numerous small and large organizations with process improvement. Sharing her experiences—both successes and failures—Stephanie describes her real-world approach for process improvement. Find new ways to overcome obstacles and obtain buy-in from the top down. Learn what it takes to get a process improvement program off the ground. Take back with you a sample of a successful process improvement plan.

• The benefits of process improvement and ways to measure success
• Obtain buy-in and overcome obstacles to process improvement
• A sample process improvement plan that really works
T15
Outsourcing
Successful Offshore Outsourcing with the Crawl-Walk-Run Strategy
Uttiya Dasgupta, Omnispan LLC

Large organizations may have the resources for expensive, big-bang offshore outsourcing projects. But what should small- and medium-sized organizations do when tasked with outsourcing? Based on his experiences, Uttiya Dasgupta describes a usable and inexpensive process for planning an offshore outsourcing strategy for small- to medium-sized development organizations. This crawl-walk-run strategy starts with very small projects and moves to increasingly more complex ones, supported by adequate preparation for each stage. Beginning with a vision of the “run” stage, teams plan the first stages to test out processes and ensure the cultural and technology fit between the internal and outsourced organizations. Uttiya shares his insights for successful offshore outsourcing projects and, especially, the signs and metrics that tell you when you are ready to move from crawling to walking—to running.

• Offshore outsourcing for small- and medium-sized organizations
• How to build a winning team with an offshore presence
• Internal preparations to ensure success in outsourcing
T16
Measurement
Industry Benchmarks: Insights and Pitfalls
Jim Brosseau, Clarrus Consulting Group, Inc.

Software and technology managers often quote industry benchmarks such as The Standish Group’s CHAOS report on software project failures; other organizations use this data to judge their internal operations. Although these external benchmarks can provide insights into your company’s software development performance, you need to balance the picture with internal information to make an objective evaluation. Jim Brosseau takes a deeper look at common benchmarks, including the CHAOS report, published SEI benchmark data, and more. He describes the pros and cons of these commonly used industry benchmarks with key insights into often-quoted statistics. Take away an approach that Jim has used successfully with companies to help them gain an understanding of the relationship between the demographics, practices, and performance in their groups and how these relate to external benchmarks.

• Strengths and weaknesses of commonly used benchmarks
• An approach that combines internal company data with industry measurements
• Gaining actionable insights based on the unique set of data from your organization
T17
Testing
Testing SOA Middleware: Automating What You Can’t See
Jon Howarth, Wells Fargo

SOA projects employing Web services have multiple back-end integration points, volatile data, and no direct, visible user interface. Together, these factors make SOA applications complicated to test. Most companies opt for indirect manual testing because they see no other option. However, there is a light at the end of the tunnel. Using real-world case studies as examples, Jon Howarth reveals step-by-step the data driven model Wells Fargo employs to automate its SOA regression testing. Learn about the problems their QA groups encountered and the solution that drove down costs and cycle times while increasing quality. Find out how to staff and train your team to support the solution and see example metrics to measure its effectiveness. Learn how to combine vendor tools to optimize your SOA automated testing into an integrated test framework.

• An automated testing strategy for SOA applications
• Ways to automate test data setup, tear down, and post-test condition validation
• A test framework integrating multiple tools
T18
Special Topics
Validation: What It Means in an FDA Regulated Environment
Chrys Kyee, Genentech Inc

Even though formal validation may not be required in unregulated environments, many mission-critical applications could benefit from performing some of the same activities required for FDA regulated systems. Validation provides documented evidence showing, with a high degree of assurance, that a system will consistently meet its predetermined requirements. FDA validation is required if the use of the computer system could potentially impact product quality, safety, or efficacy, or if the system is used to support a regulatory submission function. Learn how validation is accomplished by looking at a series of qualification exercises typically prescribed in a Validation Protocol. Take back with you templates for a typical Validation Protocol, including the System Development Review, Installation Qualification, Operational Qualification, Performance Qualification, and Revalidation. See how your review and test practices can benefit from aspects of the rigor required for regulated software.

• The scope of validation—who, what, when, how, and why
• Templates and a sample OQ script
• Good documentation practices as specified for FDA regulated software
 Thursday, June 29, 2006 3:00 PM
T19
Managing Projects and Teams
Managing Upward: Getting Approvals for the Tools You Need
Doug Smith, Aberro Software

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.

• A tool selection process that helps management say ‘’Yes’’ to your purchase request
• The people side of executive decision-making
• Ways to frame your proposal in terms that speak to executive managers
T20
Process Improvement
Successful Software Management: Fifteen Lessons Learned
Johanna Rothman, Rothman Consulting Group, Inc.

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.

• What is the software manager’s real job
• How to create an effective work environment
• How to help people do their best work
T21
Outsourcing
Agile Offshore Development—An Oxymoron?
Roger Nessier, Symphony Services

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.

• Define goals and measure deliverables in an offshore Agile environment
• Communication and productivity challenges associated with multiple Scrum teams
• Test- and QA-driven offshore development across distributed teams
T22
Measurement
Software Metrics to Improve Release Management
Nirmala Ramarathnam, The MathWorks Inc

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.

• How to set up metrics aligned with release quality and schedule goals
• A method to consistently categorize and prioritize bugs across multiple products
• The different release metrics for the product team and management
T23
Testing
The Power of Continuous Integration with Automated Unit Tests
Jeffrey Fredrick, Agitar Software Inc

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.

• The impact of continuous integration
• How to use automated developer tests with continuous integration
• The differences between lots of tests and code under continuous tests
T24
Special Topics
A Bug’s Life
Lloyd Roden, Grove Consultants

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
• People issues surrounding bugs



Better Software Conference & EXPO 2006 is a Software Quality Engineering Production

The Current Conference   |   StickyMinds.com   |   Better Software magazine

Software Quality Engineering   •   330 Corporate Way, Suite 300   •   Orange Park, FL 32073

Phone: 904-278-0524   •   Toll Free: 800-423-8378   •   Fax: 904-278-4380   •   Email: [email protected]

� 2006 Software Quality Engineering. All rights reserved.