Friday, April 3, 2020

Top 5 books to learn Agile and Scrum for Programmers - Best of lot, Must Read

When I started my career, it was all waterfall model. You try, fail, and then with every version you get an improved version of the software. I pretty much used to this model of software development until I was introduced to Agile development methodologies in my next company. I was confused about Agile as some people say its Scrum and Sprint, other ways its XP and Kanban, etc. The confusion lasted for a long time because I was afraid of asking questions (afraid of being perceived as dumb and someone who wastes time on meetings) and only getting information in bits and pieces and I wasn't good at searching books at that time. From that experience, I learned that, when you have confusion and want to learn more about new technology, nothing is better than a book or online training courses to start with.

You learn all basic information like vocabulary, purpose, real-world usage, terminology which is important to understand what people are talking about a Scrum or Sprint Review/Planning meeting.

Since I am near, one book is never enough for me and I proud to collect a couple of best books on Agile development methodologies which taught me not only how to use Agile or Scrum or XP but why use Agile? Which I believe more important to learn than just standing on a Scrum meeting and saying what you are going to do today or what you have completed yesterday.

Many programmers don't understand that Agile provides a process, methodologies to develop complex software. It tries to bring some order in the randomness of time/money estimation and development of a Software.

It's very important for senior programmers to know Agile in today's world, as many companies are increasingly looking for Scrum Master jobs and expect their team lead, solution architect and senior developer good at Sprint, JIRA, Scrum and XP methodologies. Btw, if you prefer courses then you can also take a look at Agile Crash Course: Agile Project Management; Agile Delivery on Udemy. It's a great course to start with.





Best Agile, Scrum and XP Books for Programmers

Here is my collection of some of the best books to learn Agile methodology, Scrum meetings, XP, and Kanban methodology of project development and management. These books are a great resource for senior programmers who want to become Scrum Master as well as junior developers who want to understand how Agile works.

Btw, this is the second article on the books for Senior developers who want to become a project manager and solution architect or Java Architect, In the last article, I have shared some of the best books about software estimation and project management and in this article, I will share my top 5 books to learn Agile methodologies including Scrum and XP

Since Agile has become increasingly important in the last a couple of years and almost every project is using Agile techniques to meeting ever-changing client demands and business environments, it has also become a key skill to get a job as a programmer, software engineer and project managers. These books will get you up to speed on Agile methodologies.

Even though tools like JIRA have made adopting Agile very easy, you as a programmer must understand terminology and process mandated by Agile development methodologies.

A team that is not agile enough to react to today's business changing requirements is not going to provide the competitive edge technology is supposed to provide to the business.



1. The Art of Agile Development 1st Edition

This is one of the best books I have read on Agile so far. The Art of Agile Development is written by James Shore and Shane Warden and it teaches you not Scrum but XP methodology. Yes, I agree that Scrum is the most popular Agile methodologies in today's world and we all use it with the team but XP can also make a lot of difference if you connect with it.

Some of the best development practices I learn like Test Driver Development, Spiking and Evolutionary design are all because of XP. The good thing is that you can employ XP principles as an individual while working within a Scrum team or using Kanban.

In short, one of the best books to start with Agile Development and you must read irrespective of your experience. The book is equally useful for senior developers, Team lead, solution architects, project managers, as well as junior developers who actually develop and write code.

If you want, you can also combine this book with the Agile Fundamentals course on Udemy by Jeremy and Vivek Khatri, which also covers Scrum and Kanban along with Agile Fundamentals and updated.


Top 5 books to learn Agile






2. Essential Scrum: A Practical Guide to the Most Popular Agile Process

Since I started learning Agile by using XP, when it comes to Scrum I ask my team leader to recommend me a book and he says go look at Kenneth S. Rubin's Essential Scrum. Thankfully, we had a copy of this book in our library and no one has borrowed it for that week. I took the book on Friday and on that weekend I learned what is Scrum is all about.

Before reading this book, Scrum was to me it was just standing up on meeting and saying what you did yesterday, what you are going to today and what is blocking your way, but this book taught me how Scrum helps to bring order to a big project.

In short, one of the best books to learn Scrum methodologies, especially if you want to become a Scrum Master for your team. It's also one of the hottest job profiles in software development and many great companies and Investment Banks are looking for senior programmers who are also the Scrum Master.

This book can also help you with your Scrum Master certification preparation but if you want to prepare better, I also recommend joining The Scrum Certification Masterclass by Paul Ashun on Udemy. A great course to pass PSM and online scrum certification.

Top 5 books to learn Scrum Methodologies




3. Agile Estimating and Planning by Mike Cohn

One of the most difficult things in the software development world is an estimation. It's really difficult to predict how long a feature is going to take unless you complete knowledge of tools, domain, existing code base, a developer in hand, etc. There are too many variables and challenges and that's why I admire anyone who can predict accurately.

It's always like having some buffer time because of we never confident about our own estimation and planning. This book introduces a couple of nice techniques on estimation and planning like using Fibonacci for bucketing of estimates into story points.

Also, the idea of doing planning poker is an excellent idea and you should try that on your team. It's fun and helps with the task estimation which is the most tricky task in project management. I also recommend you join the Agile Crash Course: Agile Project Management course on Udemy to learn Agile better. It goes nicely with this book.

Best book to learn Agile





4. Scrum: The Art of Doing Twice the Work in Half the Time

This is another good book to learn about Scrum methodologies. The book is true to its title and popularly known as Sutherland's Scrum guide. I really enjoyed reading this book because of its like reading stories. The book is full of them and the author has used them to of explaining to you how Scrum works and the value of Scrum not just in software development but in real life as well.

One of the must-read books for senior Java developers and all those programmers who want to become the project manager of a software architect. You just can't miss this book if you want to grow in your career. n short, a good read if you like learning by stories, well, I certainly do.

If you want, you can also combine this book with the Scrum Fundamentals By David Starr course on Pluralsight. It's free for the whole of April as Pluralsight is helping people to learn online at this time.

Best book to learn Scrum






5. The Deadline: A Novel about Project Management

Agile sometimes can be a technical and boring topic and I seriously fall on sleep while reading books on Agile that's why I keep the reading session short and focused. But, this book is not boring because it's written in a novel style which means its interesting and easy to go through. 

This is one of the best books on Software Development, particularly for project management. It helps to get a better understanding of what software developers do and what motivates them. The best thing is that it's one of the easiest books to read on project management and software development.



If you feel bored or fall asleep while reading books on agile methodologies and project management then read this book, one of the interesting read of a project manager's experience about finishing a project with almost impossible deadlines.

It is very much like the Phoenix Project. If you haven't read that book yet, I highly recommend it, it's on DevOps and Automation but you will learn a lot about business, process, people and IT culture in general.


That's all about some of the best books to learn Agile development methodologies e.g Scrum, Kanban, Crystal, Lean, Sprint stories, and XP. You can pick the book of your choice but if you want my recommendation to start with the first book to learn Agile, read Essential Scrum or the second Scrum book on the list (Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland and JJ Sutherland) to know more about Scrum. Now, if are you confused about which one to chose totally depends upon which author you connect better, both are great books.


Other Recommended Books for Programmers


Thanks for reading this article. If you like these books then please share with your friends and colleagues. If you have any good book to learn Agile which is not on this list or any question or feedback then please drop a comment.

P. S. - If you prefer online courses and you need a free course to learn Agile and Project management then you can also check out this list of 5 Free Agile Courses for Programmers. It contains free courses from Udemy, Pluralsight, and Coursera on Agile, Scrum, and Project management.

2 comments: