Three weeks ago, now, On Thu, Oct 5, 2017 at 3:52 PM, Thierry Nivelet
<[email protected]> wrote:

> Well, I often read from experts that rewriting  a s/w using new techs was a 
> piece of cake
>
> Thierry Nivelet
> http://foxincloud.com/
> Give your VFP app a second life in the cloud

Thierry:

I wanted to follow up on this.

Given a full set of specifications on what the old software does,
And a full set of specifications of all the changes the client wants
for the new software,
And a full set of tests to ensure 100% compliance, it's a piece of cake.
Very expensive and slow, but cake.

Fresh coding in a new language with modern tools is faster, but that's
the smallest part of application development. I was amazed what kind
of power I could find in PHP or Python or Ruby.

Next year, I celebrate (?) the 40th anniversary of shipping my first
commercial application. I have rewritten several applications from FPD
to VFP, and from VFP to PHP or Rails, and there is always undocumented
behavior that turns out to be key to the application, and very complex
and time-consuming to backfill into the new application when it is
discovered late in the process. It's also essential that at least some
of the developers have expertise both in the old language and the new
one. In one case I had to explain to a client that the
textbook-perfect description of the algorithm they provided me with
was all very nice, but it wasn't actually how their FoxBase system had
been running for the past 15 years. It's hard to tie out new results
with old results when they do different math. And persnickety things
like precision and rounding rules as you switch front-end languages
and back-end storage make that tougher than some imagine.

But, as someone recently pointed out in another thread, it is also
hard to do "blank slate" development where the client *thinks* they
know what they want, but invariably, it is something else they need.
In the best of all worlds, you need a full specification on what the
software does, and a set of tests to show 100% compliance, and it is
almost impossible to produce, until you've written the system. Clients
may understand how their business works, but managers view their world
through the 90% case and skim over the exceptions, while front-line
workers deal with the exceptions all day and miss the big picture.

In sum, software development is *hard*.

In reality, a slow, deliberate, iterative system  of incrementally
building a new system from the old is the only thing I've ever seen
succeed. It's hard, it's more expensive and it takes more time that
anyone wants it to, but the end result can be an application the
client can run with, expand their business, and compete successfully
for the next 20 years.

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/cacw6n4tn6uawj3f-3xy5dvu4rmqo8kgw4seecntfjsadyvz...@mail.gmail.com
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to