Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have very little experience working in a big project. But I did work about 3 months in a small outsourcer (a company that do the coding for a bigger foreigner web development company).

This is what I saw. The foreigner company did all the user analysis & all database designs. Then a group of the Project managers in that foreigner company start to build a structure of the Application.

That means they build all the basic classes that are the framework of the app. For example, in the framework they got many undone (empty) methods like:

int calNoOfCustomer(...){
   // do the calculation here

My small company then starts to fill in the details of empty methods but it did not build the whole structure.

I think it likes an assignment in IT school. The teacher build a structure & empty methods & ask students to complete them.

So, I want to ask you that "is that the way how web development company does in real world big project?"

Do the Project managers build a structure of an application (with empty methods) then give it to the other programmers for completing the app in real world Big Project?

share|improve this question

closed as primarily opinion-based by gnat, GlenH7, Dynamic, World Engineer Mar 31 '14 at 18:37

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

That's a very strange way to do things. – Rob Y Mar 28 '14 at 23:31
really? have u ever worked in a big project? – Kiti Mar 28 '14 at 23:52
a few big projects ;) Maybe if the project managers are very technical, and are willing to accept changes to the structure as development proceeds, then maybe it could work. But I've never seen that practice in my career. – Rob Y Mar 29 '14 at 0:04
In general, no. Project management involves dealing with processes and communication with stakeholders. Not everyone who tries to micromanage a project like this is a project manager per se. – James McLeod Mar 29 '14 at 9:43
up vote 3 down vote accepted

Writing an "empty shell" is certainly one way of creating a design. But it's more common for the architect or project designer to write Software Requirements and a Software Design Specification.

At its most basic form, software is about writing methods or functions, little bits of code that take an input, manipulate it in some way, and produce an output (the output can be in the form of side-effects and state changes). In order to write those methods, a programmer needs to know:

  1. The method name and signature,
  2. The formal parameters and types,
  3. The expected behavior of the method, and
  4. Test cases.

You can get 1 and 2 with a program skeleton. To get 3 and 4 you need requirements and a software design specification.

share|improve this answer
so the designing company does the design. Are there many small companies do the project like I mentioned? ie they hire someone to do the design then they just need to fill in the code. – Kiti Mar 28 '14 at 23:59
I haven't seen any companies that work the way you described. – Robert Harvey Mar 29 '14 at 0:03
so how do you develop a big app in your company? you do everything from soup to nut? – Kiti Mar 29 '14 at 0:04
Not me personally. I have people that help me. There are architects, database designers, software engineers and QA engineers. – Robert Harvey Mar 29 '14 at 0:08
But do project managers in your company build the program skeleton then give it to other lower level programmers for completing? – Kiti Mar 29 '14 at 0:12

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