Become a fan of Slashdot on Facebook


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Break the solution down into parts (Score 1) 418

I think that everyone's thinking about this the wrong way. Computers automate processes, but that doesn't necessarily mean that the entire process needs to be automated from the minute it's turned on. This fundamental, flawed assumption is always at the heart of these kinds of fiascos.

If you can write a program to do it, you can also design a manual process. But more importantly, if it's a complex process, you can first break it up into sub-processes, and then automate the parts that involve tasks that are already well understood, and have existing implementations, and do the rest manually. Then replace the manual parts with automated processes piece by piece. The monolithic replacement approach is ridiculous. The side benefit of a hybrid automated/manual approach is that the algorithms and procedures are transparent, and non-programmers can learn them, understand them, critique them, improve them and finally describe them in a form which can be automated. Once manual processes stabilize, they could probably be scripted easily enough, as an intermediate step before conversion to fully custom code modules.

Now, this would have to be managed, of course, and there would have to be some kind of standards imposed for data formats, but assuming all of the raw data is always digital, and the manual work is mostly comprised of moving the output from one automated step to the next automated step, you would have an ad hoc system that could be evolved into a custom system, while always working the whole time.

Of course, given that they already have a working system, they should in fact simply be replacing elements of the existing system with modern replacements, one at a time. They could write adapter layers between the existing parts and the replacement parts. It's clear from the description that the system is distributed, running on multiple (hundreds, thousands?) of computers.

I'm not saying it would be easier or cheaper, but it would work from the get-go, and evolve, and by the time it was finished, the users would already be trained and management could have high confidence that the system worked.

Slashdot Top Deals

I think there's a world market for about five computers. -- attr. Thomas J. Watson (Chairman of the Board, IBM), 1943