Jump to ratings and reviews
Rate this book

Agile Technical Practices Distilled: A learning journey in technical practices and principles of software design

Rate this book

Delve deep into the various technical practices, principles, and values of Agile.

Key Features Discover the essence of Agile software development and the key principles of software design Explore the fundamental practices of Agile working, including test-driven development (TDD), refactoring, pair programming, and continuous integration Learn and apply the four elements of simple design Book Description

The number of popular technical practices has grown exponentially in the last few years. Learning the common fundamental software development practices can help you become a better programmer. This book uses the term Agile as a wide umbrella and covers Agile principles and practices, as well as most methodologies associated with it.

You’ll begin by discovering how driver-navigator, chess clock, and other techniques used in the pair programming approach introduce discipline while writing code. You’ll then learn to safely change the design of your code using refactoring. While learning these techniques, you’ll also explore various best practices to write efficient tests. The concluding chapters of the book delve deep into the SOLID principles - the five design principles that you can use to make your software more understandable, flexible and maintainable.

By the end of the book, you will have discovered new ideas for improving your software design skills, the relationship within your team, and the way your business works.

What you will learn Learn the red, green, refactor cycle of classic TDD and practice the best habits such as the rule of 3, triangulation, object calisthenics, and more Refactor using parallel change and improve legacy code with characterization tests, approval tests, and Golden Master Use code smells as feedback to improve your design Learn the double cycle of ATDD and the outside-in mindset using mocks and stubs correctly in your tests Understand how Coupling, Cohesion, Connascence, SOLID principles, and code smells are all related Improve the understanding of your business domain using BDD and other principles for "doing the right thing, not only the thing right" Who this book is for

This book is designed for software developers looking to improve their technical practices. Software coaches may also find it helpful as a teaching reference manual. This is not a beginner's book on how to program. You must be comfortable with at least one programming language and must be able to write unit tests using any unit testing framework.

Table of Contents Pair Programming Classic TDD I – Test-Driven Development Classic TDD II Classic TDD III – Transformation Priority Premise Design I – Object Calisthenics Design II – Refactoring Design III – Code Smells Test Doubles Testing Legacy Code Design Patterns Cohesion and Coupling Solid Principles ++ Design VII – Connascence The Four Elements of Simple Design Conclusion Outside-In Development Behavior-Driven Development Understand the Business The Story of Team C Conclusion The 12 Agile Principles PopcornFlow by Claudio Perrone EventStormin

442 pages, Kindle Edition

Published June 28, 2019

21 people are currently reading
224 people want to read

About the author

Pedro Moreira Santos

1 book17 followers
Over 20 years of experience in software, from embedded systems, aviation, media, retail, to cloud-based enterprise applications. In recent years, I've focused on educating, and inspiring other developers. I'm the main author of the Agile Technical practices book (https://leanpub.com/agiletechnicalpra...).

I coach and mentor. I've spent hundreds of hours doing pairing sessions, coaching and tutoring developers at all levels of proficiency. I've worked with developers on everything from programming basics, to object-oriented design principles, to refactoring legacy applications, to pragmatic testing practices, to architecture decisions, to career development choices.

Speaker:
I have presented sessions at various conferences, open spaces and developer groups:
ITAKE 2018
Agile Portugal 2018
Socrates Belgium 2017
Socrates UK 2015, 2016, 2017
Socrates Italy 2017
Software Craftsmanship Barcelona 2016, 2017, 2018
Socrates Spain 2016
Socrates Germany 2015
Code Freeze 2015
London Software Crafters Community 2014-2018

Upcoming conferences as speaker:
TBA

I'm on twitter at @pedromsantos and GitHub at https://github.com/pedromsantos

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
29 (54%)
4 stars
17 (32%)
3 stars
6 (11%)
2 stars
1 (1%)
1 star
0 (0%)
Displaying 1 - 11 of 11 reviews
Profile Image for Johan Martinsson.
11 reviews2 followers
April 10, 2019
I'm particularly fond of the detailed explanations of "connascence", way better than other explanations I've encountered. This section inspired me to use connascence a lot more as a thinking and communications tool.

This book gives a great view of the path that a developer might take towards craftsmanship. I believe it gives a very good overview and guidance to apprentice crafters and experienced crafters will still find useful information.
Profile Image for Guillem Fernandez.
32 reviews1 follower
January 3, 2019
Amazing compilation to prepare today’s software organization for the next level of quality, skill and production.

The book is organized in a very easy to follow way and allows you to prepare each of the chapters after reading for practice it by providing highlights, exercises and summaries.

It’s one of those must have if you are part of a software organization and a great lecture for those who related.
Profile Image for Alfredo Artiles Larralde.
13 reviews14 followers
June 28, 2020
This book is the learning path that I’d recomend to become a senior software development. As it’s title says it is a destilation of what you need to know in order to write high quality and reliable software that is aligned to the business needs. Don’t expect to read it quickly, pause at each chapter, do the katas and read the recomended books.
Profile Image for Raul Mordillo.
12 reviews1 follower
December 28, 2019
A great guide with theory, exercises and explanations to become a better Software engineer. It talks about software design and gives you guidelines on how to write/desgin better code.
In my humble opinion, this book can be a source of knowledge for junior to more experienced people in Software.
Profile Image for Patryk Woziński.
16 reviews1 follower
March 10, 2020
That’s totally the best book about agile, sociotechnical architecture, extreme programming etc I’ve ever read. I highly recommend it to anyone who identifies with Software Craftsmanship culture.
10 reviews
May 22, 2020
It took me a while to end this reading, not because it is difficult to follow rather because it deserves time and devotion, and there are so many suggested practices inside that it worth the time implementing them.

The book is a must read, we can discuss about the way it was written, sometimes the expressions, but it is self explanatory and the practices are mandatory for a seasoned software engineer. It reflects de facto practices that any engineer must have under control or at least have knowledge about.

Take your time, put yourself in practices, tackle the exercises, assimilate the content and enjoy the ride.
613 reviews11 followers
April 27, 2019
This is a book in which I can agree with every point they make and still be disappointed. The technical parts (First steps, Walking and Running) distilled the knowledge you should know very nicely. The chapters end with the important question “When should I move to the next chapter?” and help you to grant yourself enough time to digest the ideas and practices you read about. That is where this book is great and why I would recommend it to developers trying to improve themselves.

But then comes the part called Flying. And with that part the problems of this book hit you like lightning. Here is on average a page or two used to explain a topic (like Impact Mapping, 5 Whys, User story mapping, and many more) – by far not enough space to even explain the basics. If you don’t know the idea beforehand, it could as well be left out and it would not make any difference. But those parts are the most important ones when it comes to agile development. How do you ensure that you develop the right things? Not with refactoring, unit tests and design patterns. Those are the tools you use to go faster, but going fast in the wrong direction doesn’t help you with being agile. Coming to that conclusion takes the sparkle of this book away and reduces it to the great mass of other agile books: They all focus on the technical aspects and totally forget about the customer…

In all fairness, the title of this book shows that it is focused on the technical aspects. For that I give it the 3 stars. However, that makes the part Flying even less explainable and more misplaced.
Profile Image for Marco Consolaro.
Author 3 books2 followers
Read
April 28, 2020
"One of the best new Continuous Integration books" - BookAuthority
The best new Continuous Integration books
Displaying 1 - 11 of 11 reviews

Can't find what you're looking for?

Get help and learn more about the design.