0

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?

Kiti
  • 151
  • 8
    That's a very strange way to do things. – sea-rob Mar 28 '14 at 23:31
  • really? have u ever worked in a big project? – Kiti Mar 28 '14 at 23:52
  • 1
    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. – sea-rob Mar 29 '14 at 00:04
  • 1
    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 09:43

1 Answers1

3

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.

Robert Harvey
  • 199,517
  • 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 00:03
  • so how do you develop a big app in your company? you do everything from soup to nut? – Kiti Mar 29 '14 at 00: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 00: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 00:12
  • @Kiti if I was giving this design to someone I wasn't sure if they'd do it right (as I see it, or as I need it to fit into an existing structure), I, as a lead or architect, might do that approach. Though, not as a project manager - however, there might be some job title translation issues there. –  Mar 29 '14 at 00:21
  • In 25 years of developing software, I have never once seen a project manager give anyone empty shells of code. Even the architects don't do that. A technical lead might, but it would be very unlikely. – Adam Zuckerman Mar 29 '14 at 01:04