Configuration management stories from the distributed software development trenches

How can product owner affect which stories make it to the sprint. The objective is to collect and systematize reported knowledge in terms of what are the difficulties in managing dsd projects, what are the best practices to overcome these difficulties, and how existing models and tools support. As he was doing an inventory of a companys commercial software and version control, payson hall got an odd response from a vendor. Bad software configuration management can paralyse a project. How can the vendor possibly support that many products. This book is part of the infoq enterprise software development. Software configuration management is the process of identifying and defining configuration items in a system, recording and reporting the configuration items and request for change, and verifying the completeness and correctness of configuration items. Using a configuration management cm system to manage web. The 18 best developer war stories and postmortems techbeacon.

Guenter teubner 154 software engineering fall 1998 3 why software configuration management. Software configuration management encompasses the disciplines and techniques of initiating, evaluating and controlling change to software products during and after a software project standards approved by ansi ieee 828. In fact, in the early days of agile adoption, some purists believed that agility and distributed development could not coexist, going by this principle the most efficient and effective method of conveying information to and within a development team is via facetoface conversation. Joe farah identifies the top ten best practices in configuration management and goes even further by listing ten more runnerup practices. As web sites become larger and more complex, they present a tremendous challenge in terms of content management. In theory, it is kind of like make, without makes wrinkles and with the full portability of. The tea m will work together to complete the project. Released systems custom configured systems different functionality systems under development wsoftware must run on different machines and operating. What is software configuration management and why do you. The increasing popularity of service oriented architecture soa and distributed systems makes it even harder for organizations to maintain. The profession of software development is both very good and very bad about its use of terminology. Configuration management in the field of software engineering, configuration management cm is becoming more and more vital to a projects success as systems become more complex and diverse. This volume is a set of perspectives and stories from the trenches of these. These teams are often separated by miniprojects that are brought together for a final software buildout.

It has similarities to other tools in the configuration management space, but has a fast, modern, distributed systems approach. Using a configuration management cm system to manage web content and webbased distributed software development steve henning, continuus software. This is the software configuration management guidebook which describes software configuration management in a way that is compatible with practices in industry and at nasa centers. A supporting tool for requirements change management in. The author of software configuration management patterns. In ye olden days, you had the entire team colocated in the proverbial cube farm under a single monolithic roof. This is not strictly a book on agile software development. In order to perform good software development, it is. Keywords global software development, configuration management system, software architecture 1. Narsu, an industry expert on software configuration management scm best practices and former forrestergiga analyst, will discuss the most important aspects to consider when applying scm best practices to an agile world.

The configuration manager works with the project leader to determine the most appropriate environment strategy manages the process of releasing the software although configuration managers need access to the repository, they dont need to manipulate the application objects that make up the contents of the repository. The scm managers have worked with the programproject managers and the ipts in compliance with propath process maps to document the how will move through the development build. The synergy team has enough experience personally and as a whole to complete the project. Configuration management stories from the distributed software. The cmp provides information on the requirements and. Try to convince the management team to assign a new product. Icgse 12 proceedings of the 2012 ieee seventh international conference on global software engineering pages 200 august 27 30. General terms global software engineering, configuration management. Software project managemen t plan team synergy page 5 1272003 1. Distributed software development by its nature involves four essential problems. As the systems being built today increase in software content, the need for software configuration management continues to rise. By lars bendix, jan magnusson and christian pendleton. Steve is passionate about helping teams work effectively to produce.

Pdf architecture of a software configuration management. Accurev is hosting a free webinar on emerging scm best practices for agile development on thursday, february 5 from 1. Product and project software configuration management scm. One of the main challenges is managing the requirements changes during the process of distributed agile software development. You can probably figure out that the best time to start software configuration management is at the beginning of development. In this paper, we take a closer look at the role of cm in distributed projects where can standard cm techniques help, how can they be implemented, and what special challenges does distribution pose. Pdf software configuration management over a global software.

