Conference Presentations

Key Factors for Making Offshore Development Work

Inexpensive and technically competent labor in developing countries has made outsourcing some software development and testing activities an attractive alternative. As a result, more and more US-based companies are looking to India, China, and other countries to develop software. The success or failure of an outsource operation and whether or not it is a viable alternative depends upon some key factors important to both the outsourcer and the software provider. Using his personal experiences and others at Hewlett-Packard, Bhushan Gupta discusses the aspects of program management, communications, teamwork, process, interim deliverables, and cultural issues that will make or break an outsourced development project. Find out what types of outsourcer-vendor relationships work and ones that will most likely lead to failure, and get a first hand view of outsourcing at the ground level.

Bhushan Gupta, Hewlett-Packard USA
Teamwork and Good Communications are Key "Process" Areas, Too

Most of the emphasis for development groups seeking improvement is to change processes and project management practices. But what are we missing? Why does our software often disappoint customers? One reason is quite simple-systems are built by people. People must work together, communicate well, learn from each other, and change personal behaviors based on experiences. In short they must operate as a team for the software to meet their customers' functional and quality needs. Based on her book, Achieving Software Quality through Teamwork, Isabel Evans offers a unique viewpoint on how to succeed in software development. Learn ways you can encourage (or stifle) teamwork; how to promote mutual understanding and tolerance of different communication styles; how different assumptions about quality can lead to failure or success; and methods for integrating teamwork and better communications into your existing processes and practices.

Isabel Evans, Testing Solutions Group Ltd.
Questions to Ask a Software Vendor about Security (and Verify) before Purchase

How do you choose which software vendor's product to buy? For a long time, CRM packages, ERP systems, and other commercial software selection criteria have come down to factors such as performance, compatibility, reputation of the vendor, support, and price. Security, though, has become a looming factor in the total cost of ownership and the risk of selecting one software product over another. Ed Adams describes the tough questions you need to ask vendors about security and how to extract critical information from them. Find out the steps to verify that their statements are accurate and their answers complete. With an approach for quantifying security risk before purchase, your organization will make more informed acquisition decisions.

  • A security assessment approach for purchased software packages
  • Quantifying security risk in software packages before purchase
Ed Adams, Security Innovation LLC
When Saying Yes Doesn't Help: Software Development as Codependent Behavior

Vague requirements, undocumented design, poor code, and impossible schedules-these are the typical complaints of many developers. Whose fault is it? Of course, it is "their" fault-senior management, customers, users, etc. But, could we be part of the problem? Codependent behavior is defined as "a way of getting needs met that doesn't get needs met. We do all the wrong things for all the right reasons." When we agree to develop systems without understanding user needs, we teach others that participation in the project is not important. When we agree to absurd schedules, we teach others that our legitimate needs do not matter. In this compelling session, learn what codependency is, recognize codependent behavior in yourself and others, evaluate the negative effects of codependent behavior, and ways to respond more appropriately to unreasonable demands.

Lee Copeland, Software Quality Engineering
Configuration Managment at Work in the Project and the Enterprise

For configuration management (CM) processes and systems, one size does NOT fit all. Although CM processes are applicable across all projects and product lines, you need an approach tailored to the size and complexity of each project and the systems you develop and support. GTRI/ELSYS has deployed a flexible configuration management approach that meets and exceeds these needs. Learn about the features that all CM systems should have, such as: the ability to reproduce product baselines, version control of all product related work products, flexible levels of control, and support for other management processes such as audit, peer reviews, and requirements. Find out how to organize work products to support multiple baselines, document build instructions, and verify baselines. Walk away with a new perspective on how to deliver robust, cost-effective CM capabilities for both large and small projects.

Mark Pellegrini, Georgia Tech Research Institute
Process Improvement: Based on Models, Implemented in Reality

Experience demonstrates that no matter the end product-financial services, insurance, beer, construction, etc.-the foundation for and focus on implementing process improvement remains consistent. Using models as the basis for improving processes makes success more likely; however, no single model has all the right answers. In this presentation, Barbara Ainsworth provides an overview and comparison of popular software process models: Software Engineering Institute's Software CMM® and CMMI®; Project Management Institute’s PMI Common Body of Knowledge; and Quality Assurance Institute's Bodies of Knowledge for Quality Assurance and Testing. See the influence of both the old and new quality masters-Juran, Crosby, Humphrey, and others-and learn from them how to get your process improvement initiative on the right track.

  • An overview of popular software process models
Barbara Ainsworth, ProcessPlusOne
Leverage Earned Value Management with Function Point Analysis

In the Earned Value Management (EVM) approach, as work is performed, it is "earned" on the same basis it was planned-both the original plan and agreed to changes. Today, more and more software projects are using this approach. Function Point Analysis has been shown to be a reliable method for measuring the size of computer software based on detailed requirements and specifications. Function points can be leveraged throughout the EVM process to establish cost and schedule baselines, control project scope over the lifecycle, and quantitatively assess percent complete. Ian Brown delves into the concepts of EVM as applied to software development and the key conditions necessary to profitably employ this management technology. Learn how companies are using function point analysis to improve the technology.

  • Earned Value Management applied to software development projects
Ian Brown, Booz Allen Hamilton
Identifying Your Organization's "Best" Practices - A Measured Approach

Through the application of a rigorous measurement model, which includes both quantitative and qualitative analysis, organizations can identify high impact areas of software development performance. With these organizational practices identified, you can more effectively align process improvement programs and realize significant gains in productivity and quality. Using three case studies, David Herron describes what leading organizations are doing to reduce costs and to produce higher quality deliverables. One company was able to measure and model the impact of an SEI CMM®-based process improvement program to analyze performance results from the program. Another organization quantitatively compared practices of high versus low performance projects to identify the factors contributing to better results. A third company used qualitative and quantitative analysis techniques to model performance and identify their best practices.

David Herron, The David Consulting Group
Software Project Poker: Should We Keep Betting or Fold?

Software projects are like stud poker hands-all have great potential at the beginning, additional information becomes available as they progress, and it's hard to remain detached from the emotion of the game. The goal of an interim project review is to offer an independent analysis of the current state of a project and a pragmatic assessment of the project's chances of success or likelihood of failure. Learn the steps for performing an objective project assessment, getting the facts, and keeping emotions in check. Find out how to determine if a project can be saved or if it should be stopped. See examples of how to effectively present bad news to executives who might be tempted to throw good money after bad.

  • A model for conducting an interim project review
  • Questions to assist with an assessment of project health
  • Present difficult findings to encourage good business decisions
Payson Hall, Catalysis Group Inc
Scrum - The Art of the Possible

Scrum is an agile, lightweight and team-based process to manage software and product development within iterative software development lifecycles. By wrapping around existing engineering practices such as XP or RUP, Scrum generates many benefits of agile development with the advantages of simple implementation. Properly understood and implemented, Scrum significantly increases productivity and facilitates adaptive, pragmatic systems development. Scrum is a proven way to improve communications, increase cooperation, and remove things that get in the way of delivering products. Brad Grant, a Certified ScrumMaster, shares his knowledge and experiences facilitating stakeholder involvement with Scrum and improving the engineering practices of development teams. Join Brad to discover the roles, practices, team dynamics, and metrics that make up Scrum projects, and find out if Scrum is right for your team.

Brad Grant, Charwick

Pages

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.