I am trying to create an LMS system using Angular and NativeScript. It's a LMS web application like Adobe connect (although a simplified version) that will be written in Angular 8 for example, and a mobile version of it that has a different UI and some different features that will be written in NativeScript-Angular, but is connected to the website and both use one back-end. So the project has 2 front-end interfaces written in Angular and NativeScript-Angular and one back-end that will be written in NodeJS.

As this is my first project (startup), and I am in low-budget, and web/mobile applications aren't my expertise (my expertise is in AI field, but I have some student experiences in mobile/web applications), I need some advice about:

  1. How many front-end developers are needed?
  2. How many backend developers?
  3. Should I do the job in parallel or I must end up the front-end at first, then go and do the back-end part?
  4. How long will it take to finish the work? (I need some estimates)

And many other questions that I will try to ask in comments.

  • 3
    While this question isn't an exact duplicate, your question is likely already answered by this previous post. You probably won't like the answer, but it still fits.
    – Todd A. Jacobs
    Jul 14 '19 at 20:18
  • 3
    See also: pm.stackexchange.com/a/16296/4271
    – Todd A. Jacobs
    Jul 14 '19 at 20:18
  • 2
    "And many other questions that I will try to ask in comments.". Please don't do that. Questions are questions and comments are not for that. Aug 27 '19 at 13:36
  • Disagree on opinion-based. This Question isn't opinion-based. But it is too broad. 'How do I estimate' is obviously not opinion-based - certain approaches will result in closer estimates than others. But it is way too broad a topic to be broached like this. We'd need to know the exact project details, and the existing team members, and the corporate culture, and the tools available, and the current market conditions, and etc. To say nothing of the fact that there are actual separate questions in the Question. The third one by itself may be answerable.
    – Sarov
    Nov 19 '19 at 16:12

Let us assume that you have a completed Technical Spec, where everything is well defined.

Note that the answers overlap and complement each other.

  1. How many front-end developers are needed?

Assuming you are going to use the same language for both platforms, but it's completely different code then the answer depends on how fast you want it completed.

If the code is going to be similar then adding programmers will only be useful if they can work on separate areas.

  1. How many backend developers?

Since there is only 1 backend, adding programmers will add overhead, as they will have to coordinate between themselves.

More programmers may finish slightly faster, and if you don't have expertise in this field it will help if they can consult with each other.

  1. Should I do the job in parallel or I must end up the front-end at first, then go and do the back-end part?

Since the Technical Spec is ready, you should be able to do it in parallel.

If you want to start with something, it's usually better to start with the backend, I think. It can be fully tested with test-code and then the front end coders can work against a reliable backend.

Or hire a full-stack programmer and let them work in whichever order they feel like.

  1. How long will it take to finish the work? (I need some estimations)

The only person who can help you with that is somebody who has read the spec and understand the technologies involved.

You also mention that it's a start-up, so here's what I would guess:

  • Month #1:
    • Write the Technical Spec covering all aspects of the product with all reasonable use cases.
    • Hire staff and get equipment.
  • Month #2:
    • Review and refine the Technical Spec with your team.
    • Set up version control, a bug base, and buy and install needed programs.
  • Month #3:
    • Create an alpha; shows the basic functionality with simple UI
    • Find some friendly beta testers
  • Month #4:
    • Release a beta version

By now you and your team should have a good idea about how long it will take for the first release to be ready.

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