Warning: include(api.php): failed to open stream: No such file or directory in /home/shapings/public_html/wp-content/themes/arthemia/functions.php on line 2

Warning: include(): Failed opening 'api.php' for inclusion (include_path='.:/usr/local/php55/pear') in /home/shapings/public_html/wp-content/themes/arthemia/functions.php on line 2
Shaping Software » Blog Archive » Periodic Design Refactoring
Home » Architecture

Periodic Design Refactoring

23 June 2008 4 Comments

In Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Ian F. Alexander and Neil Maiden mention periodic design refactoring:

A variant of the Incremental model appears to be the ‘Extreme Programing (XP)’ approach put forward in Beck (2000) in which integrity of the system architecture across all increments is maintained by periodic design ‘refactoring.’

While I’m not a fan of Big Design Up Front, I am a fan leveraging the following techniques up front to help reduce risk:

  • System stories up front (where system stories include the ‘ilities and quality attributes, such as performance, security, reliability, … etc.)
  • Architectural spikes (time-boxed exploration to do some focused, end-to-end tests around high-risk areas)
  • Candidate architectures
  • Tests for success

I think these lightweight techniques help avoid dead-ends and help you figure out what you know, don’t know, and need to know next.