Configuration management stories from the distributed software development trenches. While the first book comprises 18 antipatterns divided into the three parts according to three different viewpoints software development, architecture, and management the second book, antipatterns and patterns in software configuration management, aims to help management. The software project management plan spmp for the synergy project defines the project management goals of the project and includes a description of the deliverables and deadlines. A graph transform model for configuration management environments. Our scm source configuration management was perforce, so each. The replication of repositories is an important mechanism for the distributed configuration management in open source software development ossd projects. Management stories from the distributed software development trenches. The project was distributed and combined scrum with the project management body of.

This is related to the older workload automation category of software. In global environments, the software configuration becomes critical due to the characteristics of the distributed development physical distance, cultural differences, trust, communication and. Software configuration management procedures template. Frameworks for managing large agile development projects have started. Distributed development is a familiar it approach, but source code control and. Posts about issuebased development written by accurev. What you need to significantly reduce software development failures before they become fatal and how to repair their causes so they dont resurface antipatterns and patterns in software configuration management learn from the mistakes of others documented here in this hardhitting, humorous, and careerenhancing book from the authors of the bestselling antipatterns. Challenges and solutions in distributed software development. Pdf architecture of a software configuration management system. Software configuration management in global software development. Challenges faced in distributed development thoughtworks.

One of the most common and problematic challenges that exists in todays software development environments is how best to support a globally distributed development organization. Articles about configuration management cm cm resource guide. The scope of configuration management addressed in this guidelines has been developed using ieee 10421987 guide to software configuration management ansi, and ieee 8281983 standard for software configuration management plans ansi as guidelines. Companies are required to produce and maintain variants of their main product to reach out to a diversified market. Steve berczuk is a principal software engineer with experience as a manager, scrum master and technical lead in boston, ma. The objective is to collect and systematize reported knowledge in terms of what are the difficulties in managing dsd projects, what are the best practices to overcome these difficulties, and how existing models and tools support these practices. Introduction global software development is a process of software development through globally distributed. The development of agile software requires innovation and responsiveness, based on generating and sharing knowledge within a development team and with the customer. Distributed projects are generally recognized as being more complex and adding a number of new challenges to project management. Configuration management cm can be considered the infrastructure of all types of project being they colocated or distributed and lack of cm or badly implemented cm will hurt any type of project. Mar 15, 2007 when agile development was a new and growing topic of interest among software development professionals looking to break with the old habits of slipped schedules, cost overruns, and failed projects, no one was talking about the agile approach to configuration management. Christian pendleton configuration management stories from the distributed software development trenches, 2012 ieee seventh international conference on global software engineering, aug. Agree on documentation of the feature, its setup, configuration, user.

Apr 04, 20 you can probably figure out that the best time to start software configuration management is at the beginning of development. Guide to software configuration management forward. The complexity of the embedded systems being developed in the automotive industry is increasing. A practical guide 042500 ii acknowledgements this document was prepared for the department of energy doe by a working group of the doe quality managers software quality assurance subcommittee sqas. He also dissects software development projects in the game industry such as. There are some great open source systems out there, as well as many that will require an investment. The role of configuration management in outsourcing and distributed. A strange story of version control and software customization. Managers of software development projects must understand software configuration management scm methods and techniques, and the authors provide the necessary knowledge and experience using antipatterns and patterns. Software configuration management plans wieee 1042. Software development release management within scm maps to development build promotion management to avoid confusion with oit release management. Only few researches published in the literature, addressed the problem of requirements changes during the development process in distributed agile development.

