Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: Developer Accountability

by chromatic (Archbishop)
on Apr 29, 2003 at 16:50 UTC ( #254089=note: print w/replies, xml ) Need Help??

in reply to Developer Accountability

How do you explain that two extra weeks of planning now could save us four weeks of change and bug chasing on the back end?

I don't.

After reading Pete McBreen's Software Crafstmanship, I think there's a big difference between the kind of software NASA writes and the kind of software most of the rest of us write.

Yeah, they did make a really really big mistake by not communicating with each other -- but I don't think adopting the rest of their development practices is going to be very effective for business and open source development.

I think the real problem is pretty simple. We're not solving the users' most important needs. The solution to that is also pretty simple. Get your customer involved as soon as possible and keep him involved.

Imagine how much time and effort you could save if you could ask the customer, "What's the most important thing this software could do that we could implement in the next week?" Suppose then you implement it and the customer is right there to say, "Not quite right, just a little different, okay perfect!"

Call that better QA or development lifecycles if you like. I'm just convinced that getting feedback early and often and acting on it all the time is a much better way to write good software than hoping your one-, three-, or six-month-old plan got everything right.

There are lots of ways to handle the rest of the issues -- testing, refactoring, pair programming -- but the way to provide useful, effective software is to be in constant communication with the actual customer.

Replies are listed 'Best First'.
Re: Re: Developer Accountability
by cacharbe (Curate) on Apr 29, 2003 at 20:38 UTC

    I agree that the customer should be involved from the beginning, and that a project plan at it's end is never what it looked like in the beginning or even half-way through, but I also believe that you should have a plan. Many development groups don't, and it shows.

    If the life cycle is(briefly):
    • getting specifications
    • planing
    • coding
    • testing
    • rinse repeat

    Then you are coming back around to getting specifications, but you are also coming back around to the planning stage.

    Too much code that I see being written is being written with sketchy specifications and planning with too many changes during the code and test phase because the specification and implementation plans are poorly thought out and implemented. I don't know, maybe it's just the environments that I have been in, but I get the feeling that it is the same all over.

    I always get a top 20 list from a customer (for instance), and then we narrow it down to five or ten features that are the most important, rank them, and then add others as we hit our milestones. I'm not ignorant to changing specifications, or what good design specification, customer interaction and feed back are, I'm just suggesting that it needs to happen on a larger scale. And part of that communication also works toward expectation-management, which is a key factor, in my opinion. No going off into a sealed chamber to create, but everything done in front of the customer, so that their opinion counts, but it is shaped by what they see as possible and what is being accomplsihed.



    Flex the Geek

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://254089]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (8)
As of 2021-01-21 14:12 GMT
Find Nodes?
    Voting Booth?