Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques.

Similar presentations


Presentation on theme: "1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques."— Presentation transcript:

1 1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques

2 2 Lecture Outline To explain how an iterative, incremental development process leads to faster delivery of more useful software. To discuss the essence of agile development methods.

3 3 Rapid software development Because of rapidly changing business environments, businesses have to respond to new opportunities and competition. This requires software and rapid development and delivery is not often the most critical requirement for software systems.

4 4 Rapid software development Businesses may be willing to accept lower quality software if rapid delivery of essential functionality is possible.

5 5 Agile methods Dissatisfaction with the overheads involved in design methods led to the creation of agile methods. These methods: Focus on the code rather than the design; Are based on an iterative approach to software development; Are intended to deliver working software quickly and evolve this quickly to meet changing requirements.

6 6 Agile methods Agile methods are probably best suited to small/medium-sized business systems or PC products.

7 7 Principles of agile methods PrincipleDescription Customer involvement Customer closely involved through out the development process. Their role is to provide and priorities new system requirements; and To evaluate the iterations of the system.

8 8 Principles of agile methods PrincipleDescription Incremental delivery Software is developed in increments; With the customer specifying the requirements to be included in each increment.

9 9 Principles of agile methods PrincipleDescription People not process Skills of development team should be recognized and exploited. Teams should be left to develop their own ways of working Without prescriptive processes.

10 10 Principles of agile methods PrincipleDescription Embrace change Expect the system requirements to change; and Design the system so that it can accommodate these changes.

11 11 Principles of agile methods PrincipleDescription Maintain simplicity Focus on simplicity in both the software being developed; and In development process. Actively work to eliminate complexity from the system.

12 12 Problems with agile methods It can be difficult to keep the interest of customers who are involved in the process. Team members may be unsuited to the intense involvement that characterises agile methods.

13 13 Problems with agile methods Prioritizing changes can be difficult where there are multiple stakeholders. Maintaining simplicity requires extra work. Contracts may be a problem as with other approaches to iterative development

14 14 Extreme programming – best known agile method. Extreme Programming (XP) takes an ‘extreme’ approach to iterative development. New versions may be built several times per day; Increments are delivered to customers every 2 weeks; All tests must be run for every build and the build is only accepted if tests run successfully.

15 15 The XP release cycle

16 16 Extreme programming practices 1

17 17 Extreme programming practices 2

18 18 XP and agile principles Incremental development is supported through small, frequent system releases. Customer involvement means full-time customer engagement with the team. People not process through pair programming, collective ownership and a process that avoids long working hours. Change supported through regular system releases.

19 19 Key Points An iterative approach to software development leads to faster delivery of software. Agile methods are iterative development methods that aim to reduce development overhead and so produce software faster. Extreme programming


Download ppt "1 Software Testing and Quality Assurance Lecture 34 – SWE 205 Course Objective: Basics of Programming Languages & Software Construction Techniques."

Similar presentations


Ads by Google