I am the project manager of a small team of five undergraduate developers who have been working for months on a large system for our Senior Capstone project. Four members of the team, including myself, have put in an extensive amount of work on this project. The remaining member failed to contribute anything at all to the team project (not only did this team member fail to contribute any source code, he failed to contribute in any way at all).

I spoke with this individual multiple times about how failing to contribute, or even contributing minimally, could result in having to retake the Capstone course. Still the individual made no contribution. I spoke with the Professor leading our Capstone team on multiple occasions, and provided documentation supporting my claims. This documentation, along with several peer evaluations, should give the Professor enough information to make fair decisions involving each of our grades, which is really none of my business at all.

What is my business is that this fifth team member has his name displayed on work that he did not contribute to in any way. My question then, is can I remove his name from the completed system?

  • 1
    So, what have they been doing all this time? Nothing at all or nothing good enough to be included in the main code? – Alexis Dec 7 at 8:12
  • 7
    The shorter answer: nothing at all. The longer answer: The nature of our collaboration is that we hold scheduled meetings twice weekly where we distribute tasks and discuss any issues in development. Each member's responsibility is to perform their assigned tasks in a given time frame. This individual missed the majority of team meetings, failed to even contribute marginally toward any task, and when he actually attended meetings would agree to take on task assignments and to improve his communication, and then would fail to ever contribute solutions or to respond to remote communication. – Christian Westbrook Dec 7 at 8:25
  • 2
    Can you clarify what you mean with "his name is displayed"? Where is it displayed? In what form? I am imagining an open source system, and in this case why would his name even show up if he never commited code? – xLeitix Dec 7 at 8:47
  • 13
    Excluding the student might loose you marks, because you "failed" to operate as a team. Yes, it is unfair. But, such projects are sometimes used to evaluate team working skills (under the fallacy that such a project mimics a real-world project; they don't, slackers get fired in the real-world). It might be worth checking the mark scheme and playing the game if there is potential for harm. – user2768 Dec 7 at 8:58
  • 2
    I doubt that it is your place to do this. But you could ask the professor for the opportunity to do peer evaluations, in which each member comments on their own and the contributions of others. – Buffy Dec 7 at 13:52
up vote 56 down vote accepted

Can I remove someone's name from an academic software development project that didn't contribute a single line of code?

Just to focus on the title itself; lines of code contributed is not an accurate summary of contribution. This is a variation on the workman's fallacy of "management is useless because they don't directly make the product".

For example, someone can contribute by working together with the others, and due to working with everyone in different steps, they end up not writing the code and have only contributed to the design of the application. Or testing. Or analysis.
As a second example, maybe their initial code ended up being refactored due to a midway design change, thus technically not having their contribution added to the final product while still having contributed.

I'm aware that this is not the case here, but I want to advise you to refrain from using "not contributing a single line of code" as the main justification. When I read the title, before clicking the link, it implied that you were blindly measuring value by measuring LOC which would put you at fault for using a faulty metric.


However, as this person didn't do anything at all, let's address the real situation.

Whether or not removing the name is warranted depends on whether you are being graded collectively or not. If you all share the same grade, then this person should be prevented from mooching/piggybacking off of your results.

If the grading is done individually, and the professor is already aware (and has evidence) of this person's lack of contribution, then removing the name is unnecessary. It would only be a matter of principle/pride.
While I can certainly understand your desire to not give credit to someone who did not contribute; keep in mind that doing so may come across as petty and may even suggest to outside observers that this person was being ostracized by their team mates, which can end up as a mitigating circumstance in that person's favor.

In either case, I suggest you ask the professor on the right course of action. Since they are already aware of the issue (and presumably have not refuted your claim, since you didn't mention them doing so), having the professor agree to remove this person's name from the project safeguards you from possible negative inferences about having done so.

  • 21
    +1. Clearly the best answer so far. LOC is a terrible measure for contribution to a project. I once had a student I thought was not a contributor. But in the peer evaluations his teammates named him as the most important contributor. There are lots of ways to contribute. Entering code - even correct code- is only one of them. Not just "management" but research, coordination, testing. Not to mention overall conceptual design. I'm not sure that any of these apply in the particular case here, but in general, takes a nuanced analysis. – Buffy Dec 7 at 12:40
  • 1
    @J...: That doesn't mean that exceptions can't be made. OP already proved the other person's lack of contribution, and I assume the professor did not contest the claim (as OP doesn't mention anything about it). If the professor is already failing the one person, they are effectively grading the contributers differently (even if they decide to give the same grade to all the others). However, I can't confirm whether these exceptions are possible in OP's scenario. If they are not allowed, then the only way to prevent mooching/piggybacking is to effectively remove their name from the project. – Flater Dec 7 at 14:12
  • 1
    I think you've misunderstood. "Didn't contribute a single line of code" is being used as an example of the idiom "Didn't even do [the smallest thing possible]." The asker isn't saying that writing lines of code is necessary for all project members. – David Richerby Dec 7 at 20:34
  • 1
    @Tim Capstone projects are different - these are exercises in project management as much as anything else. The team are expected to produce a single, cohesive, body of work. This is an attempt to have the project more closely mirror the types of project work that will follow either in professional employment or in academic research. – J... Dec 8 at 12:07
  • 1
    Note: If the student is doing the capstone for a degree in computer science or software engineering, not a single line of code is highly troubling. Completely ignoring a core concept of your field isn't acceptable. Being not-so-good at it is one thing, but completely ignoring it and still passing is misleading. – Clay07g Dec 8 at 16:41

There are two aspects to this:

  1. Who gets academic credit for this project? Who gets a pass, and what grade (if any)? In my opinion this also includes who shows up in the university's online system as team members for this capstone project, as well as on the poster you mentioned.
  2. Who has copyright for the project source code? Who is listed as a commiter for the project, if it is published as open source software?

You already did all the right things with regard to the first item. You alerted the professor, and provided supporting documentation. As you correctly say in your question, it's now basically in your professor's hands how they want to handle this case further. If you disagree with their decision (if they, for instance, decide to go the path of least resistance and don't do anything) you are free to go one step higher, and discuss the case with your program director (or whoever is in charge of your overall programme). However, ultimately, it is not your decision to grade the project or to decide who has sufficiently contributed to receive academic recognition for the project. In that sense, you can't really unilaterally decide to kick out the student from the team, or not mention them in your poster.

The second item is a different story, though. If your team mate did not contribute code, they can't have any claim of copyright on the resulting project (hanging around in meetings, or formally being part of a team, does not give you copyright to code that you did not write). They have no grounds to require you to acknowledge a (non-existing) contribution if you decide to make your work public, independently of what the university says about this. You may decide to acknowledge them anyway in some way (as in, thank them for some unspecified collaborations or contributions in the README file of the project), but you certainly don't have to list them as authors (e.g., in the source code of files that they have never touched). The easiest, and also most generally useful, way to handle this is to be explicit with what team member did. Have a header in each source file that mentions who edited the file. Have a "contributors" page that lists, rather detailedly, what each team member did. A team member who did nothing will just not show up in either of these lists, making it fairly clear that they were not in any way instrumental to this project becoming a reality.

  • But you could put on the poster a brief resumé of the work each contributed... and "nothing" would probaqbly be a valid entry... – Solar Mike Dec 7 at 10:38
  • 1
    Regarding your second point, if OP is based in the US, the IP almost certainly belongs to the university. – C Henry Dec 7 at 18:17
  • @CHenry: On what basis? – R.. Dec 7 at 19:32
  • @CHenry IPR != copyright. – xLeitix Dec 8 at 11:41
  • 1
    @R.. Most universities (in the US and elsewhere, but notably not in Sweden) retain at least a fraction of the right to commercialisation on works produced by their students and faculty. However, this has little bearing on my answer, as this does not mean that they can pretend somebody else actually authored the work. They can just claim parts of the profits if the authors decide to make money from the project. – xLeitix Dec 8 at 11:44

First and foremost, I think this is a question for the instructor of the course. If the instructor is not willing or not able to remove that person from your team, they are part of your team and that fact should be reflected in the deliverables.

I would suggest that in your final report you and your team-mates make it clear who did what. E.g.

Team members: V, W, X, Y, Z.

  • Requirements definition: V, W, X, Y
  • Development and testing of module A: V, W
  • Development and testing of module B: X, Y
  • Development and testing of module C: V, X
  • Writing of final report: V, W, X, Y

Anyone not giving contributions in any form to the project shouldn't be named, it's as simple as that.

You should inform your professor for your decision, and go ahead removing the name.

  • 2
    I would add to this that justification is very much required to stay above board when doing so, as a lack of justification leaves it up to outside observers whether the other person did not contribute or is being unfairly ostracized. – Flater Dec 7 at 12:13

I will offer an answer contrary to most of the others.

Since he was officially a member of the team, list him in the documentation and project report.

You have discussed this person's (non)contribution with your professor - that's all you can or should do.

I have taught lots of capstone/project software engineering courses. One thing students learn is how small a part of the work the actual coding is. Another is how hard it can be to work on a team, particularly when some coworkers lag. That's a lesson you have absorbed. In your job interviews point with pride to the project and your role - even frustration - as team leader.

  • 1
    It depends on how the documentation is structured. If you're naming the team, then yes he was a (non-contributing) member of the team. If a list of authors, you have to go with the legal definition of authorship, which would exclude the non-contributing student. – Ben Voigt Dec 8 at 13:56

I cannot give you an answer on what would be the moral or legal thing to do (for that, I think it is best to ask the course supervisor), but I can give you an anecdotal answer.

Because last year, I was in the exact same situation as you! For one of our courses, there was a semester-long project in which we had to work in teams of 3.

Me and one of my teammates, while we did have some issues combining our different programming styles, worked hard on this and even got close to winning the inclass-competition. The 3d member however, didn't write a single line of code. (The only thing he pushed to git was a text file containing a TODO-list which I dictated to him while we were brainstorming...). We had git-logs to back this up in case it was necesarry.

Me and the 2nd teammate were both aware of this problem, and we both dealt with it in our own ways. I was the one who finished the final report and sent it in. I didn't put his name on it at all, because I didn't feel like he was in our group at all. There was no communication during the project, he didn't ask what he could do, and he didn't contribute anything. Maybe he even joined a different team, without telling us? How could I have known? My partner however sent an email to the course-supervisor explaining how the other classmate didn't contribute anything, and that he wanted to let him know that.

During the peer-evaluation, we were asked how much each member approximately contributed to different parts of the project. We split 50-50 between us on all parts, but gave 0% to the 3d mate.

This might seem very harsh, but you can't have someone graduate by using you or others.

No, you can't. Bill Gates doesn't write code himself since Windows ME. Does it make possible to say he is not contributing to the development of Microsoft products? Steve Jobs was not a software developer neither software engineer nor software team lead. He was a designer. Does it make him useless for the software corporation he was CEO of?

  • 1
    -1 Firstly, they can do it (just do it, then it's done). Secondly, did you read the full context of the OPs situation? I fail to see any parallel in your examples... (it's bordering on a strawman argument) – Lamar Latrell Dec 9 at 5:39

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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