Outline of software development
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, but also 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
- Software engineering
- Computer programming
- Video game development
- Web development
- Web application development
- Mobile application development
History of software development
- History of software development
- 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
- **** Open beta
- **** Closed beta
- *** Release candidate
- ** Release
- *** Release to manufacturing
- *** General availability release
- *** Web release
- ** Technical support
- *** End-of-life - termination of support for the product
Activities and steps
- Requirements analysis
- * Software development effort estimation
- Functional specification
- Software architecture
- Software design
- Computer programming
- Software testing
- Software deployment
- * Software release
- * Product 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
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 -
- 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 of 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. A Bachelor of Computer Science degree is normally required in order to work in the field of software development. Abbreviated "BCompSc" or "BCS".
Software development organizations
- Association of Computer Engineers and Technicians professional standards within the IT industry.
- Association for Computing Machinery is one of the oldest and largest scientific communities that deal with computing and technology. It covers a wide range of topics including e-commerce, bioinformatics, and networking.
- Association of Independent Information Professionals is an association for information professionals working independently or within the related industries.
- Association of Information Technology Professionals is a worldwide community that focuses on information technology education. It helps to connect experts from different IT fields.
- ASIS International is the leading community that connects security professionals from all over the world.
- Association of Shareware Professionals connects developers and tech specialists who work with services and application on "try-before-you-buy" basis.
- Association for Women in Computing organizes educational and networking events for female tech specialists in order to increase the share of women in the industry.
- Black Data Processing Associates gathers a community of African Americans working in information technology for both educational and professional growth.
- Computer & Communications Industry Association advocates for open markets, systems and competition.
- Computing Technology Industry Association provides certifications for the IT industry, as well as educates individuals and group on changes and tendencies for the industry.
- Computer Professionals for Social Responsibility an organization concerned with technology's impact on society. The group provides the assessment of the tech development and its impact on various fields of life.
- Data & Analysis Center for Software collects and serves the information about various entities and software they produce, as well as its trustworthiness.
- EDUCAUSE is a non-profit organization that states its mission as ‘advance higher education through information technology’.
- European Computer Manufacturers Association is a European organization that facilitates standards and information and communication systems.
- International Association of Engineers is an international association that used to be a private network. Nowadays, hosts annual World Congress on Engineering for R&D and engineers.
- Institute of Electrical and Electronics Engineers Computer Society provides educational services to its members worldwide. This society has one of the biggest networks and offers numerous perks to its members.
- Information Systems Security Association is a not-for-profit, that encourages the use of practices to protect the confidentiality and integrity of information resources.
- Network Professional Association encourages its members to adhere to the code of ethics, follows the latest best practices and indulge in continuous self-education.
- Technology Services Industry Association is a professional association that offers research and advisory services.
- Society for Technical Communication offers support and knowledge sharing to specialists involved in technical communication and related fields.
- User Experience Professionals Association is an organization that shares knowledge about UX and helps its members to grow, develop and improve their products.
- Women in Technology advocates the education of female representatives in the industry all the way from elementary training to advanced programs.
Software development publications