Download presentation
Presentation is loading. Please wait.
Published byElwin Nash Modified over 8 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.