Software development is the computer programming,
documenting, testing, and bug fixing involved in creating and
maintaining applications and frameworks involved in a software
release life cycle and resulting in a software product.
The term refers to a process of writing and maintaining the source code, but
in a broader sense of the term it includes all that is involved between
the conception of the desired software through to the final manifestation
of the software, ideally in a planned and structured process.
Therefore,software development may include research, new development, prototyping, modification,
reuse, re-engineering, maintenance, or any other activities that result in software products.