views:

119

answers:

5

A lot of books out there teach you about "best practices" for managing software projects. Granted, sometimes even with best effort and planning, things sometimes still can go awry. Sometimes you just don't get lucky, and get to work on a project that just sucks. Just to name a few of these situations:

  • Unable to implement all the required features by deadline
  • Working on projects without sufficient funds
  • Leading a project with a lot of fresh (but inexperienced) college graduates

Are there software project management books out there that address and offer pragmatic solutions for these types of non-ideal situations?

+3  A: 

The best book I ever read about project management was Ed Yourdon's "Death March", a book about projects that were exactly what you describe.

paxdiablo
+1 for beating me too it. Look no furhter, @ShaChris23
LeonixSolutions
Thanks. I will be sure to get it.
ShaChris23
I started reading part of the book now, and, man, it's awesome.
ShaChris23
+1 - Just started checking this book out. Very excellent recommendation.
JasCav
+1  A: 

For the first two, Software Estimation: Demystifying the Black Art might help. For the last, Organizational Patterns of Agile Software Development.

ChrisW
+1 for Steve McConnell. I would recommend buying every book he ever wrote, each one is a classic
LeonixSolutions
+1  A: 

I don't know of any books off-hand that address dealing with these non-ideal issues, but it sounds like you've already read about best practices and the "happy path" for project management. When stuck in a non-ideal situation (the glib answer would be to tell you to get out of that situation, but I understand that this isn't always possible), most of the success I've seen on these types of projects has always been to manage risk.

* Unable to implement all the required features by deadline
* Working on projects without sufficient funds
* Leading a project with a lot of fresh college-graduates

Some possible solutions to the particular cases you list:

  • Manage expectations with the client, work towards an incremental release structure if possible. This is largely dependent on why the required features can't be implemented - because of feature creep from the customer, development time was longer than expected, etc. There are usually signs that things are slipping that can help to mitigate this, but when all else fails, try to reset expectations with the client.
  • Not sufficient funds...is tough. I haven't run into that particular situation before, and have no good advice to offer.
  • Lot of fresh college graduates - by this, I'm taken to mean inexperienced in general, and not something specific to fresh college grads. In those cases, although you want them to spin up quickly, there will more than likely be negative work produced as they train up. See if it is possible to task them with work that is smaller and less prone to slippage given their experience, while making sure it challenges and expands their skill set. It's a fine line to not overwhelm them, but make sure that they uptake everything as quickly as possible.

If I may ask, are you currently stuck in such a situation?

Robert Hui
@Robert: Yup. I'm not that fortunate; I'm working at a company where I have been through all of the bullet points (and more that I didn't list =( ). On the other hand, I'm a bookworm, and am just fascinated by the practices that __other__ companies do. That's why I'm looking forward to join companies that do software the right way. Having said that, I think these non-ideal situations' do happen, even to the best of us. That's why I think "reusing" the solutions/insight that people have learned the hard way (by reading about it) is a good idea. Thanks for the insightful post.
ShaChris23
+2  A: 

97 Things every Project Manager should know is a good and quick read. You can get it on the iPhone for £2.99 as an eBook.

Fortyrunner
A: 

If the books the others offered you are not enough. I think that Toyota "Lean manufacturing" will have very important insights - since this method keep looking for malfunction and ways to fix them. There are many good books on the subject.. peak the top at amazon if you find the subject interesting.

Asaf