At my last job, I worked for some Bigtime Consulting company. The standard "stuffed suit negotiates a contract, they send in a bunch of pimply, barely competent, freshly-graduated-with-Associates newbies to work at client site for years" crap you've seen on the front page of TDWTF. Somehow, I'd like to think the project I was assigned to would compare favorably to the front page articles. And yet, with the benefit of hindsight, I can see so much wrong.
The project was with the Department of Human Services in the state of Wisconsi-Tenne-Florida. Specifically, they had this Child Support Enforcement System they wanted us to maintain and enhance. Requirements gathering, coding, QA, production support, bug fixes, all that. The system itself? Some time in the '90s, some consultancy had worked in some other state child support office to convert a mainframe system into Oracle Forms, which they ported over to State of WTF. You should take "convert" in the most literal sense of the word: Mainframe screens duplicated with the Oracle Forms GUI.
So the software is Oracle Forms, Oracle Reports, and PL/SQL packages. All well and good, except we new hires were brought on being led to believe we'd be doing web development with Java 6, Spring 2.x framework, etc. I had picked up on all these shenanigans in the first month or so. I realized they were red flags. But I was stuck, thanks to the recession, and also being a new college grad with literally no experience.
On the upside, that translates to a bunch of WTF-y stories. What comes to mind tonight, for example, is source control.
WTFCSES is a huge project. Over 100 separate Oracle Forms screens, probably a thousand stored PL/SQL packages. Probably 30-40 developers, similar QA, and a ridiculous number of middle managers (like I said, Bigtime Consulting). Obviously we needed some way to manage the code base. But what, Subversion? Git? CVS? VSS, even? None of those (well, sort of). We used the Oracle Developer Repository Object Navigator (RON). It was a piece of shit (obviously, since it's Oracle), but it ostensibly had the basics of any VCS.
Why do I say "ostensibly?" Developers were only given access to a common read-only account. As in, developers can't commit code. The only people with write access were three team leads, two system architects, the development manager, and a handful of senior resources who transitioned from dev to system analyst and never had their logins revoked. This meant the development cycle looked like this:
- Developer downloads code from read-only account. Performs technical analysis, documents code change in Technical Design (topic for future thread).
- Emails any of managers specified. Sits on thumbs (or more likely, changes downloaded code to writeable through Windows Explorer properties).
- When manager gets around to it, checks out and locks the code in the repository, specifying developer's name in check-out comments.
- Developer makes code change. Emails code to manager. Sits on thumbs again.
- Manager commits new code. Checks in and releases lock.
- Next time the DBAs run a manual build (topic for future thread), the new code is built.
Obviously, since the managers had complete control over the repository, branch/merge was a concept that literally didn't exist. So if you were working on code for the next major version release (3 months' lead time), and some other developer was working on the same code for the next minor version release (1 month lead time), you would get an additional "retrofit" task to manually perform the merge that (I assume) RON had the ability to do, but the managers never bothered to learn about.
Just to recap:
- It's like a version control system
- except you don't give write access to the developers
- and the DBAs are in charge of compiling the software
Oh My God! It's like hell on WTF state.
This comes on a day when, after six years of being away of consulting firms, I have an interview with International Bullshit Machine. I think I'm gonna pass on this one. Is a signal from the heavens!
Wait until snoofle sees this...
I bet you all that snoofle has an even better story.
I've been anonymously reading his side-bar threads for a couple months, so I have no doubt he does.
In case anyone cares, I didn't take their offer, thanks to ArrivingRaptor for reminding me what working in such conditions feels like.