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 (process of writing and maintaining the source code), 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.
- 1 What type of thing is software development?
- 2 Branches of software development
- 3 History of software development
- 4 Software development participants
- 5 Software development problems
- 6 Software project management
- 7 Software development strategies
- 8 Software development process
- 9 Education relevant to software development
- 10 Software development organizations
- 11 Software development publications
- 12 Persons influential in software development
- 13 See also
- 14 References
What type of thing is software development?
Software development can be described as all of the following:
Branches of software development
History of software development
Software development participants
- Software developer
- Software engineer
- Consulting software engineer
- Computer programmer
- Software publisher
Software development problems
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 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
Activities and steps
- Requirements analysis
- Functional specification
- Software architecture
- Software design
- Computer programming
- Software testing
- Software deployment
- 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
- Test-driven development (TDD)
Agile software development
- Cross-functional team
- Extreme programming
- Iterative and incremental development
- Pair programming
- Computer programming –
- Software documentation –
- Software engineering –
- Software quality assurance (SQA) –
- User experience design –
Software development tools
- Programming tool
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
While the IT industry undergoes changes faster than any other field, most technical experts agree that one needs to have the community they can consult, learn from or share their experience with. Here is the list of well-known software development organizations.
- Association of Computer Engineers and Technicians (ACE – ACET) professional standards within the IT industry.
- Association for Computing Machinery (ACM) 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 (AIIP) is an association for information professionals working independently or within the related industries.
- Association of Information Technology Professionals (AITP) is a worldwide community that focuses on information technology education. It helps to connect experts from different IT fields.
- ASIS International (ASIS) is the leading community that connects security professionals from all over the world.
- Association of Shareware Professionals (ASP) connects developers and tech specialists who work with services and application on "try-before-you-buy" basis.
- Association for Women in Computing (AWC) organizes educational and networking events for female tech specialists in order to increase the share of women in the industry.
- Black Data Processing Associates (BDPA) gathers a community of African Americans working in information technology for both educational and professional growth.
- Computer & Communications Industry Association (CCIA) advocates for open markets, systems and competition.
- Computing Technology Industry Association (CompTIA) provides certifications for the IT industry, as well as educates individuals and group on changes and tendencies fo the industry.
- Computer Professionals for Social Responsibility (CPSR) 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 (DACS) 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 (ECMA) is a European organization that facilitates standards and information and communication systems.
- International Association of Engineers (IAENG) 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 (IEEE) 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 (ISSA) is a not-for-profit, that encourages the use of practices to protect the confidentiality and integrity of information resources.
- Network Professional Association (NPA) encourages its members to adhere to the code of ethics, follows the latest best practices and indulge in continious self-education.
- Technology Services Industry Association (TSIA) is a professional association that offers research and advisory services.
- Society for Technical Communication (STC) offers support and knowledge sharing to specialists involved in technical communication and related fields.
- User Experience Professionals Association (UXPA) is an organization that shares knowledge about UX and helps its members to grow, develop and improve their products.
- Women in Technology (WIT) advocates the education of female representatives in the industry all the way from elementary training to advanced programs.
Software development publications
Persons influential in software development
- DRM Associates (2002). "New Product Development Glossary". Retrieved 2006-10-29.