Wow. Let's go through it.
It opens with:
Are you trying to bring modern development practices to a… less-than-modern software development environment?Uh, yeah, I have been for over 2 years.
Then he lists the warning signs:
- Yup, this kind of "bigger picture" stuff is rarely shared, and only after there's been an issue.
- Surprisingly no. Most everything we have is at least in SVN.
- "We're too busy for maintenance"
- That's a definite "yes".
Does my current employer have a problem? Yup.
I've been trying to just get simple things accomplished for over two years now. We're talking little things, like upgrading Perl to something in the last decade and writing unit tests.
Of those two, only the Perl upgrade has any traction (also strangely with a move from Windows to Linux). However, we are on year two of the upgrade and are in exactly the same place with it as last year. This time, I"ll work harder to not let it drop. Of course there are still outstanding items, like integration testing, using web frameworks, using an ORM, PSGI, etc.
So, moving on to strategies. Well let's see, top down? Nope, that has gone no where. Management poo poos any and all new ideas, with the exception of the upgrade.
Working bottom up, certainly seems like the ticket. Oh, he starts with testing. Well, having spent time teaching Perl classes and showing a few coworkers how Perl tests work, you'd think this would be a no brainer. Nope, the few that would listen to me went "uh huh", and moved on. I still write them of course, but it's lonely being the only one. Instead we spend WAY TOO MUCH TIME, clicking on our web app to test stuff.
Well then Jay talks about CI a bit. Um, yeah. I guess I should focus on his last sentence: "Small and simple is infinitely superior to nothing". Of course that's easier said than done in an environment of hostile sysadmins, but I suppose those are stories for another day.
Jay ends with the investment angle. That's how I've tried to see these things...investing in our future.
As you can probably tell, I work in a very backwards development environment with closed minded "we've always done it this" way people. It is super frustrating and I'm at my wits end.
I could give all of this another shot, but that means time and patience. I don't think I have the patience, and my time is likely better spent learning stuff I can use somewhere else.
That's where my head is at. Perhaps yours is in a different place.