Presentation is loading. Please wait.

Presentation is loading. Please wait.

Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 1.

Similar presentations


Presentation on theme: "Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 1."— Presentation transcript:

1 Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 1

2 Agile Development Case Study: Project Management Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 2

3 Agile Processes – the Team It all starts with the team – Small – seven members – Highly experienced in the application domain (spacecraft and satellite control systems) – Worked well together – Charismatic leader – Excellent relationship with upper-level management Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 3

4 Agile Processes – the Management Highly supportive Trusted the team Had the same goals – More – Better – Cheaper – Faster Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 4

5 Agile Processes – the Customers Really wanted – More – Better – Cheaper – Faster Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 5

6 Agile Processes - The context The seven-member team was part of a larger effort in which multiple teams and internal organizations competed to get their ideas implemented. Multi-year effort Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 6

7 Goal: Improve the Team’s Self- Organizing Factor SOF = (management + external test) / ( management + systems engineering + requirements gathering + implementation + internal test + external test + maintenance + system administration + documentation) Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 7

8 Why improve the SOF? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 8

9 Why improve the SOF? Because projects with a low SOF made greater improvements in costs and greater reduction of testing costs Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 9

10 Case Study of Management Perspective on Requirements in Agile Development Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 10

11 Case Study Context Experienced team in the domain of spacecraft control systems Most of the team had won an award for cost savings, even while producing software of very high quality Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 11

12 Fundamental Assumptions The team is experienced in the application domain and buys in to agile processes The team is talented Team members can work independently The team knows the capability and quality of available large-scale components and COTS products Management support using agile processes Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 12

13 Team attitudes Avoided the “Not Invented Here Syndrome” Attitude projected was more of “I can't tell you what I want, but I'll let you know when you get there!” Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 13

14 The Requirements Started out vague and broadly focused Selected a COTS product, LabView, to control software – LabView normally used to control experiments – LabView had an international user base and was unlikely to be discontinued Applied agile techniques to a large set of systems Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 14

15 Experience allowed decreased time to gather requirements Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 15

16 The Agile Case Study: Design Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 16

17 Two tools A comprehensive discrepancy system – Combined results from many disparate databases developed on a project-by-project basis – Had sufficient clout to access legacy data A concurrent version system – Coordinated many ad hoc ones Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 17

18 Two tools, cont. These tools were created quickly, and minor formatting errors were overlooked To make the tools’ output pretty would have diluted the agile project’s focus Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 18

19 COTS selection Continued during the entire “design process” Only the data interfaces between large-scale components were considered, not the internal design details of these large-scale components Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 19

20 The Agile Development Case Study: Coding Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 20

21 Perspectives The object of coding in an agile development process is to create a high-quality system as rapidly as possible. As little effort placed on non-coding-related issues during the coding process as is humanly possible. Little effort placed on coding standards. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 21

22 Perspectives, cont. Source code written by different members of the agile team may not follow coding standards about indentation and the actual physical presentation of the formatting. Standards, if any, will be those used by the IDE. The use of configuration management tools for version control is almost universal. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 22

23 Perspectives, cont. Internal documentation of the code will be a lower priority than the actual development and testing of the source code. The testing of the code is paramount. It is primarily focused on the interfaces between components, COTS products, and subsystems. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 23

24 Perspectives, cont. It is not clear if lack of adherence to coding standards in an agile development process will have any effect on the maintenance of such a system over time. For systems that are expected to have short deployment lifetimes, any maintenance problems that do occur are not likely to be major ones. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 24

25 The Agile Case Study: Testing and Integration Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 25

26 Agile Testing Agile testing is a practice that follows the so- called “ agile manifesto, ” emphasizing testing from the perspective of customers who will use the system. Agile testing is not a separate phase in a life cycle. Agile testing deemphasizes more defined testing procedures. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 26

27 Agile Testing, cont. Because of the lack of more formally defined testing procedures, agile development is not employed on most government or commercial software projects. Agile development is almost never used on safety-critical systems. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 27

28 Agile testing, cont. The agile testing process tests newly developed code iteratively until sufficient quality is achieved, at least from the perspective of end users. The goal is to have the entire project team, including testers and end users, work toward demonstrable quality. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 28

29 Testing is embedded in the agile process Developers work hand-in-hand with customers during development. Regression testing is universally used. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 29

30 Testing in our case study One goal was to minimize testing by using COTS products, even ones not often used in this application domain (such as MatLab). Regression testing was constantly used. Our case study did not use test-driven development (defined on the next slide) extensively. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 30

31 Test-driven development Automated tests are created, after which software is written to minimally pass the test. The tests are created with the input of the customers working with the agile process software developers. This extends the idea of a requirements traceability matrix and testable requirements. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 31

32 Agile Development Case Study: Delivery, Installation, and Documentation Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 32

33 Very different from other processes Most required components will be available on the target machine. The many prototypes in this type of development have been refined until they meet the customer’s requirements Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 33

34 An observation There is little actual data on the delivery costs and installation/documentation effort for projects that use an agile development process. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 34

35 Agile Development Case Study: Delivery, Installation, and Documentation Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 35

36 Very different from other processes Most required components will be available on the target machine. The many prototypes in this type of development have been refined until they meet the customer’s requirements Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 36

37 An observation There is little actual data on the delivery costs and installation/documentation effort for projects that use an agile development process. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 37

38 Agile Development Case Study: Maintenance and Evolution Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 38

39 The nature of agile development Rapid development of well-tested software in cooperation with a “customer.” It is highly unlikely that any significant portion of the agile development team will be around the organization during maintenance. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 39

40 Agile development and maintenace Few agile developers work on software maintenance Maintenance requires considerable effort understanding programs before systems can be maintained. Little reliable data on the cost of maintaining agile systems. Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 40

41 An opportunity Software developed using agile processes is often created faster than faster than similar projects using other methods. Are the agile projects “better?” Are total life cycle costs lower, higher, or the same? How can we tell what’s best for our organization? Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 41

42 The solution Use maintenance information to analyze quality and other metrics on different types of software development processes. The goal is process improvement. NOTE: this analysis of maintenance data is not part of an agile process, but it is part of software engineering! Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 42


Download ppt "Case Study of Agile Development Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014, 2015 1."

Similar presentations


Ads by Google