During his career, he has deployed scm solutions in the industrial controls and telecommunications industries, many of them to meet iso 9000 and sei cmm objectives. Abstract distributed projects are generally recognized as being more complex and adding a number of new challenges to project management. Effective teamwork, practical integration, he is a recognized expert in software configuration management and agile software development. Architecture of a software configuration management system. Software configuration management build and release management. Software configuration management is a key software development process, and is essential for doing software assurance. What is software configuration management and why do you need it. Software configuration management in agile development, in i. White has a decade of handson experience with software configuration management tools and methods. In this paper, i will present some of the basic building blocks of agile configuration management, and detail how these practices may be used to benefit large development organizations. Agile configuration management for large organizations. It emphasizes the importance of configuration control in managing software production.

Download citation configuration management stories from the distributed software development trenches distributed projects are generally recognized as being more complex and adding a. Software configuration management encompasses the disciplines and techniques of initiating, evaluating, and controlling change to software products during and after the development process. Software configuration management plan introduction scope and intent of scm activities the primary focus of the software configuration management scm is to identify and control major software changes, ensure that change is being properly implemented, and report changes to any other personnel or clients who may have an interest. Exploring software development at the very largescale. Configuration management for distributed development 5 configuration management the concept configuration management cm is a discipline within software engineering with the aim to control and manage projects and to help developers synchronize their work with each other. Distributed development is a software development model in which it teams spread across geographical lines collaborate on applications or various software. Without a cmdb or formal configuration management system, there is no way to obtain accurate information about it assets and the relationships between them. At the time this document was prepared, the working group had the following members. Configuration management stories from the distributed software development trenches bendix, lars lu. Introduction to configuration management introduction to software configuration management, and configuration management for software. Magnusson, jan and pendleton, christian the 7th international conference on global software engineering. Prime contractors are integrating millions of lines of code from multiple subcontractors.

Each client has a unique, customized edition of the software. Configuration management cm can be considered the infrastructure. Configuration management for distributed development. Software configuration management strategies and rational. Posts about geographically distributed development written by jtalbott. Good software configuration management is essential for efficient development and maintenance, and for ensuring that the integrity of the software is never compromised. Please have a look at an introductory video or blog post. This is obtained by defining methods and processes to obey. Articles about configuration management cm cm resource. Configuration management software is one of a constellation of devops categories designed to facilitate cooperation between it and development. Configuration management software is designed to automate the deployment of applications in the data center and in the cloud.

The configuration management plan cmp is developed to define, document, control, implement, account for, and audit changes to the various components of this project. By definition, distributed development is difficult due to the tyranny of distance. Configuration management cm is the ongoing process of identifying and managing changes to deliverables and other work products. Department of energy quality managers software quality. Were upgrading the acm dl, and would like your input. The papers are organized in sections on versioning models, reuse and system models, process aspects, distributed scm, scm on the web, and industrial experience, this book competently reports the state of the art in software configuration management. No matter how large the project may be, software configuration management has a critical effect on quality. Create a configuration management roadmap a cmdb is only as valuable as the processes it supports. Software configuration management open source software. Source control, build, deployment, continuous integration ci, continuous deployment, continuous delivery, devops. You might be hardpressed to pick the best ones out. Configuration management stories from the distributed software development trenches, in proceedings of the 7th international conference on global software engineering, porto alegre, brazil, august 2730, 2012. All items that constitute the software while under the development e.

Proceedings of the acm sigsoft sigplan software engineering symposium on practical software development environments. Kanban is a technique for managing the software development process. Configuration management stories from the distributed. The webinar will introduce the unique demands that agile processes place on legacy scm tools and ways to build and automate an efficient agile development process. Configuration management is an integral part of the software development process. Download citation configuration management stories from the distributed software development trenches distributed projects are generally recognized as being more complex and adding a number of. The book presents 16 revised full papers selected from a total of 49 submissions. Software configuration management over a global software. Antipatterns and patterns in software configuration. Project leaders are aware of the need to better manage and. Software configuration items software configuration. Software configuration management plan introduction.

266 1250 575 803 748 1272 1116 507 442 518 423 1355 1498 610 453 465 160 524 892 451 1559 400 228 367 347 1111 1318 1192 605 1180 473 639 1209 750