Answers in the questions:
On 4/25/2012 10:24 AM, Stone, Joel wrote:
How often does your shop promote in-house source code enhancements to production?
1) Frequency of promotions into Production of home-grown software enhancements (not break/fix patches& not vendor upgrades) - ie daily, weekly, monthly, or anytime.
2) Do you agree with the frequency? If not, what would be an ideal frequency in your opinion& why
3) What problems do you see with the frequency?
None, as long as someone is in control.
We're a small shop ( 5 developers) with a large, inherited, in-house
developed, code base. Personally, I prefer incremental installs if
practical, rather than the "big bang" approach.
We use Aldon, I'm the Aldon admin and the programming manager, so
generally all promotions comes through me. The system operator can also
promote as a backup and we trust the developers judgement in such cases.
And the developer on the night-time oncall can do emergency
promotions, but as admin I'm automatically notified.
Auditing requirements (don't you love 'em?) dictate much of our
approach, but I'm a firm believer in a professional source control
management system, even for a 1 or 2 man shop. We get automatic
archiving of 10 copies of source, object checkout means people aren't
tripping over each others changes, object creation requirements are set
once then forgotten, scheduled off-hours deployment if needed, automatic
back-out (though I've never had to use it at this job), history of all
changes, probably other things that don't come to mind.
All the developers are happy we have source control management.
Regular developer ids don't have authority to production data. We
actually lobbied for that for self protection. We have a way of
switching profiles that allows us to update production data if we have
too. When I get time, I'd like to revise the security scheme so that
developers have read access to production data and there would be far
less need for the profile swapping
We have enough time that overnight we create a test environment that is
a copy of production, and we use this for testing. I'd like to carve
out a testing lpar, but don't have the time.
A different view:
I use to work in a much bigger shop with hundreds of developers. There
was a movement there to restrict promotions to once weekly, bi-weekly,
or monthly. This, IMHO, was due to a take over by non-technical project
managers moving towards huge systems which had elements on AS/400, Linux
and Windows. The difficulty of integration testing and QA testing on
such systems is enormous and is compounded if you have large consulting
companies running the project who need CYA fallback positions if
something goes wrong. You can't be willy-nilly installing changes on
such systems and have to freeze changes at some point, rigorously prove
them and commit to an install. Usually on a weekly, bi-weekly, or