Sunday, January 18, 2009

Ship It Review

Content of the book can be naturally divided into 3 parts:
- Code of Software Developer
- Advices about development tools and considerations
- Trace Bullet Development
I'll review each part independently.

Part dedicated to relations in developers team and management is absolutely brilliant. It gives wonderful inside to team dynamics, main factors influencing changes and intrateam relations. And most importantly it provides solutions for common problems of day-to-day developer’s life. No doubt, the chapter will be interesting for both newbies and seasoned team leaders.

Another part of the book is dedicated to development tools and processes. There is nothing novel here. In our days every developer knows Version Control System should present. And it would be better to have a continuous integration server if your team has more than 1 guy. So the part can be skipped if you have knowledge about modern development processes.

And the last part is dedicated to so-called Trace Bullet Development (TBD) process. While the wording sounds cool, usefulness of the process is rather arguable. Don't get me wrong; described design process (yes, this is not a Development process, this is a Software Design Process) will work. Creation of vertical of functioning system components is a good starting point for any project. But TBD pushes it forward too much. Interfaces created early tend to be error-prone. And after the interfaces were designed, they tend to become unchangeable. So line by line they become monsters which have no connection with the original elegant idea.

Concept of implementation of architecturally important user-stories or use-cases looks much better for me. Needless to say, as in any book there are several out-dated or even harmful advices. For example, "design all interfaces to be remote" . Such methodology used without appropriate care will make system too complex without real need.

Anyway, the book worth reading. This is the best masterpiece I’ve read since "The One Minute Manager".