Writing code or set of programs result into “Software products” that are generic or customized according to the customer specifications. Now whats this Engineering doing out here? This is a quite common query…
Engineering in general terms mean “The application of Science to the design, building and use of machines, constructions etc.”
Composing the both… the definition of Software Engineering results into
“The art,craft and science of building large and important software systems. It is an amalgam of artistry, craftsmanship and scientific thought”
The reason why the projects are categorized into large, medium, small, and very small is that they need to follow different processes for development.
Small and Very Small projects should follow only Waterfall Model, whereas Medium size projects follow either Waterfall or Iterative model. Lastly, Large projects follow either Waterfall or Iterative or Incremental model.
Therefore a large project and a very small project cannot follow the same steps while executing deliveries. To keep a large project on track, one needs to have substantial processes in place, whereas having few processes leads to the risk of unmanaged processes, which may lead to failure. Whereas, for a small project, having a huge process makes it a tedious and unnecessary overhead.