Software development changes during the 20th century

History

Each project needs some rules, which set up the organization and colaboration. This helps to reach desired goals. Regardless to project size, there is always someone who is usually responsible for a team’s cooperation and he also ensures compliance with certain practises and procedures, during the entire project life cycle. This set of practises and procedures is called methodology. In this article we will look at the brief history of project methodologies and their evolution.

Project Management as the process of planning, organizing, motivating, and controlling became popular in the 60’s. Information technologies became more important in daily business and for this reason there was a need for more complex information systems then before. Project methodologies have started to be in the spotlight.

The oldest methodological framework is probably SDLC (Systems Development Life Cycle). The systems development life cycle, according to Elliott & Strachan & Radford (2004), "originated in the 1960s, to develop large scale functional business systems in an age of large scale business conglomerates. Information systems activities revolved around heavy data processing and number crunching routines".

It’s quite hard to talk about project methodologies in the very beggining of the software development. There were more likely approaches and techniques - structured programming, object-oriented programming, waterfall model, etc.. Noawadays we can see the dominance of agile approach, which puts more emphasis on collaboration within the team like never before.

 

The emergence of methodological standards

The massive integration of project management into the software development occured between 80’s and 90’s of the last century. The first version of PMBOK was found by PMI in the States. This company released a document summarizing the best practises, which became the standard of project management very soon.

Waterfall Model

However Europe didn’t stay behind. There was also formed a comprehensive view of how software projects should be conducted. PRINCE2 is probably one of the best known methodologies (not only) in UK. This standard dates back to 90’s. PRINCE2 was originally focused on the IT project management only, however over time it has been redesigned. Nowadays PRINCE2 is used in many different fields then just IT.

PRINCE2 describes only high-level aspects of project management. Task Manager is responsible for the choice of management tools and frameworks.

Waterfall model was dominating to project methodologies untill the late of 90’s - strictly separated development phases, where a great emphasis on compliance with the plan, costs and especially with the release of the product as a whole has to be guaranteed. The great emphasis is also placed on project manager as one of the most important person in the project. This paradigm has been changed over time.

 

From Waterfall to Agile

Nowadays we can see the shift of the paradigm from the waterfall model and fixed delivery date to interative and incremental development - continuos improvement based on active communication with a customer.

The basic idea is to develop a system through repeated cycles (iterative) and in smaller portions at a time (incremental), allowing software developers to take advantage of soaked skills from the development of earlier parts or versions of the system.

Agile

This approach has become a cornerstone of one of the most widespread methodology - Scrum. Scrum was developed by Ken Schwaber in the mid 90’s.

Scrum is mostly about the huge customer involvement during the development cycle. The main idea is that a customer changes his requirements all the time and the development team should responds to these changes as soon as possible. The product can thus be delivered to the customer no matter when (more precisely - at the end of each phase called Sprint).

It’s not possible, of course, easy to evaluate which approach and method is the best. Everything depends on the scope of the project, how many people is involved, what customers prefer, etc…
In addition to waterfall and iterative, there are also other approaches - spiral approach, software prototyping, and much more.

Scrum (basically the whole Agile) goes back to the roots - turn one’s attention to what really matters. The priority is the customer and his needs.
 

Source:

https://archive.today/20130102055628/http://articles.techrepublic.com.com/5100-3513_11-6118423.html  http://cs.wikipedia.org/wiki/PMBOK_Guide  http://www.muni.cz/ics/925600/web/scrum http://en.wikipedia.org/wiki/Software_development_process#History  


Articles Worth Reading