-1

The Setting

We have to complete a software-engineering module at my university. We are a team of 8 students. This module is required for any computer science related students. Unfortunately we are 3 Business Information Technology Students (I am one of them) and 5 students, who study to become a teacher and only have half of the computer science modules, because they have to study 2 subjects.

We need to build an running android app and website for managing some hospital-related stuff in 4 weeks. The first week was mainly spent on the specifications, so by now we have 11 days left. We are required to build the app and the website in Java. For the website we are using Grails.

We split our team in two 4-person teams, one for the app and one for the website. I already created a bunch of websites with MVC frameworks in PHP, but I'm new to Java and Grails. So I would say I know how the architecture of a website looks, but I really have to put effort in learning Grails and Java to achieve what I'm trying to do.

Everybody needs to make a 15min presentation due today on a specific subject (mine is ORM)

The team

My 3 co-students (Let's call them A,B and C) have only written one Java application (required module), but have no experience in web-software-development, HTML, CSS, etc. I took the lead of the team and started reading the Grails documentation. It took me some hours, but now I have an idea how to do it (for the easy parts) so I spent the night and set up the basic CRUD-Functionality for our website. My coworkers don't have any idea what's going on. A is reading simple HTML tutorials, but doesn't seem to have any plan. B is setting up an authentication plugin for the website (it's his presentation subject), so this is quiet helpful and C is working on his presentation all the time because he's got no clue, or he's working on diagrams for the documentation.

The problem

1) The other teammates are constantly asking me questions about their problems. If they're working on the documentation they have to ask me everything, because they don't have an understanding of the grails application. Person A is asking me how to include an image in html, etc.. So this limits the time I'm able to spend on coding.

2) I feel like the only one, that is capable of creating the required software. As I said, we've got the basic CRUD running and we've got more challenging tasks now like validation, pagination, build Rest API, and so on, but the others have not a single idea how to solve those tickets.

The question

What am I supposed to do? If I slow down and focus on helping the others, I guess we won't finish in time. If I go on, the others will be left behind even more. Managing AND coding the project.

closed as off-topic by scaaahu, Alec, Masked Man, mcknz, Lilienthal Sep 16 '15 at 8:18

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions asking for advice on what to do are not practical answerable questions (e.g. "what job should I take?", or "what skills should I learn?"). Questions should get answers explaining why and how to make a decision, not advice on what to do. For more information, click here." – Masked Man, Lilienthal
  • "Real questions have answers. Rather than explaining why your situation is terrible, or why your boss/coworker makes you unhappy, explain what you want to do to make it better. For more information, click here." – scaaahu, mcknz
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    Is this about the workplace or about managing a student project where you're all students? Despite the similarities I think there are differences in the two environments (student project vs. professional team lacking experience). Remember in the student project the primary goal is generally to learn (producing a product may be a consequence). In the professional setting it's switched: the goal is to product a product (learning may be a consequence). – Brandin Sep 10 '15 at 8:25
  • Brandin you're right. But we need to create a good product in order to get a good grading. And also the goal of this module is to simulate a work-like-situation – Strernd Sep 10 '15 at 8:47
  • 1
    This sounds a lot like "How do I stop bad workers bringing a team down?" and the solution, in University is a sad, sad, "Well, you can't." This is why people have hatred towards group projects. If you can jump ship, jump ship and find a team that fits your work-ethic. – insidesin Sep 10 '15 at 9:33
  • 1
    You have learnt an important lesson- in a fixed price fixed duration project do NOT spend the first 60% of the deadline planning... – Marv Mills Sep 10 '15 at 9:46
  • 1
    Then you have also learnt another important lesson, sometimes you are set up to fail by circumstances beyond your control... en.wikipedia.org/wiki/Kobayashi_Maru – Marv Mills Sep 10 '15 at 10:16
3

I would identify what the required outputs are for a good grade and make sure that only work to fulfill those is done (eg is pagination/an API etc etc actually a requirement or a nice to have)

I would do the very minimum of upfront planning (too late for you, you have done too much already) and get get coding fast.

To ensure that everyone has knowledge of the product and input into how it is developed I would go for a "Mob programming" technique Get everyone in a room with one computer and a projector.

Each person must drive and everyone else points out what they are doing wrong, what they should be doing, or takes notes about how this functionality will be documented (or whatever is required for the good grade). Take breaks so people are fresh and involved.

Do this for one or two days to get the main structure completed, then either pair off or those with particular expertise do their particular functions (finalise CSS, document, whatever...) If people are drifting then do another Mob for a day. You can do a frighteningly large amount of work and knowledge transfer this way... if the team are up for it!

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