96 relations: Agile software development, Agile Unified Process, Arms industry, Barry Boehm, Behavior-driven development, Benjamin Cummings, Big Design Up Front, Booch method, Business, Business process modeling, Cap Gemini SDM, Capability Maturity Model, Capability Maturity Model Integration, Chaos model, Computer programming, Computer-aided software engineering, Continuous integration, Data model, Data processing, Database, Deliverable, Disciplined agile delivery, Dynamic systems development method, Extreme programming, Fourth-generation programming language, Grady Booch, Graphical user interface, Incremental funding methodology, Information engineering, Information system, Inner source, Installation (computer programs), Integrated development environment, ISO 9000, ISO/IEC 12207, ISO/IEC 15504, Iterative and incremental development, James Martin (author), Jeffrey L. Whitten, Joint application design, Kanban (development), Kevin C. Dittman, Library (computing), Lightweight methodology, List of failed and overbudget custom software projects, List of software development philosophies, Lonnie D. Bentley, Method engineering, Number cruncher, Object-oriented programming, ..., Open-source model, OpenUP, Outline of software engineering, Process modeling, Programming paradigm, Programming style, Project management, Prototype, Rapid application development, Rational Unified Process, Requirements analysis, Scaled agile framework, Scott Ambler, Scrum (software development), Slow movement (culture), Soft systems methodology, Software deployment, Software design, Software development, Software development effort estimation, Software engineering, Software Engineering Process Group, Software framework, Software maintenance, Software product management, Software project management, Software prototyping, Software quality, Software release life cycle, Software requirements specification, Software testing, Spiral model, Structured analysis and design technique, Structured programming, Structured systems analysis and design method, System integration, Systems design, Systems development life cycle, Team software process, Top-down and bottom-up design, Trunk (software), Unified Modeling Language, Unified Process, V-Model (software development), Waterfall model, Winston W. Royce. Expand index (46 more) » « Shrink index
Agile software development describes an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s).
Agile Unified Process (AUP) is a simplified version of the Rational Unified Process (RUP) developed by Scott Ambler.
The arms industry, also known as the defense industry or the arms trade, is a global industry responsible for the manufacturing and sales of weapons and military technology.
Barry W. Boehm (born 1935) is an American software engineer, distinguished professor of computer science, industrial and systems engineering; the TRW Professor of Software Engineering; and founding director of the Center for Systems and Software Engineering at the University of Southern California.
In software engineering, behavior-driven development (BDD) is a software development process that emerged from test-driven development (TDD).
Benjamin Cummings specializes in science and is a publishing imprint of Pearson Education, the world's largest education publishing and technology company, which is part of Pearson PLC, the global publisher and former owner of Penguin Books and the Financial Times.
Big Design Up Front (BDUF) is a software development approach in which the program's design is to be completed and perfected before that program's implementation is started.
The Booch method is a method for object-oriented software development.
Business is the activity of making one's living or making money by producing or buying and selling products (goods and services).
Business process modeling (BPM) in business process management and systems engineering is the activity of representing processes of an enterprise, so that the current process may be analysed, improved, and automated.
Cap Gemini SDM, or SDM2 (System Development Methodology) is a software development method developed by the software company PANDATA in the Netherlands in 1970.
The Capability Maturity Model (CMM) is a development model created after a study of data collected from organizations that contracted with the U.S. Department of Defense, who funded the research.
Capability Maturity Model Integration (CMMI) is a process level improvement training and appraisal program.
In computing, the chaos model is a structure of software development.
Computer programming is the process of building and designing an executable computer program for accomplishing a specific computing task.
Computer-aided software engineering (CASE) is the domain of software tools used to design and implement applications.
In software engineering, continuous integration (CI) is the practice of merging all developer working copies to a shared mainline several times a day.
A data model (or datamodel) is a set of tables, linked by relationships and is an abstract model that organizes elements of data and standardizes how they relate to one another and to properties of the real world entities.
Data processing is, generally, "the collection and manipulation of items of data to produce meaningful information." In this sense it can be considered a subset of information processing, "the change (processing) of information in any manner detectable by an observer." Data processing is distinct from word processing, which is manipulation of text specifically rather than data generally.
A database is an organized collection of data, stored and accessed electronically.
A deliverable is a tangible or intangible good or service produced as a result of a project that is intended to be delivered to a customer (either internal or external).
Disciplined agile delivery (DAD) is a process decision framework that enables simplified process decisions around incremental and iterative solution delivery.
Dynamic systems development method (DSDM) is an agile project delivery framework, initially used as a software development method.
Extreme programming (XP) is a software development methodology which is intended to improve software quality and responsiveness to changing customer requirements.
A 4th-generation programming language (4GL) or (procedural language) is any computer programming language that belongs to a class of languages envisioned as an advancement upon third-generation programming languages (3GL).
Grady Booch (born February 27, 1955) is an American software engineer, best known for developing the Unified Modeling Language (UML) with Ivar Jacobson and James Rumbaugh.
The graphical user interface (GUI), is a type of user interface that allows users to interact with electronic devices through graphical icons and visual indicators such as secondary notation, instead of text-based user interfaces, typed command labels or text navigation.
The Incremental Funding Methodology (IFM) is an ROI-informed approach to software development in which software is developed and delivered in carefully prioritized chunks of customer valued functionality.
Information engineering (IE) or information engineering methodology (IEM) is a software engineering approach to designing and developing information systems.
An information system (IS) is an organized system for the collection, organization, storage and communication of information.
Inner source is the use of open source software development best practices and the establishment of an open source-like culture within organizations.
Installation (or setup) of a computer program (including device drivers and plugins), is the act of making the program ready for execution.
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development.
The ISO 9000 family of quality management systems standards is designed to help organizations ensure that they meet the needs of customers and other stakeholders while meeting statutory and regulatory requirements related to a product or service.
ISO/IEC/IEEE 12207 Systems and software engineering – Software life cycle processes is an international standard for software lifecycle processes.
ISO/IEC 15504 Information technology – Process assessment, also termed Software Process Improvement and Capability Determination (SPICE), is a set of technical standards documents for the computer software development process and related business management functions.
Iterative and Incremental development is any combination of both iterative design or iterative method and incremental build model for software development.
James Martin (19 October 1933 – 24 June 2013) was a British Information Technology consultant and author, known for his work on information engineering.
Jeffrey L. Whitten (born ca 1955) is an American computer scientist, and Professor of Information Technology at Purdue University, known with Kevin C. Dittman and Lonnie D. Bentley as co-author of the textbook Systems Analysis and Design Methods, which is now in its 7th edition.
Joint application design (JAD) is a process used in the life cycle area of the dynamic systems development method (DSDM) to collect business requirements while developing new information systems for a company.
Kanban is a lean method to manage and improve work across human systems.
Kevin C. Dittman (born ca. 1960) is an American computer scientist, IT consultant and Professor of Information Technology at the Purdue University, especially known for his textbook Systems analysis and design methods written with Lonnie D. Bentley and Jeffrey L. Whitten, which is in its 7th edition.
In computer science, a library is a collection of non-volatile resources used by computer programs, often for software development.
A lightweight methodology is a software development method that has only a few rules and practices, or only ones that are easy to follow.
This is a list of notable custom software projects which have significantly failed to achieve some or all of their objectives, either temporarily or permanently, and/or have suffered from significant cost overruns.
This is a list of approaches, styles, and philosophies in software development not included in the category tree of software development philosophies.
Lonnie D. Bentley (born 1957) is an American computer scientist, and Professor and former Department Head of Computer and Information Technology at Purdue University, known with Kevin C. Dittman and Jeffrey L. Whitten as co-author of the textbook Systems Analysis and Design Methods, which is now in its 7th edition.
Method engineering in the "field of information systems is the discipline to construct new methods from existing methods".
Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which may contain data, in the form of fields, often known as attributes; and code, in the form of procedures, often known as methods. A feature of objects is that an object's procedures can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self").
The open-source model is a decentralized software-development model that encourages open collaboration.
The Open Unified Process (OpenUP) is a part of the Eclipse Process Framework (EPF), an open source process framework developed within the Eclipse Foundation.
The following outline is provided as an overview of and topical guide to software engineering: Software engineering – application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is the application of engineering to software.
The term process model is used in various contexts.
Programming paradigms are a way to classify programming languages based on their features.
Programming style is a set of rules or guidelines used when writing the source code for a computer program.
Project management is the practice of initiating, planning, executing, controlling, and closing the work of a team to achieve specific goals and meet specific success criteria at the specified time.
A prototype is an early sample, model, or release of a product built to test a concept or process or to act as a thing to be replicated or learned from.
Rapid-application development (RAD) is both a general term, used to refer to adaptive software development approaches, as well as the name for James Martin's approach to rapid development.
The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003.
In systems engineering and software engineering, requirements analysis encompasses those tasks that go into determining the needs or conditions to meet for a new or altered product or project, taking account of the possibly conflicting requirements of the various stakeholders, analyzing, documenting, validating and managing software or system requirements.
The Scaled Agile Framework (abbreviated as SAFe), is a knowledge-base of organization and workflow patterns, made freely available while being a registered trademark of Scaled Agile, Inc.
Scott W. Ambler (born 1966) is a Canadian software engineer, consultant and author.
Scrum is an agile framework for managing work with an emphasis on software development.
The slow movement (sometimes capitalised Slow movement or Slow Movement) advocates a cultural shift toward slowing down life's pace.
Soft systems methodology (SSM) is an approach to organizational process modeling (business process modeling) and it can be used both for general problem solving and in the management of change.
Software deployment is all of the activities that make a software system available for use.
Software design is the process by which an agent creates a specification of a software artifact, intended to accomplish goals, using a set of primitive components and subject to constraints.
Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
Software development effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input.
Software engineering is the application of engineering to the development of software in a systematic method.
A Software Engineering Process Group (SEPG) is an organization's focal point for software process improvement activities.
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by additional user-written code, thus providing application-specific software.
Software maintenance in software engineering is the modification of a software product after delivery to correct faults, to improve performance or other attributes.
Software product management is the process of managing software that is built and implemented as a product, taking into account life-cycle considerations and generally with a wide audience.
Software project management is an art and science of planning and leading software projects.
Software prototyping is the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed.
In the context of software engineering, software quality refers to two related but distinct notions that exist wherever quality is defined in a business context.
A software release life cycle is the sum of the stages of development and maturity for a piece of computer software: ranging from its initial development to its eventual release, and including updated versions of the released version to help improve software or fix software bugs still present in the software.
A software requirements specification (SRS) is a description of a software system to be developed.
Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test.
The spiral model is a risk-driven process model generator for software projects.
Structured analysis and design technique (SADT) is a systems engineering and software engineering methodology for describing systems as a hierarchy of functions.
Structured programming is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by making extensive use of the structured control flow constructs of selection (if/then/else) and repetition (while and for), block structures, and subroutines in contrast to using simple tests and jumps such as the go to statement, which can lead to "spaghetti code" that is potentially difficult to follow and maintain.
Structured systems analysis and design method (SSADM), originally released as methodology, is a systems approach to the analysis and design of information systems.
System integration is defined in engineering as the process of bringing together the component sub-systems into one system (an aggregation of subsystems cooperating so that the system is able to deliver the overarching functionality) and ensuring that the subsystems function together as a system, and in information technology as the process of linking together different computing systems and software applications physically or functionally, to act as a coordinated whole.
Systems design is the process of defining the architecture, modules, interfaces, and data for a system to satisfy specified requirements.
Model of the systems development life cycle, highlighting the maintenance phase The systems development life cycle (SDLC), also referred to as the application development life-cycle, is a term used in systems engineering, information systems and software engineering to describe a process for planning, creating, testing, and deploying an information system.
In combination with the personal software process (PSP), the team software process (TSP) provides a defined operational process framework that is designed to help teams of managers and engineers organize projects and produce software products that range in size from small projects of several thousand lines of code (KLOC) to very large projects greater than half a million lines of code.
Top-down and bottom-up are both strategies of information processing and knowledge ordering, used in a variety of fields including software, humanistic and scientific theories (see systemics), and management and organization.
In the field of software development, trunk refers to the unnamed branch (version) of a file tree under revision control.
The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering, that is intended to provide a standard way to visualize the design of a system.
The Unified Software Development Process or Unified Process is a popular iterative and incremental software development process framework.
In software development, the V-model represents a development process that may be considered an extension of the waterfall model, and is an example of the more general V-model.
The waterfall model is a relatively linear sequential design approach for certain areas of engineering design.
Winston Walker Royce (August 15, 1929 – June 7, 1995) was an American computer scientist, director at Lockheed Software Technology Center in Austin, Texas.
Application lifecycle, Code & fix, Code and Fix, Code and fix, Conventional Methods for Software Engineering, Dev cycle, Development cycle, Development life cycle, Highlevel design, Information systems methodologies, Method (software engineering), Methodology (project engineering), Methodology (project management), Methodology (software engineering), Phases of the software development cycle, Program Development Cycle, Program development cycle, Programming methodology, Project engineering methodology, SDLC Auditing, SDM2, Sdm2, Software Developement Life Cycle, Software Development Life Cycle, Software Development Process, Software Devlopment Process, Software Methodologies, Software Process, Software development cycle, Software development life cycle, Software development methodologies, Software development methodology, Software development model, Software development process models, Software development technique, Software development techniques, Software engineering lifecycle, Software engineering methodologies, Software engineering methodology, Software engineering process, Software lifecycle, Software methodologies, Software process, SoftwareDevelopmentProcess, System Development Methodologies, System Development Methodology, System development methodology, Systems Development Process, Systems developer, Systems development, Systems development methodology, Systems development process.