Software development is the process of developing software through successive phases in an orderly way. This process includes not only the actual writing of code but also the preparation of requirements and objectives, the design of what is to be coded, and confirmation that what is developed has met objectives.
Before systems development methods came into being, the development of new systems or products was often carried out by using the experience and intuition of management and technical personnel. However, the complexity of modern systems and computer products long ago made the need clear for some kind of orderly development process.
Typical phases of software development:
1) Identification of required software
2) Analysis of the software requirements
3) Detailed specification of the software requirements
4) Software design
In general, the development of commercial software is usually a result of demand in the marketplace, while enterprise software development generally arises from a need or a problem within the enterprise environment.
Most methodologies share some combination of the following stages of software development: