Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

If you have some non-technical people managing your software development team, is there a book you'd want them to read to understand the process better?

For example, in most work, you can pretty well estimate how long a task will take. But in development, the whole point is that you have to figure out the problem, which takes unknown time. This is hard to communicate.

Anything you know of that explains this well?

share|improve this question
2  
Related: stackoverflow.com/questions/4012628/… – Maglob Feb 4 '11 at 18:29
3  
Careful presenting that to management, they could easily perceive it as you saying "You should read this so you suck less." Which they probably won't take kindly to. – Ben Feb 4 '11 at 19:45
@Ben - The truth hurts! – Shawn D. Oct 2 '11 at 20:07
So for something simple and fast to read there is Head First Software Development. – RygelXVI Oct 3 '11 at 3:11

closed as not constructive by gnat, Martijn Pieters, Thomas Owens Apr 14 at 10:59

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

7 Answers

up vote 13 down vote accepted

"Peopleware" and "Mythical Man Month" would be a couple of classics though I'm not sure how well management would take to reading either book as they may be seen as old.

share|improve this answer
5  
If management does not understand that a manager's job is not technical but sociological in nature... well, one more reason why they should read these :-) Human nature doesn't change in a mere couple of decades. – Péter Török Feb 4 '11 at 22:04
Agree that they're both a bit too old and also, probably too technical for "non-technical managers" – mcottle Oct 3 '11 at 6:32
Peopleware is a timeless book, read it a month ago and still very recognizable. Besides that, it was updated with a second edition a decade ago. – Carra Oct 3 '11 at 9:17
Though I'll concede that it might be too technical, I'd argue that MMM isn't too old at all - when I read it, I was astounded that a book written 30 years ago by a guy who got his experience 40 years ago could still be so spot on and have so much to teach. The fact that I've never gone near any of the technologies he references, but that the book still speaks to people, is a testament to it's timelessness. – SqlRyan Nov 6 '12 at 18:05

Get Facts and Fallacies of Software Engineering.

EDIT

This book is easy to read, and easy to snipe paragraphs from for management. It focuses on the issues of software development from the distance of knowing nothing about it. At the time, I had similar issues to OP, and working with my manager and this book, I manage to convince him that I need more time and resources to complete my tasks.

However, I've recently seen a lot of stuff in that book contradicted. As ever, I wouldn't recommend anyone reading anything in the social studies anyway. It's all too wishy washy and changes from day to day.

share|improve this answer
would you mind explaining more on what it does and what it's good for? "Link-only answers" are not quite welcome at Stack Exchange – gnat Apr 14 at 7:36
@gnat, yeah just like the accepted answer. ;) – Gleno Apr 14 at 20:47

Not a book, but I've had good success directing (reasonably bright) non-technical managers to Joel on Software.

share|improve this answer
+1 here. This blog (along with Eric Sink's "Business of Software" (ericsink.com/bos/Business_of_Software.html - though much more technical recently than it used to be) put IT in very clear business terms that non-technical people can digest. In the end, IT has to provide value and is only different in how it accomplishes the goal, not the goal it accomplishes. – SqlRyan Nov 6 '12 at 18:08
would you mind explaining more on what it does and what it's good for? "Link-only answers" are not quite welcome at Stack Exchange – gnat Apr 14 at 7:35

In terms of Software development process, I'd have to go with "The Pragmatic Programmer: From Journeyman to Master" by Andy Hunt and Dave Thomas. Its full of gems of useful knowledge that would typically take a lot of actual real-world programming experience to learn otherwise. It is also programming language-agnostic and is mostly easy to understand.

In terms of estimation, the pragmatic programmer has a brief section about it, but the classic "The Mythical Man Month" by Fred P. Brooks would have to be worth reading. Some of the project examples seem a little dated but much of the ideas still ring true today.

share|improve this answer

For software process and project management, I have to recommend Steve McConnell's Rapid Development: Taming Wild Software Schedules and Software Project Survival Guide. These books discuss topics ranging from classic mistakes in managing software projects to managing risks to explanations of best practices and when how to appropriately apply them.

Jim McCarthy's Dynamics of Software Development also provides some interesting insights into how software teams work and provides tips and tricks for optimizing software projects, based on real-world cases.

share|improve this answer
1  
You may want to adjust the link for "Software Project Survival Guide" to point to: amazon.com/Software-Project-Survival-Guide-Practices/dp/… – Emmad Kareem Oct 2 '11 at 22:35
@Emmad Thanks for that. – Thomas Owens Oct 2 '11 at 23:00
+1 The Software Project Survival Guide is designed for this. – mcottle Oct 3 '11 at 6:30

Possibly "The Art of Agile Development". This may convince them to look at managing software projects in a more realistic way. Of course, if you don't want them to try agile, that may be a bad thing. But I'm finding it a compelling read myself.

share|improve this answer

Perfect Software: and other illusions about testing should be another book you get them.

From the preface, here are some of the questions it discusses:

"Why do we have to bother testing when it just seems to slow us down?

Why can't people just build software right, so it doesn't need testing?

Do we have to test everything?

Why not just test everything?

What is it that makes testing so hard?

Why does testing take so long?

Is perfect software even possible?

Why can't we just accept a few bugs?"

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.