Beoynd Extreme Programming?
2 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Aleksi_Kallio
Posted On:   Thursday, August 2, 2001 02:11 PM

Change is handled in a very simple fashion in XP: implement in the easiest imaginable way and refactor in the future, if you need. One could rephrase this: take a requirement context (specifications) that includes everything that the software need to do today, and implement a piece of code that best matches those requirements. If the context changes, refactor the program. I find this an oversimplification in some projects. I would like emphasise the interplay of different contexts, different measures of quality. For example: performance is rarely considered when the architechture of the application is designed. This was true for many web-applications in the beginning, but when it became clear how big slow RPC-calls were in distributed object systems (EJB),    More>>

Change is handled in a very simple fashion in XP: implement in the easiest imaginable way and refactor in the future, if you need. One could rephrase this: take a requirement context (specifications) that includes everything that the software need to do today, and implement a piece of code that best matches those requirements. If the context changes, refactor the program.



I find this an oversimplification in some projects. I would like emphasise the interplay of different contexts, different measures of quality. For example: performance is rarely considered when the architechture of the application is designed. This was true for many web-applications in the beginning, but when it became clear how big slow RPC-calls were in distributed object systems (EJB), performance issues had an effect on the overall architechture. What was considered optimal wasn't it anymore from new and richer context.



By analysing the contexts which are existent for the application priceless information and insight could be gained. What I'm asking is that has someone refined these unmatured ideas? Has someone developed something, a methodology or a supporting product, that makes shifts between different contexts easier?



This issue is not overlooked by big players, MS for example with its EAI-solution BizTalk. BizTalk offers a technical solution for application integration, but doesn't provide a bridge over the different contexts in which the applications have been born. Integration servers are mere XML movers and transformers and lack theoretical ground to really make a new kind of application development possible. Do you agree?

   <<Less

Simple Design

Posted By:   Anonymous  
Posted On:   Monday, August 20, 2001 07:49 AM

"Change is handled in a very simple fashion in XP: implement in the easiest imaginable way"

This is only the first step, one of the two meanings of simplest in XP.

"and refactor in the future, if you need."

The second step in XP is to immediately refactor the running code into the simplest design, where now simplest means 'most maintainable, extensible'. One of the most important parts of this is to remove duplication (See http://c2.com/cgi/wiki?OnceAndOnlyOnce).

Therefore in XP you would strive for encoding the use of RPC in just one place, hiding this detail from as much code as possible. AOP might be the right tool in some cases.

Re: Beoynd Extreme Programming?

Posted By:   Aleksi_Kallio  
Posted On:   Monday, August 13, 2001 04:31 AM

I don't know how clear the question was, but I luckily found answer myself: aspect-oriented programming is quite likely what I looked for.



In case you are interested in AOP with Java, take a look at http://www.parc.xerox.com/aop and http://aspectj.org. I highly recommend these for every Java developer!

About | Sitemap | Contact