Re: agile development and frameworks




"Phlip" <phlipcpp@xxxxxxxxx> wrote in message
news:EYnif.1934$fO5.1309@xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> Mike Gaab wrote:
>
>>>Just don't write more code than the current iteration's features need.
>>
>> Easier said than done. This is contrary to what I have been taught.
>> I have been taught to anticipate change by using a particular technique
>> or
>> pattern. It places me so far outside of my comfort zone that I think
>> I am going to miss something. But when I consider implementing
>> each feature set (story) in this manner I won't miss a thing. I will get
>> exactly what the client and the team has asked for nothing more.
>> What will be /missed/ is a bunch of structures that have been included
>> to anticipate what the client might ask for next.
>
> When you design the code for this iteration, you can't anticipate its
> future extensions?
> If the code will extend the same way it extends in this iteration, then
> removing duplication (with an eye towards the anticipated design), you can
> generally introduce abstractions that make the code easy to extend into
> this iteration's features. So the next iteration's will be easy.
>
> However, in the next iteration, the code may extend in a completely
> different way. The best way to account for your time to your customer is
> to _not_ charge for time, during this iteration, for those future
> extensions. Your goal is to increase your customer's options in each
> iteration. Remove code and features you don't need now, and if you must
> architect something then architect the negative space between your
> structures.
>
> Do not burden your customer with the cost of excessive design elements
> whose value must amortize over time. That implies you must write lots of
> tests, so you needn't fear change.
>

Thanks Philip. I appreciate your posts very much.

I am beginning to see some real benefit in the agile approach.
Not that it could be used on every project but definitely has its place.

If the entire dev process, from the first feature to latest feature, is
resilient to change and evolves the design, as needed, then any requirement
change will not be disasterous. You end up with a design that is extensible.
I think that is so cool. With this approach change is not the boogie man it
is with other processes that invest in so much in upfront design.

Mike



----== Posted via Newsfeeds.Com - Unlimited-Unrestricted-Secure Usenet News==----
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
.



Relevant Pages

  • Re: OOP/OOD Philosophy
    ... The methodology is well-documented. ... It is agile because the term 'extreme' as been so over-exposed that the ... > in which you do design can enable the team to respond to change, ... > that surveys of users have shown that nearly 50% of all features in a BDUF ...
    (comp.object)
  • =?windows-1252?Q?www=2Eelectronics=2Dmac=2Dsony=2Ecom___Motorola_KRZR_K1_Phon?= =?windows-12
    ... Product Features and Technical Details ... the KRZR K1 is the definitive handset for those who ... design, you get Bluetooth wireless technology, an integrated music ... detailing and premium materials shrouded within a distinctive metallic ...
    (alt.cellular.verizon)
  • Re: Code generation - Was: AOP in PHP - Was: OO in PHP
    ... It's called meta programming and though the concepts ... else (or there is no performance problem at all), ... There is much design humbug with respect to C++ and Java ... More features usually means more code. ...
    (comp.lang.php)
  • Re: OOP/OOD Philosophy
    ... in which you do design can enable the team to respond to change, ... Even Scrum, which is my area of practice, requires training for all members. ... We delivered the functionality that the customer desired, ... that surveys of users have shown that nearly 50% of all features in a BDUF ...
    (comp.object)
  • Re: agile development and frameworks
    ... >>Just don't write more code than the current iteration's features need. ... > to anticipate what the client might ask for next. ... When you design the code for this iteration, ... If the code will extend the same way it extends in this iteration, ...
    (comp.object)