Many software projects fail unnecessarily because of unclear objectives, redundant and unproductive work, cost overruns, and a host of other avoidable process problems. In response, agile processes and lightweight tooling have begun to replace traditional engineering processes throughout the development lifecycle.
Books Guide: Configuration Management of Software Intensive Systems
Configuration Management of Software Intensive Systems
Configuration management (CM) is a field of management that focuses on establishing and maintaining consistency of a system or product's performance and its functional and physical attributes with its requirements, design, and operational information throughout its life.
Continuous integration is a software engineering process designed to minimize "integration hell." It's a coordinated development approach that blends the best practices in software delivery. For .NET developers, especially, adopting these new approaches and the tools that support them can require rethinking the development process altogether.
DevOps is an emerging set of principles, methods and practices for communication, collaboration and integration between software development (application/software engineering) and IT operations (systems administration/infrastructure) professionals. It has developed in response to the emerging understanding of the interdependence and importance of both the development and operations disciplines in meeting an organization's goal of rapidly producing software products and services.
Filled with practical insights, IT Release Management: A Hands-on Guide clearly illustrates the effective implementation of a release process in the real world. It examines the similarities and differences of release management and project management to clear up any confusion there might be about the two complementary processes.
Inadequate build systems can dramatically impact developer productivity. Bad dependencies, false compile errors, failed software images, slow compilation, and time-wasting manual processes are just some of the byproducts of a subpar build system. In Software Build Systems, software productivity expert Peter Smith shows you how to implement build systems that overcome all these problems, so you can deliver reliable software more rapidly, at lower cost.
As IT systems have grown increasingly complex and mission-critical, effective configuration management (CM) has become critical to an organization’s success. Using CM best practices, IT professionals can systematically manage change, avoiding unexpected problems introduced by changes to hardware, software, or networks. Now, today’s best CM practices have been gathered in one indispensable resource showing you how to implement them throughout any agile or traditional development organization.
Continuous Delivery shows how to create fully automated, repeatable, and reliable processes for rapidly moving changes through build, deploy, test, and release. Using these techniques, software organizations are getting critical fixes and other new releases into production in hours—sometimes even minutes—even in large projects with complex code bases.
Scrum, which was originally invented solely for software development, can now be applied to all types of projects. This book shows project managers how to implement Scrum by explaining the artifacts, rituals, and roles used. The text provides Scrum planning methods to control project scope and schedule as well as Scrum tracking methods to focus teams on improving throughput and streamlining communications.
Behaviour Driven Development is about writing software that matters. It is an approach to agile software development that takes cues from Test Driven Development, Domain Driven Design, and Acceptance Test Driven Planning.
Now, there's a practical, start-to-finish guide to ITIL configuration management for every IT leader, manager, and practitioner. ITIL-certified architect and solutions provider Larry Klosterboer helps you establish a clear roadmap for success, customize standard processes to your unique needs, and avoid the pitfalls that stand in your way.
The multicore revolution has reached the deployment stage in embedded systems ranging from small ultramobile devices to large telecommunication servers. The transition from single to multicore processors, motivated by the need to increase performance while conserving power, has placed great responsibility on the shoulders of software engineers. In this new embedded multicore era, the toughest task is the development of code to support more sophisticated systems.
This book is a comprehensive and thought-provoking introduction to some of the most advanced concepts in current software management. The authors demonstrate how software development rhythms can be harmonized to achieve synergies, making them stronger together than they would be apart.
In most software organizations, the budget for software maintenance is much larger than for software development. However, there is much less management attention focus on software maintenance than on software development. This book illustrates how process improvement models popular with software development can be applied to software maintainers.
For any software developer who has spent days in "integration hell," cobbling together myriad software components, Continuous Integration: Improving Software Quality and Reducing Risk illustrates how to transform integration from a necessary evil into an everyday part of the development process. The key, as the authors show, is to integrate regularly and often using continuous integration (CI) practices and techniques.
Testing even a simple system can quickly turn into a potentially infinite task. Faced with tight costs and schedules, testers need to have a toolkit of practical techniques combined with hands-on experience and the right strategies in order to complete a successful project. World-renowned testing expert Rex Black provides you with the proven methods and concepts that test professionals must know.
Implementing IBM Rational ClearQuest brings together all you need to integrate ClearQuest into an overarching change-management system that works. Drawing on decades of experience, the authors present a detailed, easyto-use roadmap for each step of ClearQuest deployment, from evaluating business cases through planning, design, and implementation.
Based on CMM/CMMI, this unique new resource offers you practical "how to" guidance on software process improvement. The book provides you with clear implementation steps that are designed to have a highly positive impact on even your most challenging projects. You get valuable, time-saving templates that can be quickly tailored for your purposes and used immediately.
This completely revised edition of an Artech House bestseller goes far beyond other software configuration management (SCM) books as the only complete guide that integrates SCM principles, advanced topics, and implementation procedures in one accessible resource. The second edition has been greatly expanded with new chapters on documentation control, product data management, SCM standards and software process improvement models like CMM, CMMI, BOOTSTRAP, ISO SPICE, and Trillium.
From its first appearance in 1995, this book has been consistently well received by tutors and students alike. Now in its fourth edition, this textbook is highly regarded for providing a complete introduction to Software Project Management for both undergraduate and postgraduate students.
"Sustainable Software Development" brings together principles and practices for building software that is technically superior, delivers exceptional business value, and can evolve rapidly to reflect any change to your business or technical environment.
"The Art of Project Management" covers it all--from practical methods for making sure work gets done right and on time, to the mindset that can make you a great leader motivating your team to do their best. Reading this was like reading the blueprint for how the best projects are managed at Microsoft... I wish we always put these lessons into action!" --Joe Belfiore, General Manager, E-home Division, Microsoft Corporation
Presenting the state-of-the-art in component-based software testing, this new, cutting-edge resource offers you an in-depth understanding of the current issues, challenges, needs, and solutions in this critical component-based testing and quality assurance in an accessible tutorial format, making the material easy to comprehend and benefit from no matter what your professional level.
(From the back cover) Since the earliest days of the computer industry, managing a software project has been a complex and demanding activity. While the technical content of software products and the technical methods used to build them have changed over time, the fundamental issues that determine the success or failure of software projects have remained fairly constant.
(From the Back Cover) Configuration management (CM) is an important, but often neglected, practice that allows application developers and project managers to better identify potential problems, manage changes, and track the progress of software projects. An effective CM strategy—one that adheres to the practice's complexity while harnessing its depth—can be the cornerstone of fast, flexible development.
Software Configuration Management Patterns alleviates software engineers' most common concerns about software configuration management (SCM)--perceived rigidity and an overemphasis on process. This book demonstrates how effective SCM strategies promote a healthy, team-oriented culture that produces better software. Through the use of patterns, the authors show that properly managed workflow can avert delays, morale problems, and cost overruns. The patterns approach illustrates how SCM can be easily and successfully applied in small- to mid-sized organizations. By learning how these patterns relate to each other, readers can avoid common mistakes that too often result in frustrated developers and reduced productivity. Key coverage includes instruction on how to: develop the next version of a product while fixing problems with the current one; develop code in parallel with others and join up with the current state of code line; identify what versions of code went into a particular component; analyze where a change happened in the history of a component's development; use current tools more effectively, and decide when to use a manual process; introduce good practices into individual workspaces and throughout the organization; identify crucial aspects of the software process, so that team projects can run smoothly; build and foster a development environment focused on producing optimal teamwork and quality products.
(Back Cover Copy)
We often hear about software projects that are late, over budget, or unable to satisfy customer needs. Yet some organizations are able to manage project after project successfully with desired results. In this book, Pankaj Jalote looks at one such organization, Infosys Technologies, a highly regarded high maturity organization, and details the processes it has in place to manage projects.
Why do so many software projects fail? The reality is that many of these projects are led by programmers or developers thrown into the role of project manager without the necessary skills or training to see a project through successfully. Patricia Ensworth has written a hands-on survival guide designed to rescue the "accidental project manager" and help them to quickly ramp up on all key areas involved in software project management.
Take control of the software development process with this new book, a comprehensive explanation of Software Configuration Management (SCM). It provides everything you need to know -- from the basic definition of SCM as a scientific tool that brings control to the development process, to the procedures for SCM implementation in your organization. You review each phase in the software development lifecycle, and learn how SCM can help you avoid pitfalls at every step.
From the Publisher: Authored by an internationally known expert in configuration management (CM) solutions, this unique new book helps experienced professionals and novices alike see why CM is critical to the survival of their company's e-commerce and e-business development and management.
Software Configuration Management (SCM) is an essential software engineering discipline used to manage change in today's complex, fast-paced software development environment. SCM is used during all lifecycle phases and provides a structure for identifying and controlling changes to documentation, requirements, models, code, and Web artifacts such as HTML and XML files.
Verification and Validation of Modern Software-Intensive Systems brings the classic approaches up to date to apply them to contemporary computing methods. Based on the latest standards and research, the authors cover V&V for areas that have not been previously treated collectively, including:
Learn from the mistakes of others documented here in this hard-hitting, humorous, and career-enhancing book from the authors of the best-selling AntiPatterns. Rise above the industry-wide malaise of mass denial and realize that you too can, and definitely must, master Software Configuration Management (SCM) for successful software engineering. In this much-needed book, the authors provide 16 new AntiPatterns covering the most common SCM mistakes and pitfalls.
Open Source Development with CVS is one of the first books available that discusses the development and implementation of Open Source software. You will find a complete introduction, tutorial, and reference to the Concurrent Versions System (CVS), along with a detailed survey of the customs and conventions of Open Source development, and how CVS fits into them.
In this book, a leading Sun Microsystems consultant presents start-to-finish techniques for software development, covering all three key elements of success: people, processes, and technology. Learn how to build a winning software development team, organize that team for success, and retain your best talent in today's extraordinarily competitive hiring environment. Learn how to use OO techniques from planning through testing.
Don't risk your software product's success through haphazard integration and release management. This book shows you "best practices" for every stage of a successful product release: source code control, product build, testing and defect tracking, code integration, software change management, and release engineering.
This landmark book provides a thorough overview of the Unified Process for software development, with a practical focus on modeling using the Unified Modeling Language (UML). The Unified Process goes beyond mere object-oriented analysis and design to spell out a proven family of techniques that supports the complete software development life cycle. The result is a component-based process that is use-case driven, architecture-centric, iterative, and incremental.
Harness the power, flexibility, and new functionality of Visual Test 6 to enhance the effectiveness of your testing projects. Using concrete scenarios and detailed examples, leading Visual Test expert and veteran trainer Tom Arnold guides you through the entire test automation process - covering both the programming and project management skills needed to deliver high-quality Windows or Web-based software applications on schedule and within budget.
Web Performance Tuning hits the ground running and gives concrete advice for improving crippled Web performance right away. For anyone who has waited too long for a Web page to display or watched servers slow to a crawl, this book includes tips on tuning the server software, operating system, network, and the Web browser itself.
From the Publisher
This volume aims to help the potential configuration management team see how to set up a working system, and achieve standards such as ISO 9001. It is designed to be relevant for all levels of project personnel and all stages of a project life cycle.
With this book, individual developers and small development teams can gain the benefits of configuration management that were previously restricted to large organizations with large budgets. This pragmatic, easy-to-read guide to configuration management comes with all the freeware PC developers need to get started.
Details configuration management (CM) for those in commercial and government environments, focusing on cost-effective implementations of the process and tailoring implementations to specific organizational needs. Coverage includes CM identification; configuration control of hardware and software; documentation; and audits. This second edition breaks down the configuration management process into separate steps, allowing individual procedures to be written to support each step, and offers expanded coverage of CAD/CAM, plus exercises.
This is a short book intended to present elements of software quality systems. Correctly called a primer, it depicts and discusses multiple areas that need to be understood by Information Technology specialists and managers. The appendices, most of them IEEE Standards, point out the usefulness of IEEE work and documents in the standards and quality-assurance areas.
This book provides up-to-date information on determining which software parts affect each other. It provides a lot of ideas for doing impact analysis better, presents a framework for the field, and focuses attention on important results.
From the Publisher
This book tells you how to manage a complex software development project using RCS and SCCS. The book tells you much more than how to use each command; it's organized in terms of increasingly complex management problems, from simple source management, to managing multiple releases, to coordinating teams of developers on a project involving many files and more than one target platform.
This book provides a description and technical overview of the CMM, along with guidelines for improving software process management in general. It is a sequel to Watts Humphrey's work Managing the Software Process in that it structures the maturity framework presented in that book more formally.
This is the inside story of the development of Windows NT. NT took five years and $150 million to complete. For much of that time, the massive program demanded the attention of more than 200 testers, writers and technicians. This book tells the tale and lays bare the messy, wrenching reality of large scale software innovation.
Software configuration management is the most effective management and communication tool in existence for understanding and following processes which occur during the evolution of a product or system. The book is a guidebook for the software practitioner and is intended to serve the software developer as a tool for accomplishing a specific task. The book discusses the four main task or identification, change control, configuration, auditing and reporting.
This book places quality in the context of best software engineering practice and provides a map for companies to develop their own quality system. The needs of small, medium-sized, and large organizations are covered. Detailed information is given regarding the international standards ISO-9001, ISO 9000-3, and ISO 9004-2, as well as the capability Maturity Model.
Software Configuration Management provides step-by-step guidance for identifying the items of a software system that are subject to change during the system life cycle. It defines procedures for the systematic evaluation, coordination, approval or disapproval, and implementation of all changes to the software configuration.
From the foreword by Tom Peters: "This is a remarkable tale. IBM had an amazing success with its AS/400 mid-range family of computers. So? The 'so' is revolution and transformation—fast, no less. Disarray is too kind a word for IBM's position in the growing important mid-range computer business in 1986. Competitors were attacking from every point on the compass. IBM Rochester didn't even know how to measure market share.
"make" is one of UNIX's greatest contributions to software development, and this book is the clearest description of "make" ever written. Even the smallest software project typically involves a number of files that depend upon each other in various ways. If you modify one or more source files, you must relink the program after recompiling some, but not necessarily all, of the sources.
From the Publisher: Designed for software product developers, provides comprehensive coverage of the theory, practice, and techniques of good software configuration management and a structured approach to implementing these practices on large software development projects. As such, it serves as a step by step guide for project managers who need to plan, implement, and control the process associated with data control.
Organized as a collection of essays about programming, this is another Weinberg classic. If you are a programmer, or manage programmers, or indeed just associate with programmers, this is a book for you.
Software testing and software configuration management are usually thought of as two distinct functions within the software engineering discipline, but without good configuration management, the software testing effort frequently flounders. In this book, Babich clearly spells out the most common problems in configuration management and offers some down-to-earth solutions.