Author: Paul M. Duvall
Publisher: Pearson Education
Release Date: 2007-06-29
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. The authors first examine the concept of CI and its practices from the ground up and then move on to explore other effective processes performed by CI systems, such as database integration, testing, inspection, deployment, and feedback. Through more than forty CI-related practices using application examples in different languages, readers learn that CI leads to more rapid software development, produces deployable software at every step in the development lifecycle, and reduces the time between defect introduction and detection, saving time and lowering costs. With successful implementation of CI, developers reduce risks and repetitive manual processes, and teams receive better project visibility. The book covers How to make integration a “non-event” on your software development projects How to reduce the amount of repetitive processes you perform when building your software Practices and techniques for using CI effectively with your teams Reducing the risks of late defect discovery, low-quality software, lack of visibility, and lack of deployable software Assessments of different CI servers and related tools on the market The book’s companion Web site, www.integratebutton.com, provides updates and code examples.
Does your organization frown upon 'build breakers'? Does your team spend a lot of time fixing integration issues? Do you see a lot of who broke the build now? emails? Do your team members hesitate to commit their code for the fear of causing a build failure? If you wish to know what you can do to make the situation better, this book is for you.
Author: Stephen P. Berczuk
Publisher: Addison-Wesley Professional
Release Date: 2003
Effective software configuration management (SCM) strategies promote a healthy, team-oriented culture that produces better software. Software Configuration Management Patterns alleviates software engineers' most common concerns about software configuration management--perceived rigidity and an overemphasis on process. Through the use of patterns, the authors show that a 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-size 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 other developers and join up with the current state of codeline. 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. Incrementally 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. Software Configuration Management Patterns also includes a detailed list of SCM tools and thorough explanations of how they can be used to implement the patterns discussed in the book. These proven techniques will assist readers to improve their processes and motivate their workforce to collaborate in the production of higher quality software. 0201741172B09202002
Using Continuous Delivery, you can bring software into production more rapidly, with greater reliability. A Practical Guide to Continuous Delivery is a 100% practical guide to building Continuous Delivery pipelines that automate rollouts, improve reproducibility, and dramatically reduce risk. Eberhard Wolff introduces a proven Continuous Delivery technology stack, including Docker, Chef, Vagrant, Jenkins, Graphite, the ELK stack, JBehave, and Gatling. He guides you through applying these technologies throughout build, continuous integration, load testing, acceptance testing, and monitoring. Wolff’s start-to-finish example projects offer the basis for your own experimentation, pilot programs, and full-fledged deployments. A Practical Guide to Continuous Delivery is for everyone who wants to introduce Continuous Delivery, with or without DevOps. For managers, it introduces core processes, requirements, benefits, and technical consequences. Developers, administrators, and architects will gain essential skills for implementing and managing pipelines, and for integrating Continuous Delivery smoothly into software architectures and IT organizations. Understand the problems that Continuous Delivery solves, and how it solves them Establish an infrastructure for maximum software automation Leverage virtualization and Platform as a Service (PAAS) cloud solutions Implement build automation and continuous integration with Gradle, Maven, and Jenkins Perform static code reviews with SonarQube and repositories to store build artifacts Establish automated GUI and textual acceptance testing with behavior-driven design Ensure appropriate performance via capacity testing Check new features and problems with exploratory testing Minimize risk throughout automated production software rollouts Gather and analyze metrics and logs with Elasticsearch, Logstash, Kibana (ELK), and Graphite Manage the introduction of Continuous Delivery into your enterprise Architect software to facilitate Continuous Delivery of new capabilities
Author: Luke Hohmann
Publisher: Addison-Wesley Professional
Release Date: 2003-01-30
Successfully managing the relationship between business and technology is a daunting task faced by all companies in the twenty-first century. Beyond Software Architecture is a practical guide to properly managing this mission-critical relationship. In our modern economy, every software decision can have a significant impact on business; conversely, most business decisions will influence a software application's viability. This book contains keen insights and useful lessons about creating winning software solutions in the context of a real-world business. Software should be designed to deliver value to an organization, but all too often it brings turmoil instead. Powerful applications are available in the marketplace, but purchasing or licensing these technologies does not guarantee success. Winning solutions must be properly integrated into an organization's infrastructure. Software expert Luke Hohmann teaches you the business ramifications of software-architecture decisions, and further instructs you on how to understand and embrace the business issues that must be resolved to achieve software success. Using this book as a roadmap, business managers and development teams can safely navigate the minefield of important decisions that they face on a regular basis. The resulting synergy between business and technology will allow you to create winning technology solutions, and ensure your organization's success--now and in the future.
Author: G. Ann Campbell
Publisher: Manning Publications
Release Date: 2013
Author: Daniel J. Mosley
Publisher: Prentice Hall Professional
Release Date: 2002
Techniques that improve software quality and reduce time to market Pragmatic approaches to plan and manage every facet of automated software testing Includes a complete sample automation project plan Practical automated testing techniques that enhance software quality and reduce time to market! "Just Enough Test Automation" is a practical, hands-on guide to software test automation from the perspective of test developers and users. Two leading software testing consultants offer real-world dos and don'ts for designing and implementing test automation infrastructure--along with pragmatic advice on what today's most popular approaches to automated testing can and can't accomplish. Coverage includes: Setting realistic expectations: knowing when and what to automate Planning for automated testing Implementing the Control Synchronized Data Driven Testing (CSDDT) Framework, a proven approach to simplify and accelerate testing Simplify maintenance of test scripts and promote reuse using structured test script writing. Automating unit testing, integration testing, and system/regression testing Managing the automated testing process for optimal efficiency The book also includes a complete sample automation project plan, covering documentation, implementation, the automation environment, roles, responsibilities, and much more.
Streamline software development with Jenkins, the popular Java-based open source tool that has revolutionized the way teams think about Continuous Integration (CI). This complete guide shows you how to automate your build, integration, release, and deployment processes with Jenkins—and demonstrates how CI can save you time, money, and many headaches. Ideal for developers, software architects, and project managers, Jenkins: The Definitive Guide is both a CI tutorial and a comprehensive Jenkins reference. Through its wealth of best practices and real-world tips, you'll discover how easy it is to set up a CI service with Jenkins. Learn how to install, configure, and secure your Jenkins server Organize and monitor general-purpose build jobs Integrate automated tests to verify builds, and set up code quality reporting Establish effective team notification strategies and techniques Configure build pipelines, parameterized jobs, matrix builds, and other advanced jobs Manage a farm of Jenkins servers to run distributed builds Implement automated deployment and continuous delivery
Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours— sometimes even minutes–no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the “deployment pipeline,” an automated process for managing all changes, from check-in to release. Finally, they discuss the “ecosystem” needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes • Automating all facets of building, integrating, testing, and deploying software • Implementing deployment pipelines at team and organizational levels • Improving collaboration between developers, testers, and operations • Developing features incrementally on large and distributed teams • Implementing an effective configuration management strategy • Automating acceptance testing, from analysis to implementation • Testing capacity and other non-functional requirements • Implementing continuous deployment and zero-downtime releases • Managing infrastructure, data, components and dependencies • Navigating risk management, compliance, and auditing Whether you’re a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever—so you can deliver value to your business rapidly and reliably.
Organizations invest immense amounts of time, resources, and attention in their software projects. But all too often, when it's time to transfer the finished project to new "owners," they settle for the most superficial classroom training, documentation, and code walkthroughs. These conventional approaches to knowledge transfer often fail, dramatically reducing the value of new systems in production. You can do much better - and Software Ownership Transfer will show you how. This is the first practical, hands-on guide to knowledge transfer in today's agile environments. Using a realistic, large-scale case study, ThoughtWorks expert Vinod Sankaranarayanan shows how to elevate knowledge transfer from "necessary evil" to an activity full of agility and innovation, and bring together multiple organizations and cultures to make ownership transfer work. Sankaranarayanan explains why mere documentation of error reports and processes isn't enough, and shows how to successfully craft a knowledge transfer program that's more substantive and effective. Along the way, he offers guidance on overcoming the commercial compromises and personal tensions often associated with transferring systems to new ownership; and on transforming mere "knowledge transfer" into something much better: "taking ownership."
This book is for software professionals who want to learn Bamboo. Book contains examples on how to integrate various technology stack with Bamboo. This book covers all basic as well as advanced concepts in Bamboo. This book will be useful for software developers, testers as well as Dev Ops to understand the Bamboo Ecosystem. Book covers popular build management tools like Maven and Gradle. It also includes how to create a deployment project for a web based application using Tomcat.