release-management

Strategies for Developing Multiple Products from One Codebase

I'm working on a project that will (soon) be branched into multiple different versions (Trial, Professional, Enterprise, etc). I've been using Subversion since it was first released (and CVS before that), so I'm comfortable with the abstract notion of branches and tags. But in all my development experience, I've only ever really worked ...

GNU make with many target directories

I have to integrate the generation of many HTML files in an existing Makefile. The problem is that the HTML files need to reside in many different directories. My idea is to write an implicit rule that converts the source file (*.st) to the corresponding html file %.html: %.st $(HPC) -o $@ $< and a rule that depends on all html fi...

What do you do to your JavaScript code before deployment?

Do you have a step in your deployment process that minifies JS? Do you have any sort of preprocessor for your JavaScript that allows you to leave in comments and console.logs and then have them automatically stripped out? Is your JavaScript machine generated by GWT or Script#? Do you use ANT or another tool to automate deployment? I see...

Deploy Coordination Tool?

My company maintains a SaaS platform and we're approaching a pretty major release. Deploy night activities involve a large cross-functional team spanning several Development & QA groups, Operations, Professional Services, and Customer Support. We've always used a simple task-list and a chatroom to coordinate all the work to be done dur...

Point releases as general releases

There seems to be a frequent trend in the growing open source world to number releases as 0.x even if they are to be treated as a major release. In some cases, there may not even be compatibility between two minor releases. Can anyone help me understand if there's a good reason or rationale for doing this in certain cases, or is it jus...

How should I branch and tag before and after a release?

I've been thinking about the deployment process I am currently using, and I am wondering if there is a good way to handle branching/tagging the code which is going to be/has been released to production. At some point I want to make a branch as the release branch and make any last minute changes to the branch and release it. Then after ...

Do debugging attributes such as [DebuggerDisplay] still get compiled into Release binaries?

Having recently learned of the DebuggerDisplay attribute, I've found it quite useful. However, one thing that surprises me is that it doesn't have a [ConditionalAttribute("DEBUG")] attribute attached to it. Is there some way to force this or is it a bad idea to try? Or does it not matter for some other reason? ...

How do you ensure the same bug does not creep into the product the second time?

I understand the short answer to it is by doing testing but still how do you do this testing? Do you modify your test cases to include the bugs as additional test cases to run or do you just verify all the bugs in your bug tracking system starting from the oldest to the newest releases. Thanks for the answers. Looks like my question was...

Batch Script Install Process

I am planning a procedue to release our software to our customers using an advanced version of an existing procedure which uses windows batch scripts. I am hoping to improve this process and automate the installation of the following items: Files. Files are simply copied to a destination. MSSQL Databases. I guess I'll use the OSQL comm...

How to effectively manage code changes to third party applications

Hi guys, My main site is built on top of Invision Power Board. With version 3 just being released, i want to start with a clean codebase and remake all my modifications, but the problem is, when Invision release new versions, keeping track of the modifications I have made so I can reapply them has always been a bastard to do. While this...

How does one manage multiple release branches in subversion?

At the company I work for we use subversion and TortoiseSVN to manage our source code. Each project is branched off the trunk. When we need to integrate the different projects for a release, we create a release branch that contains the code that will be integrated, tested, and deployed to production. Typically we only have one release br...

Best set of names for iterations ?

Hi there, I was curious what do you use as iteration names and how much iterations do you have? What is the best set of names for iterations which will also be simple enough to explain to the customer. EDIT: lets say that my iterations are 5 weeks long each. cheers Perica ...

Managing Custom Client Releases

As an alternative to this question what is the best way to manage custom versions of software for a particular client? Most of the differences between client releases is changes to the user interface to customize the software to look like it is owned by the client. More often then not, this is a simple logo change. Occasionaly the color...

If there are "known issues" why release?

I have seen many APIs which list the details about know issues? If there are known issues why release it to public before fixing them? What is the reason? Dead lines? Or fixing that can break something else? Note: I am not sure whether this question belongs here. So feel free to close if this is not a valid question. ...

How to release often with Lean/Kanban?

I am quite new to Lean/Kanban, but have poured over online resources over the last few weeks and have come up with a question that I haven't found a good answer for. Lean/Kanban seems otherwise such a good fit for our company, who is already using Scrum, but have reached some limitations inside that methodology. I hope someone here can g...

Which open-source projects use odd-unstable/even-stable style of versioning

One of my colleagues told me today that some projects use a weird, IMHO, way of versioning their releases. If the release is unstable, the minor version is an odd number, eg. 1.3, 1.5. On the other hand, stable releases have an even minor version number, eg. 1.2, 1.4. At first I couldn't believe my ears, it seemed unreal. Then Wikipedia...

Accidentally released code to live. How to prevent happening again?

We had an incident recently where some code got released to live that was not scheduled to be released. It had obviously been checked into the trunk. Which is fine i guess as you want to 'check in early, check in often'. However in this instance it was not supposed to be released in the next release. What kind of checks / strategy /...

How to release a subset of deliverables?

Hi, Further to my question at accidentally-released-code-to-live-how-to-prevent-happening-again. After client UAT we often have the client saying they are happy for a subset of features to be released while others they want in a future release instead. My question is "How do you release 2/3 (two out of 3) of your features". I'd be inte...

Ideal Release Methodology, Tools, Structure

I'm at a firm that currently does releases in a very slow, manual way: Each deployable project has an installer. Once the release is ready, somebody remotes into the server and runs each installer. I know there are better ways, and I've built better ways, but I want to present a way that is so stellar, so clear, and so easy that nobod...

Policy on maintenance releases vs normal releases?

My company is struggling with the question of maintenance releases versus "normal" releases, in the context of an application installed on-site at large organisations who pay for support. First let me define my terms: Imagine we've released versions 1.0, 1.1, and 1.2 of the product. These are what I call "normal" releases, i.e. they ar...