I am currently a high school student, I've been assigned to manage a group in my school to develop a mobile app and the problem is that all of us have no experience in making a project in a team and the greater problem is that we have only till the end of the month to submit the app.

Can I have some tips to overcome these problem?

Also we decided to do the app in Python with Kivy, we know Python.


If you had more time i'd say do some research on agile/scrum but heres a cut down version:

1) Initially you want to sit down together and very carefully plan out your application and all of its features. You also want to sketch out(wireframe) the user interfaces remember that their are a huge variety screen sizes, try and keep them minimalist.

Remember features are for the benefit of the end user, always remember if someone wants to add something, ask what the benefit is!

2) You absolutely should have more than one meeting a week, you should be meeting every day even if for only 15 minutes either face to face or on skype. The reason being you can discuss problems, find solutions together and most importantly adjust timescales and resources accordingly

3) You should then assign priority to each of these features along with the amount of time it will take you as a team, we use the MoSCoW scale for prioritization. You should then see if your specification can be feasibly finished in the time required, if it doesn't you may need to either redesign some features or drop low priority ones.

4) Start working as a team on the high priority items working your way down the list.

5) As you complete each item you need to go back to you original specification and check you've actually achieved the goal.

I can't stress enough how important you're daily conversations are, don't ever let anyone not attend unless they are on their death bed! If you're going to manage the project you need to know about issues very quickly.

  • Sit down together and make a planning.
  • Have 1 meeting (not more) on a regular base (every week) all together to be always updated on the status.
  • Split the application in different subtask and assign a task to everyone. If everyone starts putting hands everywhere it will be a mess.
  • Decide incremental "deliverables": Example: "by day x part y should be completed"
  • Review the code -> I write something, you review my code and the opposite
  • Decide upfront how to interface the different components among each other (This is very important in python since you don't have a compiler check for this like in Java...)
  • Don't put the target to high! Do something easy!
  • 2
    Definitely don't aim too high. Very simple things can take a great deal of time the first time you do them. Programming gets much much easier the second time you do something. There are some development techniques built up around this very idea.
    – Kieveli
    Dec 11 '13 at 13:18
  • I think people always over estimate how hard something is going to be. Aim for minimum features. If you have time you can always go back and add more with whatever time you have left. Look up sprints!!
    – TruthOf42
    Dec 11 '13 at 15:13

I did some research on this a year and a half ago, so this info might be a little stale. The way to go seemed to be to make an HTML5 application. What this gets you is this: It'll run on Android, iPhones, and any other phone with an HTML5 compliant browser. If you were to focus on Android, you'd be writing in Java. iPhone, Objective C. It's out of your realm in either case, but HTML5 should be fairly straight-forward in comparison.

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