Summary INF 3705study-notes
Rapid development and delivery is often the most critical requirement for software systems. 3.1 Agile Methods Agile methods universally rely on an incremental approach to software specification, development and delivery. They are best suited to application development where the system requirements usually change rapidly during the development process. They are intended to deliver working software quickly to customer, who can then propose new and changed requirement to be included in later iterations of the system. The best-known agile method is extreme programming. Others include, Scrum, Crystal, Adaptive Software Development, DSDM and Feature Driven Development. Agile methods have been very successful for some types of system development: - Product development where a software company is developing a small or medium-sized product - Custom system development within an organization, where there is a clear commitment from the customer to become involved in the development process and where there are not a lot of external rules and regulations that affect the software. 3.2 Plan-driven and agile development Agile approaches to software development consider design and implementation to be the central activities in the software process. By contrast, a plan-driven approach identifies separate stages in the software process with outputs associated with each stage. The outputs from one stage are used as a basis for planning the following process activity. In a plan-driven approach, iteration occurs within activities with formal documents used to communicate between stages of the process. For example, the requirements will evolve and, ultimately, a requirements specification will be produced. This is then an input to the design and implementation process. In an agile approach, iteration occurs across activities. Therefore, the requirements and the design are developed together, rather than separately. 3.3 Extreme Programming XP is the best known and most widely used of the agile methods. The approach was developed by pushing recognized good practice, such as iterative development, to ‘extreme’ levels. In extreme programming, requirements are expressed as scenarios (called user stories), which are implemented directly as a series of tasks. Programmers work in pairs and develop tests for each task before writing the code. All tests must be successfully executed when new code is integrated into the system. Extreme programming involves a number of practices, summarized in which reflect the principles of agile methods: 1. Incremental development is supported through small, frequent releases of the system. Requirements are based on simple customer stories or scenarios that are used as a basis for deciding what functionality should be included in a system increment
Geschreven voor
- Instelling
- University of South Africa
- Vak
- INF3705 - Advanced Systems Development
Documentinformatie
- Geüpload op
- 28 november 2021
- Aantal pagina's
- 41
- Geschreven in
- 2021/2022
- Type
- SAMENVATTING
Onderwerpen
-
inf 3705study notes
Ook beschikbaar in voordeelbundel