David Farley

OK
About David Farley
Dave Farley is co-author of the award winning book 'Continuous Delivery' and a contributor to the 'Reactive Manifesto'. He has been having fun with computers for over 30 years. During that period he has worked on most types of software, from firmware, through tinkering with operating systems and device drivers, to writing games, and commercial applications of all shapes and sizes. In recent years Dave has worked in the field of low-latency systems and was a contributor to the Duke award-winning 'LMAX Disruptor', open-source project.
He started working in large scale distributed systems about 25 years ago, doing research into the development of loose-coupled, message-based systems-a forerunner of today's Micro-Service architecture. He has a wide range of experience leading the development of complex software in teams, both large and small, in the UK and USA.
Dave was an early adopter of agile development techniques, employing iterative development, continuous integration and significant levels of automated testing on commercial projects from the early 1990s. He honed his approach to agile development in his four and a half year stint at ThoughtWorks where he was a technical principal working on some of their biggest and most challenging projects.
Dave is currently working as an independent software developer and consultant.
Customers Also Bought Items By
Author updates
Books By David Farley
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
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.
This practical handbook provides a step-by-step guide for you to get the best Continuous Delivery Pipeline for your software.
Written by Dave Farley - the inventor of the Continuous Delivery Deployment Pipeline and author of the award-winning book "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation”.
Dave Farley shares his advice and experience in this essential handbook on how to build, use and improve your Continuous Delivery Pipeline. This books explains what a Continuous Delivery Deployment Pipeline is, the key components and stages, including: Technical Testing, Acceptance Testing, Automation, Version Control and Infrastructure as Code. It also includes examples of world-class pipeline practice, and tips for improving your Deployment Pipelines.
If you want to create Better Software Faster, then you need Continuous Delivery, and at the heart of Continuous Delivery is the Deployment Pipeline.
You may already have a Deployment Pipeline, or be thinking about building your first! Either way, this practical handbook offers a step-by-step guide to get the best Deployment Pipeline for your software.
About the Author
Dave Farley is a pioneer of Continuous Delivery, thought-leader and expert practitioner in CD, DevOps, TDD and software development in general.
Dave has been a programmer, software engineer and systems architect for many years, from the early days of modern computing, taking those fundamental principles of how computers and software work, and shaping ground-breaking, innovative approaches that have changed how we approach modern software development. Dave has challenged conventional thinking and lead teams to build world class software.
Dave is co-author of the Jolt-award winning book - "Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation", and a popular conference speaker on Software Engineering. He built one of the world’s fastest financial exchanges, is a pioneer of BDD, an author of the Reactive Manifesto, and a winner of the Duke award for open source software with the LMAX Disruptor.
Dave is passionate about helping development teams around the world improve the design, quality and reliability of their software, by sharing his expertise through his consultancy, YouTube channel, training courses and books.
Software architecture metrics are key to the maintainability and architectural quality of a software project and they can warn you about dangerous accumulations of architectural and technical debt early in the process. In this practical book, leading hands-on software architects share case studies to introduce metrics that every software architect should know.
This isn't a book about theory. It's more about practice and implementation, about what has already been tried and worked. Detecting software architectural issues early is crucial for the success of your software: it helps mitigate the risk of poor performance and lowers the cost of repairing those issues. Written by practitioners for software architects and software developers eager to explore successful case studies, this guide will help you learn more about decision and measurement effectiveness.
Through contributions from 10 prominent practitioners, this book shares key software architecture metrics to help you set the right KPIs and measure the results. You'll learn how to:
- Measure how well your software architecture is meeting your goals
- Choose the right metrics to track (and skip the ones you don't need)
- Improve observability, testability, and deployability
- Prioritize software architecture projects
- Build insightful and relevant dashboards