Saturday, February 1, 2020

Top 5 Software Development and Project Management Books - Best of Lot, Must Read

Some of you might ask, Why software development project managers should read books? Isn't they are experienced enough to become a project manager and handle software development and manage Programmers? A genuine question, but Software management is harder than any other management purely because every Software or Project is different than the previous one. Many other streams of engineering, like Civil or Mechanical, got better in terms of estimation and management with the help of software, but software development is still run on experience.

There is no single, foolproof way to deliver quality software on time. Though you have Agile to help you, it's not the panacea of software development. Software management becomes even more tricky if the project manager doesn't have any software development experience, it might sound absurd, but it happens.

I have worked a couple of times with project managers who have no prior software development, coding, or support experience. Yet, some of them did a great job, but most of them are like why a particular feature cannot be done in one day? It becomes challenging to explain to them that you don't have the right tools and libraries to develop this feature, and it would take additional time to deliver that one.

Many a time I feel they think software programmers are tricking him, and when he flexes his muscle and force his way, which results in poor quality software with lots of bugs and brittle structure.

In this article, I am going to share some of the best project management and estimation books which will help the project manager, team lead, and software architects in their job. They also cover things like Agile and Scrum which is the modern way of Software development and Management and every project manager is expected to know them.



Best books to learn Software and Project Management

Here are some of the great books ever written on software development and project management. These books contain real-life experiences of people who have done software development and project management and have both success and failure.

It's been said that in order to be successful, it's just not enough to do what successful people but also to avoid, which leads to failure. These books will help you to learn those valuable lessons without actually spending the time they spent to learn. This learning will help you to mitigate risk and make professional software development less painful.


1. The Mythical Man-Month

This is two of the timeless book on software engineering and project management by Fred Brooks. The central theme of the book is that "adding manpower to a late software project makes it later." You might have heard that the famous joke that "a project manager is a person who thinks 9 mothers can deliver a baby in one month".

This book contains essays based on the experience of the author himself, who was working in IBM and managing the development of OS/360. This book has several useful advice and experience you can learn without managing the project by yourself.

If you are the one like me who enjoys reading stories about personal success and failure and learn from them, this is the best book you can read on project management. I also suggest you combine this book with the Beginning Project Management: Project Management Level One course which is more up-to-date and gives you the opportunity to learn how to apply the classical principles of project management in the real world.

best software project management books



2. Peopleware: Productive Projects and Teams

Peopleware is the second timeless classic on project management. If you guessed it right, just like hardware and software are two pillars of computer technology, Peopleware is also one of them. You don't necessarily have to agree with it, but you should probably read it if only to baseline the decisions you make.

 As an example, the chapter “Spaghetti Dinner” presents a fictional case of a manager inviting a new team over for dinner, then having them buy and prepare the meal as a group, in order to produce a first-team success.

Other chapters use real-life stories or cite various studies to illustrate the principles being presented. And, if you need a beginner project management course to combine with this book, Beginner's Guide to Project Management is good one to start with.

best software development books




3. Rapid Development: Taming Wild Software Schedules 

This is from Steve C. McConnel, one of my favorite writers and tremendously well respected in the programming world. Steve McConnell captures a lot of the development management ideas that Microsoft figured out in their first decade or so of developing software on a large scale.

This book gives you a different perspective of software engineering, the trade-offs, which I guess is the most practical thing you will learn. It's simply not possible to create a quality, feature-rich, do-everything software at low cost and quick time.

You need to make a trade-off, whether you want less feature but a robust software in quick time or a more feature-rich but delayed project. Steve McConnel has done an excellent job of explaining the practicality of software development and project management. 

Btw, if you are completely new on Management than Management Skills: Essentials for The New Manager course is another good resource I usually recommend to my friends and colleagues, who want to become Project Managers and Team lead.

books to learn software development




4. Software Estimation: Demystifying the Black Art

This is another excellent book from Steve McConnell on software estimation and project management. The process is rightly referred to as black art becomes of complexity and uncertainty around it.

Even after several decades of progress, there is no tool or process which can give you how much time it would take to develop software with a certain level of certainty. It heavily depends on factors like your team, whether you have the right kind of people to do the job, the tools, users who are giving requirements, and peoples who are taking requirements.

This book aims to teach you how to accurately estimate software development time frame.

books to learn software estimation and project management




5. Agile Estimating and Planning 1st Edition

This is one of the best books on software planning, and estimation drove by Agile methodology. The author, Mike Cohn, is one of the respected names in the Agile world and written several books on different areas of the agile, e.g. scrum, user stories, etc.

This book aims to provide deterministic approaches to software estimation and planning in today's dynamic and ever-changing projects. Even if you don't practice agile, it's an excellent book to learn about the modern software estimation process.

You can also combine this book with the Agile Crash Course: Agile Project Management; Agile Delivery course on Udemy to get some real-world experience. I generally do because sometimes I get bored while reading books and then turning to a course give me a new perspective of things. This course is also very practical or hands-on which effectively complements this book.

Software planning and estimation and management books


That's all about some of the best books project managers should read for less painful software development. If you are a programmer who is managing the development team, both local and remote, these books will help you to baseline your decisions. Don't think they are old, the content given on these books are timeless and still applicable to much of the software development we do.


Other programming books you may like to read.
Thank you for reading these far guys, if you find this article and suggestion useful, please share with your friends and colleagues, it does make a lot of difference. 

1 comment :

Anonymous said...

Good books, Can you please share some books which help in debugging? I am very poor at debugging and understanding complex systems and want to improve my understanding. For example, I am working in a Java + SQL Server application which has web components and core Java components but when a issue comes up I couldn't solve it in quick time. I am often clueless where to look.

Post a Comment