Software development is the process of designing, programming, and documenting computer software.
 Phases of Software Development
The traditional waterfall process of software development follows a simple linear process:
- The initial phases of software development involve gathering software requirements and defining what the software is expected to do.
- The next step is to design and architect a solution. The solution is formalized in software specifications documents, which are often ignored for smaller projects.
- The software is then written during the programming phase.
- Sometimes an alpha version is released to a limited audience to demonstrate the project and gather initial feedback.
- Often a beta version is released to a larger audience to test the software and gather more feedback. Typically this version of the application is nearly feature-complete.
- Sometimes one or more release candidates are distributed for testing. Here the software's major bugs are identified and fixed.
- Once the software passes all critical testing it's released to end users.
- After release comes software maintenance and feature additions.
In the agile process similar steps are taken, but on smaller individual components of a larger system, rather than just the system as a whole. This allows development teams to focus on and perfect small, manageable pieces. This also allows for stakeholder feedback earlier in the lifecycle of the project.
- Computer programming
- Programming languages
- Programming paradigms
- Data structures and Data types
- Web development
- Mobile application development
See also: Category:Process