× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Wow!  There's a whole host of lessons to be learned from this tale!

I wonder how many other software projects took such a downward, wayward
spiral as this?

Thanks Joe. Very interesting.

Shannon O'Donnell


----- Original Message ----- 
From: "Joe Pluta" <joepluta@xxxxxxxxxxxxxxxxx>
To: "'Midrange Systems Technical Discussion'" <midrange-l@xxxxxxxxxxxx>
Sent: Monday, September 22, 2003 4:13 PM
Subject: BPCS History


> > From: shannonjano@xxxxxxxxxxxxxxx
> >
> > Can you expand on your comments a bit about BPCS?  I used it many,
> many,
> > MANY years ago and liked it back then (somewhere around 1989/1990).
> >
> > Were you working there when they chose the SQL course?
> >
> > I guess what I'm asking for is war stories and gossip. :-)
>
> I'll post one semi-autobiographical account of the demise of The SSA
> That Covey Built.  This is based on memory and some conjecture, so
> accuracy is in the eye of the beholder.
>
> During my last years at SSA, we were in the midst of the client/server
> revolution and at that time, it was all thick client.  We were also
> trying to figure out configurable processing, which meant the ability
> for end users to customize their workflows (for things like order
> entry).
>
> We had an incredible architecture in place, that we called CPR (for
> Configurable Processing, but I coined the term with no small amount of
> amusement at the irony of the acronym).  This architecture was going to
> revolutionize the industry.  Small, independent modules could be called
> anywhere in the job flow.  Each session would keep track of the current
> session information, and each module would query the session for needed
> information.  If it didn't find what it needed, it would prompt the
> user.  The panel it used could be different for different users,
> allowing either fast path entry or more detailed transactions.
>
> All database interactions were encapsulated by server programs.  The
> servers all shared a common interface and could be invoked by any
> program.  Related files (header/detail) were processed by the same
> server, and servers could in turn invoke other servers to resolve
> foreign keys as necessary.
>
> What a concept!  And all in RPG III, no service programs, none of that.
> We made use of data queues and programs that didn't turn off LR.
> Sessions and even individual transactions could be restarted in case of
> errors, all that good stuff. And this cleared the way to interaction
> with thick clients, which could all call the same servers (can you say
> "web service"?).
>
> And then it happened.  In the early 90's management turnovers started
> happening.  Roger Covey (the architect of the software and founder of
> the company) was spending extended time in China, both for personal
> pursuits (he was an Asian history scholar and spoke Mandarin, if not
> other dialects) and in an attempt to exploit the fledgling Chinese
> manufacturing industry.  A former marketing Veep from IBM was brought in
> to run the show, and rather than the late-night technical arguments
> (often in the local tavern) between the technical managers and the
> President that had directed the architecture of the package, instead
> technical decisions began to be made in boardroom meetings by
> non-technical people.  Decisions were soon based not on sound technical
> merits, but on the latest buzzword of the day.  "Platform independence"
> started to rear its ugly head, and thus began the ill-fated move towards
> Unix and SQL.
>
> Unix experts were brought in, who insisted that SQL was more than a
> match for DB2, and that OS/400 wasn't really that complex an operating
> system; they could emulate both inside of a year.  I remember finding
> this amusing, especially the one code cowboy who insisted that he could
> write an AWK script to convert RPG to C in a single pass.
>
> Thus began the road to perdition.  A few of us declaimed the Emperor's
> nakedness, but in general we were shouted down by visions of
> marketshare, not to mention the newly found motherlode of cheap labor to
> be had in places like Bangalore.
>
> Anyway, to cut the story short, projections of writing the emulation
> were wildly optimistic, to say the least.  Having no concept of things
> like program to program calls, it turned out that Unix wasn't quite
> ready to emulate OS/400.
>
> An example: Program calls with parameters were emulated by writing the
> parameters to a file, spawning the called program and waiting.  The
> spawned program would then read in the parameters, do its thing, and
> write the parms back to the file.  The calling program would then wake
> up and read those parameters in.  As you might guess, this had some
> negative impact on performance.
>
> Another example: in an effort to maximize the ability to
> programmatically convert code from RPG to SQL/C, the C programmers
> simply chose the easiest way to do things.  Nobody who knew both systems
> was in charge, and the SQL experts weren't exactly adept at business
> programming.  Thus, a CHAIN became a SELECT using a cursor (because you
> never knew if someone was then going to do a READP).
>
> Then, in order to try and catch up with the schedule, the first option
> was to farm as much as possible to India.  The results, especially with
> the state of the Internet back then and the hit or miss ability to send
> large files, were less than stellar.  So, the client/server project
> began to be cannibalized.  I raised more of a stink, and that was the
> beginning of the end of my tenure at the company.
>
> Interestingly enough, I did have one last major part in this IT tragedy.
> Near the end, as the product was about to be delivered to the first beta
> sites, somebody noticed something.  Nobody had bothered to convert CL
> programs.  In fact, nobody had bothered to even design the basic
> features of CL programs, such as overrides, or message queues, or
> printer files, or even the concept of a batch job.  Over the course of
> three weeks I became intimately familiar with HP-UX as I basically wrote
> an OS/400 emulator, and the product finally limped (and that's putting
> it kindly) out the door.
>
> As you can see, by this time pretty much all the resources of the
> company had been bet on this new technological direction, all processes
> had been transformed from the traditional development life cycle to a
> bastardized combination of rapid application development and outsourced
> programming with no real design lead.
>
> And when the thing was released, it was slow, lumbering, error-ridden,
> and ugly (remember, it was STILL a text-based interface - the closest it
> ever came to anything GUI was a nasty screen scraper front end that
> didn't even function properly with character-based Unix terminals).
> Nobody bought it, and rather than cut their losses, they continued to
> pour money into it.  Any true innovation (such as the modular
> client/server architecture) went by the wayside.  Some left, some were
> fired, some just burnt out.
>
> And thus ends the tale, the sad tale, of The SSA That Covey Built.
>
> Joe
>
> _______________________________________________
> This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
> To post a message email: MIDRANGE-L@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/midrange-l
> or email: MIDRANGE-L-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/midrange-l.
>
>
>



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.