"I'm not going
to slip schedule for architectural niceties"
This is what my
very-long-time-ago boss said to me when I suggested we make a change. He was a great guy - very technical and had
experience shipping and supporting all kinds of hardware and software products. But the words stung. I recalled these words on another project
where I was designing something for another group in the enterprise. They needed the design done yesterday so the
schedule pressure was high. They were
already behind schedule. When I
suggested a change that would increase the robustness of the design, but would
be more time, the systems engineer flatly rejected it. "The engineer working on it only knows
this one way on how to do things.
Besides we need to finish this."
Oh.
Certainly, designing
for today and not tomorrow is something I adhere to in practice. In Kent Beck's Extreme Programming (http://en.wikipedia.org/wiki/Extreme_programming)
he describes four values, one of which is courage. It does take courage to
design and code for today and not for tomorrow.
We engineers love "what if" scenarios. However, it requires a lot of courage to
refactor something - to throw it away and rewrite it when it no longer works or
is holding back progress in the overall system.
Management also needs courage to allow engineers to do this refactoring
as sometimes it doesn't add any new functionality but allows the system to more
agile to other required changes.
One project I worked
on we had management approval to rewrite a whole swath of code that was
generated by an obsolete tool. The tool
and the company that sold it were gone but the code we had in our system
remained. When functionality had to be
added we coded around this generated code creating solutions that were
downright awful. Finally we had enough
and we wiped out the whole thing and rewrote it. It took months with several engineers
involved. It was completely worth
it. And we had the courage to do it.
In another project
we found out we did the wrong design.
Unfortunately we already released the interfaces and they could not be
changed. So we added in another wedge of code that was somewhat duplicative but
was the design we should have done. I
recently was talking with another engineer and she pointed out the problems in
this code. I cringed. I remember having to do the work and was just
horrified at the solution I created. But
hey, we were under schedule pressure. We
had to fix this and fix it quickly.
So as much as I want
to believe I take the architectural high road, I don't. I realize I have to have the courage to
refactor these things. Off to talk with
my boss…it is a different person so maybe he will appreciate architectural
niceties.
very nice post
ReplyDeleteWebsite Development in India
Nice information .. Thanks
ReplyDeleteSEO company in delhi ncr
Good post....thanks for sharing.. very useful for me i will bookmark this for my future needs. Thanks.
ReplyDeletesoftware development company
Your post will be rather good, and I’m sure some will find it interesting because it’s about a topic that’s as widely discussed as others. Some may even find it useful.Thanks so much for your post.
ReplyDeletearchitectural model maker in delhi
1nike shoes
ReplyDeletefitflops sale
juicy couture
supras
michael jordan shoes
new balance shoes
abercrombie and fitch outlet store
christian louboutin outlet
jordan 11
coach shoes for women
coach glasses
christian louboutin shoes
coach bags outlet
north face outlet 70% off
louboutin shoes
fendi bags
vans shoes
jordan shoes
hermes scarf
all jordan shoes
air jordan 14
nike air max 2015
coach purses clearance
gucci outlet
oakley sunglasses
ferragamo outlet
michael kors outlet online sale
jordan 6s
jordan shoes
supra shoes
michael kors outlet
nike outlet
north face women's
fitflop shoes
clarks shoes
nike outlet
fitflops clearance
ugg boots
michael kors outlet store
cheap jordan shoes
coach outlet
hermes outlet online
burberry sale
nike outlet store online
1021hxt
2coach purses outlet
ReplyDeleteugg boots on sale 70% off
north face outlet
ralph lauren shirts
canada goose sale
juicy couture handbags
michael kors outlet online
coach factory outlet
oakley outlet
fitflops sale clearance
canada goose outlet sale
jordan shoes for cheap
coach online outlet
hermes birkin bag
jordans shoes for women
toms shoes
columbia sportswear
new balance running shoes
polo outlet
michael kors purses sale
fitflops sale
coach clearance
nike heels
michael kors bags sale
canada goose jackets
vans shoes
coach outlet store online
gucci outlet
canada goose outlet
coach purses outlet
coach factory outlet online
toms outlet
hermes birkin bag
christian louboutin outlet
michael kors handbags clearance outlet
cheap michael kors bags
under armour outlet stores
red jordans
mont blanc pens
jordan outlet
lebron 12
nike outlet
under armour shoes
north face sale
1021hxt
Really, I am impressed from this post. The person who create this post is truly great. Thanks for sharing this with us. I found this informative and interesting blog so I think its very useful and knowledgeable. I would like to thank you for the efforts you have made in writing this article.
ReplyDeletecorel painter for Mac
Hi admin,
ReplyDeleteyour post is very special for us.I think quotes are very special for everyday life. I have collected many quotes from you.
Interesting story you have shared it is useful and getting a lot of new thing its really nice and making best thing.
ReplyDelete___________________
Paint tool sai mac
In a Digital world, first impressions are vital and an outstanding Software Design is the key to success. Let our team help your site make an outstanding first impression with speed and accessibility: Technology Company in India
ReplyDelete