Part of a series on |
Software development |
---|
Software development is the process of designing and implementing a software solution to satisfy a user. The process is more encompassing than programming, writing code, in that it includes conceiving the goal, evaluating feasibility, analyzing requirements, design, testing and release. The process is part of software engineering which also includes organizational management, project management, configuration management and other aspects.[1]
Software development involves many skills and job specializations including programming, testing, documentation, graphic design, user support, marketing, and fundraising.
Software development involves many tools including: compiler, integrated development environment (IDE), version control, computer-aided software engineering, and word processor.
The details of the process used for a development effort varies. The process may be confined to a formal, documented standard, or it can be customized and emergent for the development effort. The process may be sequential, in which each major phase (i.e. design, implement and test) is completed before the next begins, but an iterative approach – where small aspects are separately designed, implemented and tested – can reduce risk and cost and increase quality.