Channels ▼

Cameron and Tracey Hughes

Dr. Dobb's Bloggers

Paradigm Shifting Comes At a Cost: Is It Worth It?

August 26, 2010

We are asked the question about retrofitting single threaded or single tasking applications allot. Why? If it's not broke, then leave the poor application alone -- right?

Almost invariably come the appeals to better customer service. We want to make the application faster to better serve the customer, so we thought now would be a good time to update the software and take advantage of the new machines we just purchased. Again we usually suggest that they make sure their database servers, web servers, etc., are properly retuned for the new machines. Try to get speedup without terrifying the application. Retrofitting an application that is already working to include multithreading or multiprocessing so that you can take advantage of new multiprocessor capabilities is a noble goal (for some reason Don Quixote comes to mind) but will the benefits of the speedup achieved (if any is achieved) outweigh the costs of the redesign, the introduction of a entirely new set of testing techniques, debugging techniques and test sets? Is the speedup worth the additional effort and cost that will be expended every time the application needs modification?

Retrofitting (a.k.a paradigm shifting) the single-threaded application comes at a cost at several layers of the Software Development Life Cycle (SDLC) and the Software Maintenance Life Cycle (SMLC). Does the cost-benefit of the speedup of the application justify the new SDLC and SMLC costs? If the speed up benefits truly outweigh the cost to get the speedup then, don't cut corners on the redesign. One of the first things we do is we get a helicopter's view of the application's actual architecture. Not the pristine architecture that the outdated documentation describes, but the actual living breathing architecture of the application as it now exists. Are we dealing with hybrid peer-to-peer with a little client-server thrown in for good measure? Or is it some hodge-podge of web services three-tier with mobile access thrown in or what?

Ultimately, we're going to move this whole thing to formal models and formal languages for the redesign. But before we can do the paradigm shift, we have to know precisely what the running/executing paradigm is. If it is truly worth moving to the new world, then let's do it right. We'll be back...

Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 


Video