NEWS AT SEI
This article was originally published in News at SEI on: February 1, 2005
A software product line is a set of software-intensive systems that share a common, managed set of features satisfying a particular market or mission area, and that are built from a common set of core assets in a prescribed way. Organizations that leverage the core assets (software, designs, documentation, test artifacts, budgets and schedules, tools, and more) across the family of systems they produce (instead of building each system separately) are able to dramatically increase quality and reduce cost and time to market. But adopting a product line approach to software is a technical and a business decision that involves many challenges.
The SEI has long been active in the field of software product lines, helping organizations to master the skills necessary to enjoy the high payoff possible with the product line approach. Now the SEI has introduced a comprehensive new curriculum that is designed to train software managers and practitioners in this new and powerful development paradigm. The SEI Software Product Line Curriculum is based on extensive SEI and community experience in developing and acquiring software product lines. The curriculum is supported by a widely acclaimed practitioner book in the SEI Addison-Wesley Series (Software Product Lines: Practices and Patterns, by Paul Clements and Linda Northrop) as well as leading-edge reports, case studies, and product line artifacts.
The curriculum includes five two-day courses:
Software Product Lines: This course provides an introduction to the world of software product lines. It covers the essential technical and management practices needed to succeed with software product lines, and provides guidelines and patterns helpful in practical application of the product line techniques. The course covers costs and benefits of a product line approach, the technical and organizational management issues involved in the product line approach, and a number of important practice areas critical to achieving product line success. In-depth case studies, drawn from real-world experiences in government and industry, illustrate the concepts.
Adopting Software Product Lines: The benefits of taking a software product line approach are well documented, but there can be considerable barriers to organizational adoption of product line practices. This course begins with a discussion of software product line adoption issues and then presents a phased approach to treating product line adoption as a technology change. The course also presents an explicit pattern-based product line adoption roadmap that is examined in detail in terms of focus areas, phases, sub-patterns, and related practice areas, outputs, and roles. The course also describes strategies for creating synergy within an organization between product line adoption and other ongoing improvement initiatives, such as Capability Maturity Model Integration (CMMI).
Developing Software Product Lines: Developing a software product line requires planning, orchestration, and technical expertise. For those who have never been part of a working product line organization, the details of and interrelationships among the artifacts can be intimidating. This course provides hands-on experience in understanding and applying the practice areas needed for software product line mastery. It provides an in-depth treatment of the concepts and essential ideas covered in the Software Product Lines course. Using a comprehensive software product line example that includes a complete set of assets and artifacts, participants will work together to carry out many of the management and engineering activities necessary for successful product line practice.
PLTP Team Training: The SEI Product Line Technical Probe(PLTP) is a method for examining an organization’s readiness to adopt or ability to succeed with a software product line approach. The PLTP is a diagnostic tool that uses the SEI’s Framework for Software Product Line Practices as a reference model, comparing framework practices to the practices within the organization. The result is a set of findings that portray an organization’s strengths and challenges with regard to a product line approach. This course prepares participants to be team members on a PLTP. The course will involve several hands-on exercises so that participants will learn the process and practice the skills necessary to be a contributing PLTP team member.
PLTP Leader Training: Leading a Product Line Technical Probe (PLTP) requires an in-depth understanding of product line technical and management practices, a thorough understanding of the PLTP process, excellent organizational skills, and superior facilitation skills. This course prepares participants to lead a PLTP. The course provides several hands-on exercises so that participants will learn the PLTP process from the leader’s point of view and practice the social and technical skills necessary to lead a PLTP.
Software professionals can take individual courses based on specific needs or interests, or complete one or more of three specifically designed certificate programs that will be available as part of the Software Product Line curriculum.
- Software Product Line Professional Certificate Program: This three-course sequence provides the knowledge needed to professionally apply software product line practices.
- Product Line Technical Probe Team Member Certificate Program: This four-course sequence prepares a qualified software professional to perform SEI-authorized Product Line Technical Probes.
- Product Line Technical Probe Leader Certificate Program: This five-course sequence (plus a field observation exercise) provide a qualified software professional with the technical depth and social techniques needed to effectively lead SEI-authorized Product Line Technical Probes.
The curriculum is produced by the SEI’s Product Line Systems Program, which is also home to the SEI’s successful Software Architecture Curriculum. Visit our site for information about the Software Product Line Curriculum.