Software-based Systems Development Process (SDLC) Stage
A Software-based Systems Development Process (SDLC) Stage is a development lifecycle stage for software-based system development (to create software-based systems).
- Context:
- It can follow a Software Development Methodology.
- It can be supported by SDLC Supporting Systems.
- …
- Example(s):
- SDLC Analysis/Feasibility Stage: Determine the overall project scope, including economic, operational, and human factors. Identify key personnel, and develop timelines.
- SDLC Planning Stage: Define user requirements, and identifies and documents needed features and overall capabilities. Indentify more detailed risks and constraints.
- SDLC Design Stage: Write a detailed technical design that can facilitate development. It can include hardware, software, and network requirements.
- SDLC Development Stage: Write software code, as well as constructing and fine-tuning technical and physical configurations. Components such as databases and user interfaces are integrated into the system.
- SDLC Testing Stage: Includes various types of testing to ensure that the system meets requirements and is of high quality. These tests can include unit testing, integration testing, system testing, and acceptance testing,
- SDLC Deployment Stage: The system is put into a production environment, where it is used to conduct business. It can include training users and transferring data to the new system.
- SDLC Maintenance Stage: React to remedy system issues, such as fixing bugs. Proactively perform simple maintenance such as updating 3rd party software, and improving performance.
- SDLC Continuous Improvement Stage: Continuous proactive evaluation of what sub-system could be improved to meet changing business needs and to ensure that the system remains relevant and effective.
- SDLC End-of-Life Stage: Identify and decommission surplus or obsolete assets. It can include preserving data for future reference or analysis.
- ...
- Review also: Systems Analysis, Software Design, Software Development, Software Testing, Software Documentation, Software Evaluation, Software Maintenance.
- …
- Counter-Example(s):
- See: Software Project Management, Deliverable, Agile Software Development, Waterfall Model, Software Prototyping, Iterative And Incremental Development, Spiral Development, DevOps, Kanban Scheduling System, Integrated Project Delivery, Project Management Methodology.
References
2020
- (Wikipedia, 2020) ⇒ https://en.wikipedia.org/wiki/Systems_development_life_cycle Retrieved:2020-10-2.
- In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life-cycle, is a process for planning, creating, testing, and deploying an information system. [1] The systems development life cycle concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.
- ↑ SELECTING A DEVELOPMENT APPROACH. Retrieved 17 July 2014.
2020
- (Wikipedia, 2020) ⇒ https://en.wikipedia.org/wiki/Software_development_process Retrieved:2020-10-2.
- In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Most modern development processes can be vaguely described as agile. Other methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, and extreme programming.
A life-cycle "model" is sometimes considered a more general term for a category of methodologies and a software development "process" a more specific term to refer to a specific process chosen by a specific organization. For example, there are many specific software development processes that fit the spiral life-cycle model. The field is often considered a subset of the systems development life cycle.
- In software engineering, a software development process is the process of dividing software development work into distinct phases to improve design, product management, and project management. It is also known as a software development life cycle (SDLC). The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
2017
- http://www.indusa.com/articles/guide-to-software-product-development-process/
- QUOTE: ... A robust software product development process not only improves the quality of the end product but also the overall development process. ... The software product development process is a fundamental tool for facilitating a large number of people to work together on a collaborative project. Since the outcome of a methodical approach is fewer defects, it ultimately drives shorter delivery times and better value. By structuring, planning, monitoring, and controlling the process of development, the software product development process enables the following benefits:
- QUOTE: ... A robust software product development process not only improves the quality of the end product but also the overall development process. ... The software product development process is a fundamental tool for facilitating a large number of people to work together on a collaborative project. Since the outcome of a methodical approach is fewer defects, it ultimately drives shorter delivery times and better value. By structuring, planning, monitoring, and controlling the process of development, the software product development process enables the following benefits:
2017
- (Elby, 2017) ⇒ https://smartsheet.com/system-development-life-cycle-guide
- QUOTE: You may find phases with varying naming conventions, but these are the most common stages of SDLC. Organizations may adopt any, all, or a variation of these phases:
- Analysis/Feasibility: For an SDLC strategy to work there should be a strong idea of what deficiencies exist in the current structure and the goals for the new approach. A feasibility study determines if you can or should accomplish the goals of the plan. Information is gathered and analyzed to identify what technical assets, personnel, and training is already in place and utilized. The study also inventories what is needed to augment or replace, and at what cost. During this phase you determine the overall project scope, including economic, operational and human factors, identify key personnel, and develop timelines.
- Planning/Requirements: A plan can include adapting a current system to meet new needs or developing a completely new system. This phase defines user requirements, identifies needed features, functions, and customizations, and investigates overall capabilities
- Design: Once you make the plan and identify costs, systems, and user requirements, a detailed system design can begin that includes features and other documentation. The architects can then build a sample framework.
- System Development: An approved design is the catalyst for authorizing development for the new or augmented system. Some say that this is the most robust part of the life cycle. During this phase, developers write code and you construct and fine-tune technical and physical configurations.
- Testing: Users are brought in to test before deployment to identify areas of concern or improvement.
- Deployment: The system is put into a production environment and used to conduct business.
- Maintenance: The cyclical nature of SDLC recognizes that the process of change and upgrading are constant. Carry out the replacement of outdated hardware/software, security upgrades, and continuous improvement on a regular basis.
- SDLC Evaluation Stage: An often overlooked element of any large scale system roll-out is the evaluation process, which supports the continuous improvement of the system. The team continuously reviews what is working and what is in need of improvement. This can mean recommending additional training, procedures, or upgrades.
- Disposition/Disposal/End-of-Life: A well-rounded life cycle identifies and decommissions surplus or obsolete assets at the end of their life cycle. Included in this phase is the secure retrieval of data and information for preservation, as well as, the physical disposition of an asset.
- .
- QUOTE: You may find phases with varying naming conventions, but these are the most common stages of SDLC. Organizations may adopt any, all, or a variation of these phases:
2016
- (Wikipedia, 2016) ⇒ https://en.wikipedia.org/wiki/software_development_process Retrieved:2016-8-2.
- In software engineering, a software development methodology (also known as a system development methodology, software development life cycle, software development process, software process) is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management. It is often considered a subset of the systems development life cycle. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
Common methodologies include waterfall, prototyping, iterative and incremental development, spiral development, rapid application development, extreme programming and various types of agile methodology. Some people consider a life-cycle "model" a more general term for a category of methodologies and a software development "process" a more specific term to refer to a specific process chosen by a specific organization. For example, there are many specific software development processes that fit the spiral life-cycle model.
- In software engineering, a software development methodology (also known as a system development methodology, software development life cycle, software development process, software process) is a splitting of software development work into distinct phases (or stages) containing activities with the intent of better planning and management. It is often considered a subset of the systems development life cycle. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.
2012
- (Balaji & Murugaiyan, 2012) ⇒ S. Balaji, and M. Sundararajan Murugaiyan. (2012). “Waterfall Vs. V-Model Vs. Agile: A Comparative Study on SDLC.” International Journal of Information Technology and Business Management 2, no. 1
- ABSTRACT: Organizations that are developing software solution are faced with the difficult choice of picking the right software development life cycle (SDLC). The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The V-model represents a software development process which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. Agile Modeling is a practice-based methodology for modelling and documentation of software-based systems. It is intended to be a collection of values, principles, and practices for modelling software that can be applied on a software development project in a more flexible manner than traditional Modelling methods. This comparative summarizes the steps an organization would have to go through in order to make the best possible choice.