Software LEIC. Lecture 26

Size: px
Start display at page:

Download "Software LEIC. Lecture 26"

Transcription

1 Software LEIC Lecture 26

2 Last Lecture Software Evolution Evolution Process Project Management Software Configuration Software Process

3 Today Software Process Agile Methods Hot Topics in Software Engineering Big Data Cloud

4 Software Process

5 Agile Methods

6 The Agile Manifesto (

7 The Agile Manifesto Individuals and interactions over processes and tools (

8 The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation (

9 The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation (

10 The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan (

11 (Fig 3.1, Sommerville)

12 extreme Programming (

13 How frequent risks are dealt by XP

14

15 Business changes customer can change requirements that are not yet implemented

16 Business changes customer can change requirements that are not yet implemented Schedule slips several small versions, short duration

17 Business changes customer can change requirements that are not yet implemented Schedule slips several small versions, short duration Project cancelled customer chooses the smaller version that has the biggest business impact

18

19 System goes sour a set of test is executed whenever the system is changed

20 System goes sour a set of test is executed whenever the system is changed Defect rate testing from different perspectives:

21 System goes sour a set of test is executed whenever the system is changed Defect rate testing from different perspectives: Programmer

22 System goes sour a set of test is executed whenever the system is changed Defect rate testing from different perspectives: Programmer User

23

24 Business misunderstood customer is part of the team

25 Business misunderstood customer is part of the team False feature rich only the highest priority activities are performed

26 Business misunderstood customer is part of the team False feature rich only the highest priority activities are performed Staff turnover foster communication, programmers estimate their work duration

27

28

29 Hot Topics

30 Big Data

31 Big Data software engineering use of big data

32 Big Data software engineering use of big data development of big data applications

33 Empirical Software Engineering

34 Questions that they try to answer by using big data

35 Can the testing process be optimised?

36 Do code reviews make a difference?

37 Is coding velocity and quality always a tradeoff?

38 What is the optimal way to organize work on a large team?

39 The development of Windows and Office generates a lot of data

40

41 Optimitize Integration Tests Cost(execution) > Cost(skip)? suspend : execute test

42 reduction of 50% of test executions Optimitize Integration Tests Cost(execution) > Cost(skip)? suspend : execute test

43 Characterize useful code reviews reviewer selection more files less useful

44 Data Lake

45 Applications will increasingly use big data

46 There should not be assumptions about the data schema

47 Data should not be cleaned

48 Data should not be aggregated

49

50 Separate operational from analytics systems

51 Separate competences

52 Traceability with the source of data

53 Security concerns

54

55 Cloud

56 Microservices

57 Architectural Style (Pattern)

58 Architectural Style (Pattern) small services

59 Architectural Style (Pattern) small services own processes

60 Architectural Style (Pattern) small services own processes lightweight communication

61 Monolithic vs Microservices

62

63 Enforces visibility restrictions

64 Team Organisation

65

66

67 Decentralized Data Management

68

69 transactionless coordination between services

70 Continuous Delivery

71