Book Image

Agile Technical Practices Distilled

By : Pedro M. Santos, Marco Consolaro, Alessandro Di Gioia
Book Image

Agile Technical Practices Distilled

By: Pedro M. Santos, Marco Consolaro, Alessandro Di Gioia

Overview of this book

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.
Table of Contents (31 chapters)
Free Chapter
1
Section 1
7
Section 2
13
Section 3
19
Section 4
25
Chapter 21
28
License: CyberDojo

Acknowledgements

Pedro

This book is for my love and life companion, Nucha. Without her, I would not be what I am.

I dedicate this book to my sons – Diogo, Vasco, and André.

I also dedicate this book to my mother, Odete Pinto, for her love and all she sacrificed to allow me to become what I am today.

Finally, I dedicate this book to my brother, João Moreira Santos – a brother, a friend, and an example.

I would like to thank many others that also helped shape me. I'm only standing on the shoulders of giants. First, to my grandparents – Eduardo Ferreira dos Santos, Maria Augusta Moreira, Rosa Pinto, and Pedro Pinto; my uncles – Antonio Moreira and Fernando Moreira; my friends – Sergio Antunes, Fernando Silva, Pedro Pinto, António (Tó) Nunes, Nuno Joaquinito, Jorge Silva, Pedro Friezas, Edin Kapic, Ger Mán, Samir Talwar, Sandro Mancuso, Guillem Fernandez, Marcos Grau, and Robert Firek; my high school teachers – Maria Barroso, Carlos, Daniel, and Franco; my coauthors and friends, Marco Consolaro and Alessandro Di Gioia, and, finally, to my very dear and missed friend, Nelson dos Santos Costa.

"Se a vida fosse curta todos os homens seriam poetas."

Marco

Firstly, I want to dedicate this book to my family. My wife, Joanna Kathlyn, for the support and the patience of dealing with me in everyday life; my mum, Mariuccia, for always believing in me; and my cousin, Devis Cracco, who let me play with his Commodore when we were kids. This book couldn't be possible without you.

A special mention goes to my dear and still missed father, Stefano, who passed away almost two decades ago, even before my graduation – his greatest wish. His example has been the main cornerstone of my education and I am proud of always being the one defending the Truth, free critical thinking, and respect for others – no matter what.

I am sure you would be proud of who I am and of the achievement of writing this book. I hope to be able to do the same good job with your grandson, Jaden Stefano, the latest, greatest joy of our family. And thanks to you, Jaden, for taking out the best of us all!

Next, I want to thank here my high school's informatics teacher, Paola Trappolin, for the patience she had with me in those years. She was very disappointed with my lack of discipline, but never let that jeopardize my motivation, recognizing and honestly appreciating my talent.

The same was also true for my math teacher, Paolo Quadri, who recently passed to a better life. Thank you for leading and teaching by example, not just with words. The world needs more teachers like you!

Ultimately, I want to mention a few top quality professionals I met during my career who share the same values and, with time, became inevitably great friends. They have always been very supportive and genuinely excited about this work. People such as Nick Tune, Joao Fernandes, Eldon Ferran De Pol, Michele Leonetti, Claudio Perrone, and, obviously, Pedro and Alex, the other four hands on this book. Thanks for never making me feel alone in the holistic, everyday battle for improving the general quality of software development. We are still a minority, but this book might help the cause!

A special final mention to Sandro Mancuso and the fantastic Codurance's gang where Pedro, Alex, and me initially met: the seed of this book has been planted there. Thank you for being the great environment where our destiny crossed and changed!

Alessandro

Not even in my prayers and my dreams, I was hoping for you to achieve all of this. Your accomplishments are proof that I did well as a father. This is what my father told me just some months ago after 5 years since I moved from Italy. The truth is without my parents, their support, their trust and faith in what I and my sister could do I wouldn’t have done much. So I want to dedicate this book to my parents Gianpaolo and Rosaria, and to my lovely little sister Eleonora. Thinking of you all makes me feel at home anywhere. I also want to dedicate this book to one special person in my life, my love, friend and sparring partner Giulia. 13 years and not feeling them. This book is also dedicated to my Kung Fu teacher, Master Yang Lin Sheng and his family. He accepted me as one of his students almost twenty years ago and showed me the real meaning of Kung Fu. It is a lifelong lesson to learn but I am enjoying every single step in this journey. Finally, I want to dedicate this book to a special person that since I was a child represented the symbol of intelligence, competence, hard work and success. My cousin Antonio Magrì which saw all of this more than 30 years ago. I will never forget you. There are many people that helped me improve, grow and keep up in hard times. My friend and mentor Pedro Moreira dos Santos, my apprentice Halima Koundi, my friends: Mike J. Sullivan you’ll go far, a software designer talent Marco Consolaro, friends and real rock star developers Frode Hus, Jarle Nigård, Anders Østhus, Jith Ponrasa, Lorenzo Tandin and Andrea Germani, my reality check Ed Pollit, Steve Lydford I’ll never forget our long talks coaching each other, the two master craftsmen Sandro Mancuso and Mashooq Badar, my “brothers” Stefano Nava, Luca Recalcati, Antonello Italiano, Giorgio Banfi, Riccardo Oriani and “sisters” Sara Leva, Alessandra Dell’Orco, Marzia Palladino and all the amazing people I had the pleasure to meet at Codurance.

Conventions

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "The GetTask method returns the next task to execute on the instrument."

A block of code is set as follows:

var username = new Random().Next(1, 11) % 2 == 0
              ? "Pedro"
              : string.Empty;

New terms and important words are shown in bold. Words that you see on the screen, for example, in menus or dialog boxes, appear in the text like this: "This has the consequence of testing the test infrastructure rather than the Subject Under Test."