I've recently worked on improving our development processes by working through McConnells "Rapid Development" and "Software Project Survival Guide".

One area of weakness I've identified here is software design - we either skip it completely or only do it from a modularisation perspective. Once I had this awareness, I found numerous examples of bus that would have been found by designing first, ie. creating mock functions, files etc.

I have however difficulties formalising this for myself and (expectantly) difficulties to transfer the knowledge to my employee.

Can someone recommend books in this area that could be helpful. We are working in an environment of web based applications, mostly within the Symfony and Joomla frameworks.

  • Is your problem question about representation or knowledge? Software architecture or detailed design?
    – Michael
    Commented Jan 29, 2012 at 2:41
  • both knowledge and representation referring to detailed design mainly, but also covering software architecture. The Doug Rosenberg book below was a very good suggestion, as it outlines a short process that can be implemented. But I'm open to other suggestions as well.
    – jdog
    Commented Jan 30, 2012 at 20:53

1 Answer 1


You could refer: Use Case Driven Object Modeling with UML: Theory and Practice by Doug Rosenberg and Matt Stephens and Design Driven Testing (same authors).

They walk you through to a very step by step approach to go from use-cases to robustness diagrams to sequence diagrams and then to code.

The latter book also focuses on the testing aspect and adds details about how to to 'test smarter'.

Both are great books for improving the development process. They are generic books but the way to approach software development is beautifully explained and are worthwhile books on a developer's bookshelf. The most valuable concept is that of robustness analysis IMHO.

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