Patterns of Software Construction: How to Predictably Build Results
- Length: 154 pages
- Edition: 1
- Language: English
- Publisher: Apress
- Publication Date: 2022-03-24
- ISBN-10: 1484279352
- ISBN-13: 9781484279359
- Sales Rank: #0 (See Top 100 Books)
Master how to implement a repeatable software construction system. This book closely examines how a system is designed to tie a series of activities together that are needed when building software-intensive systems.
Software construction and operations don’t get enough attention as a repeatable system. The world is stuck in agile backlog grooming sessions, and quality is not increasing. Companies’ budgets are shrinking, and teams need a way to get more done with less, consistently. This topic is very relevant to our current economic conditions and continuing globalization trends. A reason we constantly need more hands-on-the-keyboards is because of all the waste created in development cycles. We need more literature on how to “do software” not just write software.
These goals are accomplished using the concept of evolutions, much like the Navy SEALS train their team members. For LIFT, the evolutions are: Plan, Build, Test, Release, Operate and Manage. The entire purpose of the book is instructing professionals how to use these distinct evolutions while remaining agile. And then, inside of each evolution, to explicitly break down the inputs to the evolution, outputs and series of activities taking place. Patterns of Software Construction clearly outlines how together this becomes the system.
What You Will Learn
- Optimize each evolution of a software delivery cycle
- Review best practices of planning, highest return in the build cycle, and ignored practices in test, release, and operate
- Apply the highest return techniques during the software build evolution
Who This Book is For
Managers, developers, tech lead, team lead, aspiring engineer, department leaders in corporations, executives, small business owner, IT Director
Contents About the Author Acknowledgments Introduction Chapter 1: Patterns Not a Process System The Problem Craftsmanship Doesn’t Help Reality The Solution Rinse and Repeat Chapter 2: Getting Started Prerequisites for Lowest Friction Or Not Must Haves Charter Architecture Mindset to Bring Definitions System Evolutions Chapter 3: Plan Target Map It Out Development Strategy Big Rocks Write the Stories Build the Sequence Summary Activities Summary Chapter 4: Build Anatomy of a Sprint Week 1 Week 2 Week 3 Most Software... Non-Functional Requirements Pay the Bills Non-Functional Areas to Completely Own Defensive Programming Aggressive Logging Debuggable Software Small Functions Performance What Does Early Optimization Look Like in LIFT? Your Definition of Done Write Things Down and Document As You Go Eliminate Waste Beliefs Deploy Activities Summary Chapter 5: Test The Problem and Possibility What do you really want from QA and testing? Possibility Principles Test Cases Acceptance Criteria Keep the QA Environment Clean Set and Enforce Exit Criteria Start Testing Before You Start Testing The Testing System Activities Prerequisites Acceptance Criteria A Build Environment Entry Exit Criteria Preparation Scope of Impact (SOI) Test Case Preparation Risk Analysis Execution Automated User Interface Testing API and Backend Testing Manual Realtime Reviews Conclude Test Summary and Reporting Performance Activities Summary Chapter 6: Release The Problem and Possibility Problem #1 – The Act of Releasing Software Is Chaotic Problem #2 – You Lack a System to Predictably Deliver Solid Releases to Customers Possibility #1 – You Let Go of OK and Move to Great Possibility #2 – Releases Are Non-Events Principles Write It All Down Rely on Automated Tests Not Everyone Can Be in Charge The Release System Activities Ignition Release Summary Release Details Change List Release Date and Time Deployment Items Other Release-Related Links Roles Dependencies Risks and Mitigations Release Script Rollback Plan Ignition Summary Release Checklist Release Definition of Done Release Script Communication Play-by-Play Fallback vs. Rollback Production Validation Logs Monitoring and Synthetics Automated Tests Release Complete Activities Summary Chapter 7: Operate The Problem and Possibility Problem #1 – You Have No Idea What Your Software Is Doing Problem #2 – There Are No Hooks to Observe Internal Behavior Problem #3 – Incidents and Accidents Just Happen with Little to No Consequence Possibility #1 – You Know What Your Software Is Doing Possibility #2 – When Incidents Happen You Know What to Do Possibility #3 – You Live in a World of Specifics Principles Measure Everything Test Everything Operating Procedures Drive Change Activities Standard Operating Procedures Create Observability and Monitoring Operational Tooling Infrastructure Logs Traffic Tracing Events Dependencies Responding to Problems Use Your SOP Restore Service First Respond Only to Synthetic Monitoring Alerts Rotations Long-Term Fixes and Mitigations Example 1 – Reoccurring Example 2 – Unpredictable Example 3 – Unreproducible Service Level Objectives Create Performance and Stability Improvements Manage Change Summary Activity Summary Chapter 8: Manage The Problem and Possibility Problem #1 – Now What? Problem #2 – People, People, People Possibility #1 – It’s Easy to Make Improvements Possibility #2 – Skillsets and Mindsets Are Adaptable Principles Evolution Changes You for the Better Walk Then Jump Your Stories Are Currency Everything Is an Action Plan Activities Plan Short and Think Long You Shipped. Are You Winning? Win with Metrics That Matter Score Yourself Flatten the Ops Curve Shop at the Hat Store Guided Autonomy Baby Names for Projects Tell a Story People Development S-Curves and People Activities Summary Chapter 9: Summary Index
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/Apress
2. In the Find a repository… box, search the book title: Patterns of Software Construction: How to Predictably Build Results
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.