Engineering Software as a Service

Engineering Software as a Service
Author: Armando Fox
Publisher:
Total Pages: 0
Release: 2016
Genre: Computers
ISBN: 9780984881239

(NOTE: this Beta Edition may contain errors. See http://saasbook.info for details.) A one-semester college course in software engineering focusing on cloud computing, software as a service (SaaS), and Agile development using Extreme Programming (XP). This book is neither a step-by-step tutorial nor a reference book. Instead, our goal is to bring a diverse set of software engineering topics together into a single narrative, help readers understand the most important ideas through concrete examples and a learn-by-doing approach, and teach readers enough about each topic to get them started in the field. Courseware for doing the work in the book is available as a virtual machine image that can be downloaded or deployed in the cloud. A free MOOC (massively open online course) at saas-class.org follows the book's content and adds programming assignments and quizzes. See http://saasbook.info for details.(NOTE: this Beta Edition may contain errors. See http://saasbook.info for details.) A one-semester college course in software engineering focusing on cloud computing, software as a service (SaaS), and Agile development using Extreme Programming (XP). This book is neither a step-by-step tutorial nor a reference book. Instead, our goal is to bring a diverse set of software engineering topics together into a single narrative, help readers understand the most important ideas through concrete examples and a learn-by-doing approach, and teach readers enough about each topic to get them started in the field. Courseware for doing the work in the book is available as a virtual machine image that can be downloaded or deployed in the cloud. A free MOOC (massively open online course) at saas-class.org follows the book's content and adds programming assignments and quizzes. See http://saasbook.info for details.

Site Reliability Engineering

Site Reliability Engineering
Author: Niall Richard Murphy
Publisher: "O'Reilly Media, Inc."
Total Pages: 552
Release: 2016-03-23
Genre:
ISBN: 1491951176

The overwhelming majority of a software system’s lifespan is spent in use, not in design or implementation. So, why does conventional wisdom insist that software engineers focus primarily on the design and development of large-scale computing systems? In this collection of essays and articles, key members of Google’s Site Reliability Team explain how and why their commitment to the entire lifecycle has enabled the company to successfully build, deploy, monitor, and maintain some of the largest software systems in the world. You’ll learn the principles and practices that enable Google engineers to make systems more scalable, reliable, and efficient—lessons directly applicable to your organization. This book is divided into four sections: Introduction—Learn what site reliability engineering is and why it differs from conventional IT industry practices Principles—Examine the patterns, behaviors, and areas of concern that influence the work of a site reliability engineer (SRE) Practices—Understand the theory and practice of an SRE’s day-to-day work: building and operating large distributed computing systems Management—Explore Google's best practices for training, communication, and meetings that your organization can use

CMMI for Services

CMMI for Services
Author: Eileen Forrester
Publisher: Pearson Education
Total Pages: 1360
Release: 2011-03-04
Genre: Business & Economics
ISBN: 0132700484

CMMI® for Services (CMMI-SVC) is a comprehensive set of guidelines to help organizations establish and improve processes for delivering services. By adapting and extending proven standards and best practices to reflect the unique challenges faced in service industries, CMMI-SVC offers providers a practical and focused framework for achieving higher levels of service quality, controlling costs, improving schedules, and ensuring user satisfaction. A member of the newest CMMI model, CMMI-SVC Version 1.3, reflects changes to the model made for all constellations, including clarifications of high-maturity practices, alignment of the sixteen core process areas, and improvements in the SCAMPI appraisal method. The indispensable CMMI® for Services, Second Edition, is both an introduction to the CMMI-SVC model and an authoritative reference for it. The contents include the complete model itself, formatted for quick reference. In addition, the book’s authors have refined the model’s introductory chapters; provided marginal notes to clarify the nature of particular process areas and to show why their practices are valuable; and inserted longer sidebars to explain important concepts. Brief essays by people with experience in different application areas further illustrate how the model works in practice and what benefits it offers. The book is divided into three parts. Part One begins by thoroughly explaining CMMI-SVC, its concepts, and its use. The authors provide robust information about service concepts, including a discussion of lifecycles in service environments; outline how to start using CMMI-SVC; explore how to achieve process improvements that last; and offer insights into the relationships among process areas. Part Two describes generic goals and practices, and then details the complete set of twenty-four CMMI-SVC process areas, including specific goals, specific practices, and examples. The process areas are organized alphabetically by acronym and are tabbed for easy reference. Part Three contains several useful resources, including CMMI-SVC-related references, acronym definitions, a glossary of terms, and an index. Whether you are new to CMMI models or are already familiar with one or more of them, this book is an essential resource for service providers interested in learning about or implementing process improvement.

Software Engineering at Google

Software Engineering at Google
Author: Titus Winters
Publisher: O'Reilly Media
Total Pages: 602
Release: 2020-02-28
Genre: Computers
ISBN: 1492082767

Today, software engineers need to know not only how to program effectively but also how to develop proper engineering practices to make their codebase sustainable and healthy. This book emphasizes this difference between programming and software engineering. How can software engineers manage a living codebase that evolves and responds to changing requirements and demands over the length of its life? Based on their experience at Google, software engineers Titus Winters and Hyrum Wright, along with technical writer Tom Manshreck, present a candid and insightful look at how some of the world’s leading practitioners construct and maintain software. This book covers Google’s unique engineering culture, processes, and tools and how these aspects contribute to the effectiveness of an engineering organization. You’ll explore three fundamental principles that software organizations should keep in mind when designing, architecting, writing, and maintaining code: How time affects the sustainability of software and how to make your code resilient over time How scale affects the viability of software practices within an engineering organization What trade-offs a typical engineer needs to make when evaluating design and development decisions

Service-oriented Software System Engineering

Service-oriented Software System Engineering
Author: Zoran Stojanovic
Publisher: IGI Global
Total Pages: 434
Release: 2005-01-01
Genre: Technology & Engineering
ISBN: 1591404266

Annotation Current IT developments like competent-based development and Web services have emerged as new effective ways of building complex enterprise systems and providing enterprise allocation integration. However, there is still much that needs to be researched before service-oriented software engineering (SOSE) becomes a prominent source for enterprise system development. Service-Oriented Software System Engineering: Challenges and Practices provides a comprehensive view of SOSE through a number of different perspectives.

Modern Software Engineering

Modern Software Engineering
Author: David Farley
Publisher: Addison-Wesley Professional
Total Pages: 479
Release: 2021-11-16
Genre: Computers
ISBN: 0137314868

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Balancing Agile and Disciplined Engineering and Management Approaches for IT Services and Software Products

Balancing Agile and Disciplined Engineering and Management Approaches for IT Services and Software Products
Author: Mora, Manuel
Publisher: IGI Global
Total Pages: 354
Release: 2020-07-10
Genre: Computers
ISBN: 1799841669

The highly dynamic world of information technology service management stresses the benefits of the quick and correct implementation of IT services. A disciplined approach relies on a separate set of assumptions and principles as an agile approach, both of which have complicated implementation processes as well as copious benefits. Combining these two approaches to enhance the effectiveness of each, while difficult, can yield exceptional dividends. Balancing Agile and Disciplined Engineering and Management Approaches for IT Services and Software Products is an essential publication that focuses on clarifying theoretical foundations of balanced design methods with conceptual frameworks and empirical cases. Highlighting a broad range of topics including business trends, IT service, and software development, this book is ideally designed for software engineers, software developers, programmers, information technology professionals, researchers, academicians, and students.

The Problem with Software

The Problem with Software
Author: Adam Barr
Publisher: MIT Press
Total Pages: 317
Release: 2018-10-23
Genre: Computers
ISBN: 0262348217

An industry insider explains why there is so much bad software—and why academia doesn't teach programmers what industry wants them to know. Why is software so prone to bugs? So vulnerable to viruses? Why are software products so often delayed, or even canceled? Is software development really hard, or are software developers just not that good at it? In The Problem with Software, Adam Barr examines the proliferation of bad software, explains what causes it, and offers some suggestions on how to improve the situation. For one thing, Barr points out, academia doesn't teach programmers what they actually need to know to do their jobs: how to work in a team to create code that works reliably and can be maintained by somebody other than the original authors. As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience. Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than “good enough to ship."