Choose the Second One

  • Comments posted to this topic are about the item Choose the Second One

  • I'm sceptical about how this would work outside of academia.  By that, I mean that deadlines seriously curtail the time we would like to build things properly, much less design.  My colleagues have this thing they all call "the mythical phase two" where the project manager says "we will leave that for phase two" and there never is a phase two.

    This leads to Fred P. Brooks 2nd system effect.  When I read about that, I thought of my late Uncle telling me that, as far as a business is concerned, software is delivered in 3 versions

    • Version One - The business is not clear on what they want, what they can have and struggle to define what they need.
    • Version Two - The business and tech have grasped the art of the possible and throw everything but the kitchen sink into the product.
    • Version Three - The business has learned what is useful, what is not, and how much stuff costs to operate.  This is the system that becomes what they really want.

    I think that is realistic.  Certainly Microsoft products take a few versions to get right.  I also doubt that more time in design would short-circuit this.

  • I love the second-design idea! That's really cool for pushing people out of their comfort zone.

    On a similar angle, I like to ask, "Give me a few ways this solution will break." If they don't know of any, they're not done with the design yet (or they're not educated enough on their solution.)

    I also like to ask, "What different initial requirements would cause you to recommend a different solution?" For example, if we're picking where to store session state, and they say SQL Server will be fine, I wanna know, what's a situation where you wouldn't store session state in SQL Server? If they can't imagine any project requirements that would change their recommendation, then they're not done with the design (or they weren't educated enough on alternate solutions.)

  • David.Poole wrote:

    I'm sceptical about how this would work outside of academia. ...

    I am too, but as I thought about it, and listened to the idea again, it's not that you build two. It's more that you pick an approach and flesh out the high level. Then abandon that with a second approach.

    That I think can work, but it requires habit and discipline

  • Steve Jones - SSC Editor wrote:

    David.Poole wrote:

    I'm sceptical about how this would work outside of academia. ...

    I am too, but as I thought about it, and listened to the idea again, it's not that you build two. It's more that you pick an approach and flesh out the high level. Then abandon that with a second approach. That I think can work, but it requires habit and discipline

    I think it is a good idea in principle.  I read Alan Holub's posts on LinkedIn.  A lot of what he writes makes sense and is a good idea in principle. If you could get people to do what he says, then I am sure companies would reap huge benefits.  But it is the IF that kills it.

    Charlie Munger used the devil's advocate approach, so the evidence that it can work is writ large by Berkshire Hathaway.

  • Brent Ozar wrote:

    I love the second-design idea! That's really cool for pushing people out of their comfort zone. On a similar angle, I like to ask, "Give me a few ways this solution will break." If they don't know of any, they're not done with the design yet (or they're not educated enough on their solution.) I also like to ask, "What different initial requirements would cause you to recommend a different solution?" For example, if we're picking where to store session state, and they say SQL Server will be fine, I wanna know, what's a situation where you wouldn't store session state in SQL Server? If they can't imagine any project requirements that would change their recommendation, then they're not done with the design (or they weren't educated enough on alternate solutions.)

    Getting out of the comfort zone is important. Andy Warren taught me this, and taught me to game things out a bit. What about this going bad, or better. How does this change your initial design?

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic. Login to reply