
Int'l Conf. Frontiers in Education: CS and CE | FECS'15 | 149 Agile Systems Integration Process Jason D. Winningham, David J. Coe, and Jeffrey H. Kulick Department of Electrical and Computer Engineering University of Alabama in Huntsville, Huntsville, Alabama, USA requirements and ending in the verification and validation, Abstract - This paper presents an adaptation of an Agile that the code meets the requirements and the requirements development process specifically tailored towards software are the correct one for the system. However, as we all systems integration projects. The proposed Agile Systems know, system requirements change as a system evolves. Integration Process has been piloted in a senior-level Over the multi-year development cycle of a weapon system, software engineering studio course using an HO gauge for example, technology evolves and threats emerge that model of a Positive Train Control system as the cyber- were unforeseen at the time the program started. physical target hardware. The software developed by the students included five components: train scheduling, interactive display control, walk-about tablet manual controller, track geometry and connectivity input and safety monitoring software. Approximately 30 students were divided into ten teams with two teams competing to build each of the five components. This paper discusses what aspects of the proposed Agile systems integration process worked successfully and several important lessons learned to improve future performance. Keywords: Agile, systems integration, positive train control, agile in an educational environment 1 Introduction The classical approach to software development is Figure 1 – Classic Waterfall Process [1] called the Waterfall process, which is shown in Figure 1 A modified Waterfall model, called the spiral model below [1]. This paradigm is often used in industries that has evolved to allow for a cyclic evolution of complex have large complex systems that have to be sustained over products [4]. As shown in Figure 2, each phase is run to many years such as aircraft, weapons systems, and cyber- completion with a delivered product following which the physical systems. Oftentimes the process is proscribed by a requirements are re-evaluated, the design re-considered and certification organization such as the Federal Aviation new requirements and design elements added. During the Administration (FAA) for aircraft systems. The currently multiple cycles of the spiral process full-fledged artifacts are followed processes, DO-178C calls for explicit produced including requirements, design, code and test, and identification of the phases and artifacts of each stage and integration test documents. formal reviews either by the FAA or it’s representative While these processes are appropriate and even called a DER (Designated Engineering Representative) [2]. required by many industries, the new more responsive Agile Each stage of development has formally identified approach has been developed for applications that do not documents that must be produced as part of the states: have the need for detailed artifacts or reviews. Agile requirements document, design document, code and unit test development processes are often used by small teams of documents, integration documents. developers for short lifetime or short turnaround products At the production of each artifact, the quality of the such as cell phone applications or internal research and artifact is assessed. A formal review is performed including development projects. In an Agile process such as Scrum, a requirements review, design review, unit test review, requirements are replaced by user stories and the integration test, and independent verification and validation development cycle is very short, called sprints. Often these review. The goal of these quality control steps is to identify sprints are just a few weeks long. At each sprint the defects as early as possible since the defect removal cost development team consults with the customer, identifies part increases exponentially the longer the defect remains in the of the product that can be produced in the next sprint, and product [3]. develops and tests the code for that sprint. A key element of The advantage of the Waterfall approach is that much Agile processes is the delivery of an implemented and tested thought must be given to each stage, starting with the partial product at the end of each sprint. 150 Int'l Conf. Frontiers in Education: CS and CE | FECS'15 | of developers. Below we first present a description of the senior software studio course, the cyber-physical system utilized during the pilot study, and the Agile systems integration process as employed in the pilot study. 2 Agile senior software studio course Our senior-level software engineering studio course was chosen to pilot the Agile systems integration process. This one semester course was originally created to provide an immersive team software development experience for undergraduate computer engineering students at the University of Alabama in Huntsville (UAH). In this course, teams of three to four students design, implement, and test a non-trivial software product. As the course was initially formulated, students employed a Waterfall methodology that included the preparation of several milestone documents including the Software Requirements Specification (SRS), Software Design Document (SDD), Figure 2 – Spiral development process [4] and Software Test Plan (STP) in addition to development and testing of the software itself. After several offerings of One huge advantage of the Agile approach is that the course, it became clear that one semester was too little defective or misunderstood requirements are very quickly time for some students to develop a high quality non-trivial identified since the intended interpretation of the product using a Waterfall methodology. requirements are revealed within a short period. There is no In early 2011, a more Agile process derived from question that defective or conflicting requirements are Scrum was adopted for use in the course. In developing this rapidly identified and remediated. process, it was important to retain some elements of a As development of large cyber-physical systems have Waterfall process such as traceability and test coverage evolved, which have traditionally used a Waterfall process, analysis since many graduates from UAH remain in north developers have been using modeling, simulation, and Alabama developing safety-critical systems such as hardware in the loop for systems of systems integration to helicopters, missiles, and radar systems. It was also deal with the misalignment of development times and important to reduce documentation demands so that students delivery dates for completed subsystems. So it is not had more time to implement and test their products. uncommon for a complex system to be built completely At the beginning of the course, students are divided virtually, instantiated in a hardware-in-the-loop framework into teams of three to four students. Every student on the (HWIL), and have component parts replaced piece by piece team develops his or her own complete proposal for a team- (when available). Even after the component parts are sized project that satisfies the list of project constraints, available, virtual implementations may continue to be used which include development of an open source product, use due to limited availability of hardware or software of real-time interactive graphics, the use of socket-based components. Thus complex missile systems may have networking, interaction with an SQL database, and started with some legacy hardware, simulation models of mandatory use of Subversion repository. Given the threats, sensor behavior, command and control components, constraints, students typically pursue development of a and synthetic threat model generators. As the system video game or simulation. The project proposal includes the progresses, components of the HWIL system will be following sections. replaced with real hardware/software as part of the system integration activities. Parts, such as threat simulations may • Project Overview remain in their initial form as Agile developed components • Market Research so that they may be rapidly adjusted to model evolving threats and sensor capabilities. So there is a need for • Fundamental Requirements systems of systems integration with both fully Agile • Storyboard developed components and mixed systems with traditional • Derived Requirements waterfall and Agile developed subsystems. o High-level use cases In this framework the University of Alabama in o Non-functional requirements Huntsville evolved an existing agile development senior software design studio into a systems of systems integration • Traceability experience using Agile-developed parts by multiple teams Int'l Conf. Frontiers in Education: CS and CE | FECS'15 | 151 After receiving feedback from the instructor on the document deliverables are updated and completed to match proposals, each team must select the project they want to the as-built product. pursue from the set of the project proposals produced by While the implemented and tested source code within members of that team. the Subversion repository was the primary course The modified Scrum process includes the following deliverable, students were also required to deliver a set of five steps, which are further explained below. requirements, which consisted of the set of as-implemented • Sprint planning use cases
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages6 Page
-
File Size-