You are on page 1of 6

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.[1] Therefore, software
development may include research, new development, prototyping, modification, reuse, re-engineering,
maintenance, or any other activities that result in software products.[2]

Contents
What type of thing is software development?
Branches of software development
History of software development
Software development participants
Software development problems
Software project management
Software development strategies
Software development process
Education relevant to software development
Software development organizations
Software development publications
Persons influential in software development
See also
References

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 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
Open beta
Closed beta
Release candidate
Release
Release to manufacturing (RTM)
General availability release (GA)
Web release (RTW)
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

Software development methodology

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

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. A Bachelor of
Computer Science degree is a common initial bachelor's degree for those entering the field
of software development.

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 for 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 continuous 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

Language Creators/Designers
Kathleen Booth (Assembly)
Bjarne Stroustrup (C++)
Brendan Eich (JavaScript)
James Gosling (Java)
Guido van Rossum (Python)

Influencers of Software Design


Bill Joy
Martin Fowler
"Uncle Bob" Martin

See also
Product activation
Software blueprint
Software design
Software development effort estimation
Outline of web design and web development
Outline of software engineering

References
1. http://www.bestpricecomputers.co.uk/glossary/application-development.htm
2. DRM Associates (2002). "New Product Development Glossary" (http://www.npd-solutions.co
m/glossary.html). Retrieved 2006-10-29.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Outline_of_software_development&oldid=1033189849"

This page was last edited on 12 July 2021, at 05:12 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using
this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.

You might also like