0

We have Development department and the department of System Engineers that works on a big project (development of J2EE application).

We are using Build management system, Bug tracking system and a Wiki engine in our work.

Sometimes we have a situation when some developer initiate a server restart or an application build that breaks the debug process for other developers (in some cases developers using the same remote Developer server).

At the present moment we are using the chat application for approving the process of restart\rebuild server (application).

Can anyone share the experience of solving collision like I described above?


My vision is to use application which was able to do the following things:

  • create request for server restart (or application rebuild\redeploy);
  • subcribing for notification on "new request created" event;
  • manual approving the request (by several members) and automatic approving of request (in case nobody declined the request during the some period of a time);
  • subcribing for notification on "the request is approved" event;
  • the request solving;
  • subcribing for notification on "the request is solved (done)" event.

It looks like the request has its own lifecycle or workflow.

I think that some Bug tracking system (for example, by Atlassian Jira) can help to create the request and can start the workflow on it. But this solution does not look perfect (even good) for me - its too "heavy and bulky".

1 Answer 1

4

Simple. Stop sharing the same development server. Give each developer his own environment in which to develop. This can be on their own box, or a VM each on the server.

Then the existing 'dev' server gets renamed to 'integration server' and it is used as a quality check after development code is merged from a developer's branch to a mainline branch/trunk.

Never bother with a "workflow" solution to a problem like this, you'll introduce a lot of process that will just serve to slow your developers down so they are less productive. Your solution in particular requires co-operation for all the other developers, who may well not bother to look at the requests, or worse will just say "no, my work is too important to be interrupted" which immediately blocks the dev who wants to update the system.

2
  • Thank you for reply. In some cases (for some reasons) we can't use different servers. I know that our process is not "ideal". Never bother with a "workflow" solution to a problem like this, you'll introduce a lot of process that will just serve to slow your developers down so they are less productive. - I hope to find flexible and handy tool. But I'm afraid that you are right
    – Alex K
    Jul 26, 2013 at 12:35
  • apart from licencing issues (which usually don't apply to development environments), constructing a new server per dev is as easy as firing up VMware and telling it to turn a physical server into a virtual one. You then copy once per dev and run them all. You might need more power on the server to run them all, but in my experience a single-user dev box doesn't need as much power as a multi-user integration environment. That assumes they can't run on their workstations in the first place.
    – gbjbaanb
    Jul 28, 2013 at 18:32

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.