Application Lifecycle Management

Conference Presentations

Let's Do It Over Again: Configuration Mismanagement Techniques

Being told about good configuration management practices is boring and does not do this vital process justice. What if you do it badly, as many development groups do today? The ultimate failure in managing the configuration of a software product is having it so horribly out of control that it cannot be rebuilt and must be rewritten from scratch. Few developers can claim this spectacular achievement, but many projects employ configuration management practices that result in rework and a loss of reputation with customers. Using humor and sarcasm, Mark Pellegrini looks at examples of how poor configuration management practices can sabotage product development productivity and generally make everyone’s life miserable. Avoid embarrassment by creating and auditing baselines, releasing controlled betas, documenting build procedures, avoiding undocumented components, using version control, and much more.

Mark Pellegrini, Georgia Tech Research Institute
Getting to the Promised Land with CMMI® and CMM® Processess

In hopes of delivering better software, cheaper and faster, many organizations have implemented the Capability Maturity Model (CMM®) or the Capability Maturity Model Integrated (CMMI®) for Software. Thinking that such a successful model must work, other organizations have instituted many of these practices. Although some organizations have achieved their maturity level and improvement goals, most have seen little or no financial benefits. Find out if the underlying principles of the CMMI® and CMM® can help deliver higher productivity, predictability, and speed into your development. Get a truthful answer to the classic CMM® paradox: If you're doing more work, how can it cost less and take less time? You will take away practical tips and techniques for realizing the qualitative and quantitative benefits promised by CMMI® and CMM®.

Rick Hefner, Northrop Grumman Corporation
Better Software Conference 2005: Software Production Line Automation with Concurrent Development

In some contexts, the software development process can be optimized when it is thought of-and run-like a highly automated manufacturing production line. Rather than producing many identical widgets like a manufacturing plant, software organizations produce many programming changes. These changes may not be identical like manufactured widgets, but programming changes can start looking a lot like widgets when you look at the big picture. In this session, Tom Tyler describes how to bring the processes and benefits normally associated with manufacturing to software development-efficiency, reliability, and extensive automation. Manufacturing organizations invest heavily in tooling and infrastructure to automate production lines, and they reap great rewards in efficiency.

C Thomas Tyler, The Go To Group Inc
A Manager's View -- Evolving from Traditional to Agile Development

Go inside a high risk, high reliability application environment with a combination of legacy and newer systems. These highly complex embedded and real-time systems support huge businesses and are expected to operate almost flawlessly every time. Most of the systems were originally developed with traditional waterfall and iterative processes and require extensive development documentation. So, how have they adopted leading edge Agile concepts with the full support of management while continuing to deliver products with the reliability demanded by their customers? Jon Hagar tells a fascinating story with many lessons for those of us living with hundreds of thousands or millions of lines of code that run our businesses. To avoid becoming antiquated and ending up losing not only market share but also your best people, you can make a commitment to improvement and evolution into the Agile world.

Jon Hagar, Jon Hagar Educational Services
Lean Software Contracts

Agile development is great, but it cannot possibly be for you because your software development is done under a contract-outsourced or under an internal service agreement. Right? Wrong! Similar to the way automobile manufacturers have embraced lean manufacturing, you can escape the deadly waterfall development process even in contracted development environments. Lean manufacturing companies have learned over the past twenty years that trust with suppliers lies in specific actions and expectations, not in interpersonal relationships. They understand the "game" of outsourced contracting and know how to structure relationships and write contracts so that both sides are motivated to contribute to the common good. Join Mary Poppendieck, an expert in lean software development, to explore ways to change the contracting game in software development for the better.

Mary Poppendieck, Poppendieck LLC
Describing Software Requirements with User Stories

All projects start with needs or requirements. How those requirements are documented and expressed has a tremendous affect on the rest of the project. The technique of expressing requirements as "user stories" is one of the most broadly applicable techniques introduced by eXtreme Programming (XP). However, user stories are a valuable approach on all time-constrained projects, not just those using XP. Although user stories originated in the Agile processes, they are useful even if you are not planning to employ Agile development. In this session, Mike Cohn will help you identify and write good user stories and understand the six attributes of all good stories. Explore how user role modeling can help when gathering the initial stories for a project.

Mike Cohn, Mountain Goat Software
Agile Software Development: The Home of 31 Flavors

You've heard of eXtreme Programming (XP) and perhaps Scrum. How about Crystal Clear, Adaptive Software Development, Dynamic Systems Development Method, Rational Unified Process for Agile Development, and Feature Driven Development? These are some of the many variations of Agile development methods. Join Jeff McKenna as he explores the many flavors of Agile development methods and explains the similarities and differences. Find out what aspects of Agile development can help your organization’s development team in its particular environment. If you are considering Agile development and need to decide in which direction to go, this session is for you. Although a one-hour session cannot provide all the information you will need, you can explore what is common-the philosophy, the values, the characteristics-and what is different-the methods, the coverage, the costs-about different Agile approaches.

Jeff McKenna, Agile Action
Software Factories: Hype or Hope for Real Advancement?

The new concept of Software Factories, as proposed by Microsoft, promises to elevate software development to the next level. Siemens is working with Microsoft to apply these approaches with the goal of improving product maintenance, quality, and time to market. Gunther Lenz explains the common elements and, more importantly, the differences between the Software Factories model and Model Driven Architecture (MDA), as proposed by the Object Management Group (OMG). Learn how UML 2.0, Domain Specific Languages, platform independence, product line development, and synchronization between models can all enter into the development process. Take away an in-depth understanding of the concept of Software Factories while leaning differences between Software Factories and MDAs.

Gunther Lenz, Siemens Corporate Research, Inc.
Model Driven Architecture (MDA) - What's in it for Developers and Testers?

According to the Object Management Group (OMG), the benefits of Model Driven Architecture (MDA) are significant to businesses and developers alike: reduced overall product life costs, faster development, better application quality, rapid deployment of new technology, and a higher ROI on new technology. In short, the hype is that MDA enables system integration strategies that are better, faster, and cheaper. However, the MDA approach represents a fundamental change in the way software is developed, and it revolutionizes how you allocate test resources and how you create system tests. Timothy Korson outlines the MDA process and then suggests ways to change quality assurance activities to mesh with the MDA development style. Take away a realistic view of the current state of MDA practices compared to the MDA promise and vision, offered by the OMG.

Timothy Korson, QualSys Solutions
Managing and Sizing Functional Requirements

The ability to clearly define user requirements is critical to the overall success of many software projects. You need effective requirements development and management skills and processes to identify, describe, and record the functions requested by end users. With these in place you have the information necessary to assess project complexity and make reasonable size and effort estimates. David Herron describes reliable requirements gathering and documentation techniques including context diagrams, use cases, and mind maps. He discusses function point analysis as a software sizing methodology used by leading edge companies. These techniques, together with the associated tools and templates, provide you with the elements you need to more effectively develop, manage, and measure software requirements.

  • Sizing functional requirements for project planning
David Herron, The David Consulting Group


CMCrossroads is a TechWell community.

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