views:

79

answers:

3

Recently our boss changed our method of working to first document stuff such as what we are going to code, how will it affect the system code, where would i require to make changes, etc, get it approved and then start the coding process.

I believe that while sometimes its better to plan out stuff and visualize things (especially for complicated changes), mostly of the times, its a lot better to directly code into the app and face real scenarios instead of theorizing.

Is my belief right in this case ?

+3  A: 

That would depend almost entirely on why your boss enacted this policy. If it's because you are a bunch of cowboys who push buggy code out to production with no sense of what that means to the user (and the reputation of your company), your boss is probably right.

If it's because some six-sigma type bod has come in and told your boss it's the right way to do things, I'd be circumspect.

As always, it depends on the circumstances (and you haven't really told us the whole picture). In any case, a couple of decade's experience has taught me that there are always ways around arbitrary limitations if you're clever enough :-)

Case in point: while we're not allowed to code new functionality without funding, we can (as a lab-type environment) put together a PoC (proof-of-concept) on our own dime, and then find that it's remarkably easy to get that to a production-quality solution.

paxdiablo
six-sigma! good one!
Mitch Wheat
Now this is a comment i like.As i said, Sometimes it is good to do documentation and then do code, I dont believe in doing it always.
Salvin Francis
If I was a scientist, I would conduct the experiment and try to understand the output rather than Theorize the output and then conduct the experiment, not that theorizing is not required at all...Programs are not written, they are coded
Salvin Francis
"we're not allowed to code new functionality without funding," i am getting a deja vu kinda feeling here, is that you boss ? :D
Salvin Francis
@Salvin, even scientists will concoct a theory *first*. They design the experiments to test the *theory*. They don't, for example, generally cut the head off a chicken just to see what will happen (well, not any more) - they tend to have an idea as to what might happen first.
paxdiablo
+1 six-sigma!!!
mynameiscoffey
who is "silvan" :) . yes, thats right, so i dont always cut chickens, but maybe sometimes, I do :)
Salvin Francis
Apologies for that @Salvin, fingers are a bit out of practice after a four-day, cold turkey from the computer, holiday with the family :-)
paxdiablo
no offense taken there paxdiablo. They say "If builders built built building the same way developers write code, the first woodpecker that came along will destroy all human civilization".
Salvin Francis
A: 

I have my reservations about requiring an approval process for this, but what you're describing sounds a lot like a Solution Architecture Document.

I don't think the boss is out of line for requesting this as long as the level of detail is broad and generic. Mapping out how and where you're going to implement a solution, along with demonstrating that you've put thought into different possible approaches to the problem is arguably good practice - especially in larger systems.

In essence, it demonstrates that you've done due diligence and put some thought and effort into finding the best possible solution to the business problem.

Phil.Wheeler
The classic thing of 'sometimes' vs 'always', What if the amount of time put into documentation > amount of time put into coding ?
Salvin Francis
+1  A: 

I'd have to go with your boss on this one. You really should know the answers to:

  • What (basically) am I going to code?
  • Why am I writing this code?
  • What risks are involved in writing this code?

If you can't answer these questions, the odds are pretty good that you will

  • have to try several times to get the code that addresses the problem
  • write unnecessary code
  • break something

Also, answering these questions will enable you to write the tests needed for the new code. You do write tests, right?

Matthew Flynn
thanks, suggestion appreciated.
Salvin Francis