Software projects reading list

Tagged:

The list of software projects-related books and resources I consider the most interesting / useful.

It is a (completely subjective) selection of the books and resources I consider useful to read for everybody working on anything related to software engineering.

This list is influenced by several factors:

  • Me switching jobs and reflecting on my work experience.
  • Some folks from my last job asking for advice.
  • Trying to increase the chances of anyone actually using it (= keeping the number of items low ⇒ including only the most important items)

I’ll provide all the links to Amazon just for consistency (don’t worry, no affiliate links ), but most of these are also available via the alternate means.

For SWEs and non-SWEs

  • Peopleware: Productive Projects and Teams: IMHO this is one of the most important books to read about software project management, if you read only one book from this list - read this one. The main claim (which I fully agree with) is “The major problems of our work are not so much technological as sociological in nature”, and the rest of the book examines this in much more detail with multiple stories, studies and examples.

    Some of the further books recommended below are by the same authors, which tells either that I’m totally not objective to them or that the authors are really great - you decide

  • Death March: very good analysis of “impossible” projects, what leads to these and how to recognize them, deal with them and reduce the damage. Sadly, I have to highly recommend reading this one.

  • Waltzing with Bears: Managing Risk on Software Projects: very good intro into recognizing, acknowledging and dealing with projects risks. Somewhat related to projects estimation (see below) but without more “technical” aspects.

  • Software Estimation: Demystifying the Black Art: more structured and technical explanation of software estimation practices (still very accessible, though), as well as typical pitfalls encountered and tips on handling these.

There are also some “novel-like” books about the project management that tell their points in the form of a story. Among these I can recommend the following ones:

Mostly for SWEs

Here are some resources that are more SWE-geared:

  • The Pragmatic Programmer: handles lots of aspects of software engineering, from selecting the right tools to the ways to stay relevant in the fast-changing software engineering field.

  • Code Complete: very comprehensive book on multiple aspects of coding, but also software development in general.

Note that I’m not including any references to the books that are specifically about particular development methodologies. This is not because you shouldn’t use any (you should!) but because these are more dependent on particular project’s situation, what team members are familiar with and, in general, are less important than the basics described above. If you have “jelled team”, they’ll figure out something anyway, whereas for the team that committed “teamicide” no methodology is going to save the project.

Also, most methodologies operate with roughly the same concepts, so if you can’t figure out what you’re trying to build and how to make sure that’s what customers need - you’ll fail regardless of whether you’re using XP, Scrum or (gasp!) Waterfall.

ML-related resources

For those who are interested in all that ML hype but haven’t gotten into it just yet - here are some resources as well:

Extra

Extra resources, just in case you’ve read already all the resources above and want more

  • Mythical Man-Month: one of the classics of software project management, while first published in 1975 - most of the findings are still relevant today. OTOH, more recent books like Peopleware absorbed majority of these findings, so nowadays, while still fun to read - it’s mostly relevant from the historical perspective and as a sad testament to how little the industry changed in the last half of a century (not even speaking about the changes to the worse …)

  • Adrenaline Junkies and Template Zombies: the collection of patterns (and anti-patterns) of people’s behavior in software projects.

  • A Guide to the Project Management Body of Knowledge: if you’re really into project management and, especially, into more formalized versions of it and / or consider getting PMP certification at some point, this is the book for you. Generally, PMBoK is not software-specific but is generic enough to be used in all areas where project management is needed. It’s more geared towards larger organizations that need to manage multiple projects and can establish the repeatable processes across these projects. Don’t count on using these processes in majority of modern software companies, though.

  • Joel on Software blog: some of the posts might be a bit provocative and / or categorical, but I believe many are really insightful. You can start with Top 10 list or, if you really have time to read only one - read The Joel Test: 12 Steps to Better Code.

  • Managing Humans: more like a collection of management essays from the blog of the author, but many are interesting. Try reading The Rands Test (the homage to Joel’s test above, but about the management) and Shields Down, if you liked these - you might consider reading the book as well.

  • Bad Blood: Secrets and Lies in a Silicon Valley Startup: not about software development or project management per se, but still highly recommended. A cautionary tale of “fake it till you make it” taken too far. Try really hard to not become the subject of the next book like this

  • http://softwarecost.org/tools/COCOMO/: one of online implementations of COCOMO II software sizing model. I’d recommend to read the “Software Estimation: Demystifying the Black Art” book first, but if you’re really in a hurry - try playing with this calculator, just don’t forget to put the right adjustment factors in and don’t flatter yourself - the mere fact you have to use this calculator instead of using historical data for your organization means that most of the “capabilities” and “experiences” are below “normal”.

I’d be happy to hear about the omissions from this list, that is - are there any really good books or resources that I’ve missed? Feel free to let me know

I might also update this list in the next several months with some of the books that I have scheduled to read already if they turn out to be really good.

Syndicate content