Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re: Re: Re: Best way to 'add modules' to web app?

by IlyaM (Parson)
on Jul 05, 2003 at 12:28 UTC ( #271617=note: print w/replies, xml ) Need Help??

in reply to Re: Re: Best way to 'add modules' to web app?
in thread Best way to 'add modules' to web app?

chromatic is obviously advocating YAGNI approach to solve design problems. In short the idea is that you split your development process in short iterations: in each iteration you select functionality to implement, then you design the system in the simpliest possible way to pass functional tests. While doing it you religiosly refactor code to remove code smells (i.e. code dublication, too big methods and subs, etc). In my experience it is actually very efficient approach which at the end produces more high quality and more flexible code compared with water fall style development process when you try to design everything from the begining. Too often initial assumptions became wrong assumptions, functional requirements change and end result becomes big ball of mud.

Word of warning though. If you try to develop using YAGNI way then TDD is a must, constant refactoring is a must. If you don't follow these practices you'd better stick with waterfall way or result will be a disaster. In a sence waterfall is simplier model though less effective.

Ilya Martynov,
Quality Perl Programming and Unix Support UK managed @ offshore prices -
Personal website -

  • Comment on Re: Re: Re: Best way to 'add modules' to web app?

Replies are listed 'Best First'.
Re: Re: Re: Re: Best way to 'add modules' to web app?
by chunlou (Curate) on Jul 05, 2003 at 15:42 UTC
    It might be useful to emphasize that the "testing" during the iterations could have two parts. One is the testing against functional (or technical) spec, as mentioned. Another against user req, which involves account manager, client, point of contact or whomever.

    It would be good to know that while you're hacking the code, your marketing folks have changed the "name" of the product from Performance Appraisal to Goal Management... so that you won't be surprised two months later, the marketing material given to clients doesn't sound quite the same as the spec you've built your app on.

    In other words, a challenge of planning and its implementation is that your target is moving.

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (4)
As of 2020-06-04 21:59 GMT
Find Nodes?
    Voting Booth?
    Do you really want to know if there is extraterrestrial life?

    Results (35 votes). Check out past polls.