Software Maintenance Success Recipes identifies actionable formulas for success based on in-depth analysis of more than 200 real-world maintenance projects. It details the set of factors that are usually present when effective software maintenance teams do their work and instructs on the methods required to achieve success. Donald J. Reifer-an award winner for his contributions to the field of software engineering-provides step-by-step guidance on how to structure the job to complete all of the work related to the task.
Dispelling much of the folklore surrounding software maintenance, Software Maintenance Success Recipes identifies actionable formulas for success based on in-depth analysis of more than 200 real-world maintenance projects. It details the set of factors that are usually present when effective software maintenance teams do their work and instructs on
Why is it so difficult to change organizations? What does it really take to make “process improvement” yield measurable results? For more than 30 years, Donald Riefer has been guiding software teams through the technical, organizational, and people issues that must be managed in order to make meaningful process changes—and better products. This practical guide draws from his extensive experience, featuring 11 case studies spanning the public and private sectors and even academia. Each case study illuminates the original conditions; describes options and recommendations; details reactions, outcomes, and lessons learned; and provides essential references and resources. Eleven case studies provide insightful, empirical data from real-world organizations Provides a broad view across organizational settings and factors, such as personnel, and technical environments, including cloud, Agile, and open source options Illuminates the hard-won lessons, tradeoffs, and impacts—with advice on how to engineer successful, sustainable changes yourself
The best way to learn software engineering is by understanding its core and peripheral areas. Foundations of Software Engineering provides in-depth coverage of the areas of software engineering that are essential for becoming proficient in the field. The book devotes a complete chapter to each of the core areas. Several peripheral areas are also explained by assigning a separate chapter to each of them. Rather than using UML or other formal notations, the content in this book is explained in easy-to-understand language. Basic programming knowledge using an object-oriented language is helpful to understand the material in this book. The knowledge gained from this book can be readily used in other relevant courses or in real-world software development environments. This textbook educates students in software engineering principles. It covers almost all facets of software engineering, including requirement engineering, system specifications, system modeling, system architecture, system implementation, and system testing. Emphasizing practical issues, such as feasibility studies, this book explains how to add and develop software requirements to evolve software systems. This book was written after receiving feedback from several professors and software engineers. What resulted is a textbook on software engineering that not only covers the theory of software engineering but also presents real-world insights to aid students in proper implementation. Students learn key concepts through carefully explained and illustrated theories, as well as concrete examples and a complete case study using Java. Source code is also available on the book’s website. The examples and case studies increase in complexity as the book progresses to help students build a practical understanding of the required theories and applications.
A comprehensive, practical book on software management that dispels real-world issues through relevant case studies Software managers inevitably will meet obstacles while trying to deliver quality products and provide value to customers, often with tight time restrictions. The result: Software War Stories. This book provides readers with practical advice on how to handle the many issues that can arise as a software project unfolds. It utilizes case studies that focus on what can be done to establish and meet reasonable expectations as they occur in government, industrial, and academic settings. The book also offers important discussions on both traditional and agile methods as well as lean development concepts. Software War Stories: Covers the basics of management as applied to situations ranging from agile projects to large IT projects with infrastructure problems Includes coverage of topics ranging from planning, estimating, and organizing to risk and opportunity management Uses twelve case studies to communicate lessons learned by the author in practice Offers end-of-chapter exercises, sample solutions, and a blog for providing updates and answers to readers' questions Software War Stories: Case Studies in Software Management mentors practitioners, software engineers, students and more, providing relevant situational examples encountered when managing software projects and organizations.
Although the use of data mining for security and malware detection is quickly on the rise, most books on the subject provide high-level theoretical discussions to the near exclusion of the practical aspects. Breaking the mold, Data Mining Tools for Malware Detection provides a step-by-step breakdown of how to develop data mining tools for malware d
As the population ages and healthcare costs continue to soar, the focus of the nation and the healthcare industry turns to reducing costs and making the delivery process more efficient. Demonstrating how improvements in information systems can lead to improved patient care, Information and Communication Technologies in Healthcare explains how to cr
This book documents methods for quantifying the benefits of software reuse so that developers can accurately judge whether the benefits outweigh the disadvantages. It explains how to apply reuse metrics, reuse economic models, and reuse Return-On-Investment (ROI) models in diverse organizations and many different programming languages.
"Just the understanding and insights you will pick up about how people encounter and cope with combinations of technical, social, political, and economic opportunities and challenges make the book a joy to read and worth much more than the price of it alone." --Barry Boehm, from the Foreword This practical handbook shows you how to build an effective business case when you need to justify--and persuade management to accept--software change or improvement. Based on real-world scenarios, the book covers the most common situations in which business case analyses are required and explains specific techniques that have proved successful in practice. Drawing on years of experience in winning the "battle of the budget," the author shows you how to use commonly accepted engineering economic arguments to make your numbers "sing" to management. The book provides examples of successful business cases; along the way, tables, tools, facts, figures, and metrics guide you through the entire analytic process. Writing in a concise and witty style, the author makes this valuable guidance accessible to every software engineer, manager, and IT professional. Highlights include: How and where business case analyses fit into the software and IT life cycle process Explanations of the most common tools for business case analysis, such as present-value, return-on-investment, break-even, and cost/benefit calculation Tying the business process to the software development life cycle Packaging the business case for management consumption Frameworks and guidelines for justifying IT productivity, quality, and delivery cycle improvement strategies Case studies for applying appropriate decision situations to software process improvement Strategic guidelines for various business case analyses With this book in hand, you will find the facts, examples, hard data, and case studies needed for preparing your own winning business cases in today's complex software environment.