Ted, do you desire Agile/Scrum based projects or do you like the waterfall you laid out in the email?
We only do Agile in a Scrum environment here. We have a board and post-its.
On Tue, Oct 24, 2017 at 4:38 PM, Ted Roche tedroche@gmail.com wrote:
Three weeks ago, now, On Thu, Oct 5, 2017 at 3:52 PM, Thierry Nivelet tnivelet@foxincloud.com 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.
[excessive quoting removed by server]