I'm facing this problem since past few days. I won't say that they are doing it without purpose but they fail to report their changes and the part of code written by me starts malfunctioning. How do I put this on email without pointing out on anyone ?

Their current job is to add new functionality and not remove the current functionality defined in the code.

A program may contain 1000 lines of code. Now if the requirement is to retain the existing functionality and add new functionality it is not legitimate to touch the existing lines of code when the task is to do incremental development

  • 1
    first of all, were the changes requested by the customer or management? Why do any changes to the program require your approval? were the changes properly tested? – user1666620 Jul 8 '18 at 18:44
  • 8
    I disagree entirely with the premise of your third paragraph, that incremental change means no change should be made to existing code. There are many legitimate scenarios where changes to existing code is the most efficient way to accommodate new functionality. The alternative could be spaghetti code and multiple functions that perform the same task. As per my answer, this seems more like an issue with the testing protocol your company has in place. – user1666620 Jul 8 '18 at 19:12
  • 8
    Do you have source control? How about automated unit testing? If their commit is making tests fail, that should be easy enough to address. – Dukeling Jul 8 '18 at 19:18
  • @Dukeling We have source control as well as Jenkins as CI tool. This question is ain't about how to prevent this all, my question is more about how to put this all on email. The process is all setup and the developers are aware of the process. – Jarvis Jul 8 '18 at 19:39
  • Do the automated tests still pass? If so, you need more test cases to cover the failing functionality. If you have no automated tests, you need to start creating some. – A E Jul 8 '18 at 20:32

Your QA people (and automated tests) should be catching these issues. If you don't have dedicated QA people (a developer can never, and should never, QA their own code for release), you at least need code reviews. If you have none of these, then that's where the problem lies. The other developers will soon get better when their code starts failing in QA.

  • QA will not find problems with random changes. To find such changes with require retesting everything. And if they find the misbehaviour, that doesn't happen the developer who wasn't informed about random changes. – gnasher729 Jul 8 '18 at 20:29

You don't own the program, the company does. If they are making changes to the program by order of the management or the customer, that is not an issue.

I think this is more of an issue with your company's change request and testing protocol, not an issue with the other developers in the company. You should be complaining upwards, not down.

The only way this would properly be an issue with the other developers is if they made the changes on their own initiative with no input or permission from management. If so it would be a disciplinary matter.

Edit based on new information provided in comments:

If there are developers who are making changes to working production code without permission and then deploying this code to the production environment without permission, then this is a gross breach of trust.

If you want to handle it with kid gloves, an email to the team along the following lines should be sent:

It's come to my attention that changes are being made and deployed to the production environment without following the company's change request or testing protocols. This is unacceptable. All change requests must go through the proper channels and must follow the company's change request and testing protocols. Failure to do so will lead to disciplinary proceedings.

If the company's change request and testing protocols exist in a document, attach them to the email. I would also recommend CCing the managers overseeing your team.

  • Their current job is to add new functionality and not remove the current functionality defined in the code. – Jarvis Jul 8 '18 at 18:54
  • @Bennie that doesn't answer the question in my comment - who ordered the change? Was it done on their own initiative or did the company or customer request the change? It doesn't matter what their job is, what matters is if they were told to make the change through the proper channels. – user1666620 Jul 8 '18 at 18:55
  • 1
    @Bennie I'm having trouble following you. You say the change was requested by the customer, but also say that the changes are never approved by them. I think you need to take a few minutes and edit your question and then re-read it a few times. – user1666620 Jul 8 '18 at 19:02
  • 1
    @Bennie senior software developer. Used to be a lead developer in a startup. – user1666620 Jul 8 '18 at 19:04
  • 2
    @Bennie if that was random change that didn't follow company change or testing protocols and was put straight to the production environment without testing or permission then that is a disciplinary matter which should be raised with management and the developer responsible should be sanctioned or even fired. – user1666620 Jul 8 '18 at 19:14

At the place where I work, I am actually not able to make any changes to the code that is completely my responsibility, any change must be reviewed, and only the reviewer is able to accept the code change. I'm not. (Of course I review other people's changes, accept them or not, and if I don't accept it then it isn't used).

If people can change your code without telling you, then your development process is badly disorganised and broken. Go to your boss and discuss your development process. What you say just must not be allowed to happen.

  • I never said this is happening in Production environment. This is happening in the development environment not QA, SIT or UAT – Jarvis Jul 8 '18 at 20:28
  • 2
    I didn't say either this was happening in Production. You will never be able to get code that you can pass to QA if random people make random changes that break things, even in development. Any change to the development branch must be verified to be an improvement. – gnasher729 Jul 8 '18 at 20:32

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