CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeffrey Palermo [MVP]

Software management consultant and CTO, Headspring Systems

You might have a legacy enterprise application if . . . - level 000

You might have a legacy enterprise application if . . .
  • You can't figure out which copy of the source code is the one deployed to production.
    • You find more than one source code repositories with the old shipping application.  Which one is the real one?  Every developer who worked on the project has left the company.
  • You modify the code and another system goes down.
    • Enterprise applications are notorious for being very interdependent.  You had no idea that this old application was making a file drop to another server in the Idaho office, and now I/T in Idaho is screaming that their product prices are 10 days old!
  • User workarounds for bugs in the application are published in a "user manual"
    • Whatever you do, don't submit more than one request at a time!  The server will lock up and have to be rebooted.
  • There is a pager dedicated to support for the application.
    • Enough said.


Comments

Eric Wise said:

add: Each department is keeping copies of their data manually in excel files because the system is so unreliable that they have to fact check every record after batch processes are run.
# April 7, 2006 8:18 AM

Jeremy D. Miller said:

add:  if you have to go looking for an ex-employee's old laptop to find the correct version of the source code
# April 7, 2006 11:06 AM

Ayende Rahien said:

add: The manual includes the cellular and home numbers of at least one of the developers.
# April 7, 2006 12:41 PM

Jeremy D. Miller said:

add to Ayende's: The codebase has a hard-coded error handler to send an email to someone you've never heard of
# April 7, 2006 12:43 PM

Joshua Flanagan said:

add: It's running on Windows NT 4.0 because everybody is afraid to upgrade it to work with the "new" COM+ introduced in Win2K.
# April 7, 2006 2:44 PM

Jeremy D. Miller said:

Oooh, Josh.  I bet I know exactly which system you're referring to...

add:  In reference to the above, The application takes an entire week to deploy to testing.  Every single time.



add:  There is a copy of the application source for each region, factory, country, client, etc. with very slightly different code
# April 7, 2006 3:22 PM

Ayende Rahien said:

add: The source code has comments like // John in Finance needs this so he can use the VisiCalc stuff.

add: The database has tables like John_*, Jennie_*, etc.
# April 7, 2006 4:00 PM

Jeremy D. Miller said:

Just overheard Jeffrey say --> add:  They have all these IP addresses in the Global.asa we have to change for production...


add:  The source code has comments like "'this is a dirty, dirty hack. Take it out immediatly JDM 4/7/[5 years ago]"

add:  You have a scheduled reboot every night
# April 7, 2006 4:37 PM

MB said:

Hey, I'm not sure if what I'm supporting here qualifies as legacy....Do these count? ;)
1. You have to keep a laptop from '92 around with DOS 3.x. Anything newer has trouble with the serial port.
2. You actually know about (and use) <a href="http://www.merlyn.demon.co.uk/pas-r200.htm#R200">this</a> patch for machines > 200MHz.
3. You have a development environment for FoxPro 2.6a...for UNIX. (Yes, there <a href="http://fox.wikis.com/wc.dll?Wiki~Foxpro/UNIX~VFP">was</a> such a beast).
# April 7, 2006 7:24 PM

tod said:

add: You have to reinstall the application every 2-3 months because it just stops working.  Oh, and you have to install it 3 times in order for it to work (install, uninstall, install, uninstall, install and voila!).
# April 10, 2006 1:19 PM

Harris said:

"Ayende Rahien said:
add: The manual includes the cellular and home numbers of at least one of the developers.
April 7, 2006 12:41 PM"

It's really bad when the phone number is yours...
# April 10, 2006 2:08 PM

tod said:

I just ran into this one...

add: You have SQL tables that are named as follows -
[tablename]
[tablename]new
[tablename]new_current
[tablename]new_historic

Which is the one really being used?  
# April 10, 2006 3:15 PM

About Jeffrey Palermo

Jeffrey Palermo is a software management consultant and the CTO of Headspring Systems in Austin, TX. Jeffrey specializes in Agile coaching and helps companies double the productivity of software teams. Jeffrey is an MCSD.Net , Microsoft MVP, Certified Scrummaster, Austin .Net User Group leader, AgileAustin board member, INETA speaker, INETA Membership Mentor, Christian, husband, father, motorcyclist, Eagle Scout, U.S. Army Veteran, and Texas A&M University graduate. Check out Devlicio.us!

This Blog

Syndication