1 Abstract 3
2 Basic concepts 4
3 Agile process 5
3.1 Traditional methodologies vs Agile methodologies . 5
3.2 Waterfall process vs Agile process . 6
3.3 General features of agile methodologies. 8
3.4 Scrum 9
3.4.1 Meetings. 10
3.4.2 Artifacts. 10
3.4.3 Roles and responsibilities. 12
3.4.4 Tools 13
3.5Extreme programming 14
3.5.1 The whole team of XP 15
3.5.2 Planning practices. 16
3.5.3 Design practices. 17
3.5.4 Development practices. 17
3.5.5 Testing practices 18
3.6 Conclusions. 19
4 Software quality 21
4.1 Software process quality 22
4.1.1 Process model quality. 23
184.108.40.206 ISO 12207 23
220.127.116.11 CMMI-DEV 26
4.1.2 Process evaluation model. 31
18.104.22.168CMMI - SCAMPI 31
22.214.171.124 ISO 15504 - SPICE 33
4.2 Software products quality – ISO 9126 36
4.2.1 Functionality 37
4.2.2 Portability 37
4.2.3 Reliability 38
4.2.4 Usability 38
4.2.5 Efficiency 39
4.2.6 Maintainability 39
5 Bibliography 41
Nowadays, the studies indicate that the current software industry is characterized by rapid applications development andreducing product life. In this unstable environment, we have to increase the productivity and satisfy the needs of the customer in the shortest time possible.
We should reflect about the adaptation degree of conventional methods such circumstances. Most studies agree in that the excessive previous planning to the development that conventional methodologies define, do not allow to cover the needs ofthe software market.
In the last years, agile methodologies are one of the most recent subject in software engineering. Proof of that is the number of conferences and workshops have been increased in the last years. The agile methodologies are creating a new form to produce software and in turn are generating a debate between its followers and those who think that the agile methodologies are notan alternative to traditional process.
Since competition is stronger every day, software companies must worry about giving a better product. Important reasons to develop quality software could be satisfaction of the client, competition and avoid defects in the software.
Not only is important rapid software development but also developing quality software. For that, organizations should follow amodel or standard that helps them achieve their goal of quality.
In this report I present the values, principles of the agile methodologies as well as a comparison among different methodologies. It will be analyzed the main proposals like “Extreme Programming” and “Scrum” and on the other hand I will refer to the main standard of quality.
Developing software is not an easy task.For that there are many methodologies which insist in different parts of the development process.
In software engineering and project management, a methodology is a codified set of recommended practices, sometimes accompanied by training materials, formal education programs, worksheets and diagramming tools.
Software process includes the set of activities, as much administrative as technical,which are necessary to develop a software system. This process starts from requirements study until the maintenance of the product. It includes development, configurations management, testing, quality…
The generic phases of the process are applied to every software. Now, we have to select the right process model in order to finish the product properly. Somerville defines a process model as: “Asimplified representation of a software process, represented from a particular perspective. By their nature are simplified models, so a software process model is an abstraction of a real process.”
| | APPOACH |
| | Engineering | Evolutionary | Objects | Agile |
MODEL | Waterfall | x | | | |
| Prototype | | x | | |
| Spiral | | x | | |
| Incremental |...