The following outline is provided as an overview of and topical guide to software development: Software development – development of a software product, which entails computer programming (process of writing and maintaining the source code), and encompasses a planned and structured process from the conception of the desired software to its final manifestation. Therefore, software development may include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities that result in software products.
What type of thing is software development? Software development can be described as all of the following:
Research and development Vocation Profession
Branches of software development Data engineering Software engineering Computer programming Video game development Web development Web application development Mobile application development
History of software development History of operating systems History of programming languages
Software development participants Software developer Software engineer Consulting software engineer Computer programmer Software publisher Web developer
Software development problems Shovelware Software bloat Software bug
Software project management Software project management – art and science of planning and leading software projects. It is a sub-discipline of project management in which software projects are planned, monitored and controlled. Software configuration management
Software development strategies Offshore software R&D – provision of software development services by an external supplier positioned in a country that is geographically remote from the client enterprise; a type of offshore outsourcing.
Software development process Software development process Software release life cycle Stages of development Pre-alpha Alpha release Beta release Closed beta Open beta Release candidate Release Release to manufacturing (RTM) General availability release (GA) Web release (RTW) Technical support End-of-life – termination of support for a product
Activities and steps Requirements analysis Software development effort estimation Functional specification Software architecture Software design Computer programming Software testing Software deployment Software release Program installation Product activation Deactivation Adaptation Software update Uninstallation Uninstaller Product retirement Software maintenance
Software development methodologies
Aspect-oriented software development Cleanroom Software Engineering Iterative and incremental development Incremental funding methodology Rapid application development IBM Rational Unified Process Spiral model Waterfall model Extreme programming Lean software development Scrum V-Model Test-driven development (TDD)
Agile software development
Cross-functional team Extreme programming Iterative and incremental development Pair programming Self-organization Timeboxing
Supporting disciplines Computer programming Software documentation Software engineering Software quality assurance (SQA) User experience design
Software development tools Programming tool Compiler Debugger Performance analysis Graphical user interface builder Integrated development environment
Education relevant to software development Bachelor's degree in computer science – type of bachelor's degree awarded for study of computer science, emphasizing the mathematical and theoretical foundations of computing, rather than teaching specific technologies that may quickly become outdated. Such a degree is a common initial bachelor's degree for those entering the field of software development.
Software development organizations While the information technology (IT) industry undergoes changes faster than any other field, most technical experts agree that one must have a community to consult, learn from, or share experiences with. Here is a list of well-known software development organizations.
… excerpt ends here. Continue reading the full article.
