Rapid, Evolutionary, Reliable, Scalable System and Software Development: The Resilient Agile Process

被引:6
作者
Rosenberg, Doug [1 ,2 ]
Boehm, Barry W. [2 ]
Wang, Bo [2 ]
Qi, Kan [2 ]
机构
[1] ICONIX Software Engn, Los Angeles, CA 90064 USA
[2] USC, Los Angeles, CA 90007 USA
来源
ICSSP'17: PROCEEDINGS OF THE 2017 INTERNATIONAL CONFERENCE ON SOFTWARE AND SYSTEM PROCESS | 2017年
关键词
agile development; schedule compression; rapid delivery; NoSQL; REST; code generation; MVC; parallel development; scalable software development; ICSM; microservice architecture; resilient software; UML modeling; use case driven development;
D O I
10.1145/3084100.3084107
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The increasing pace of change in competition, technology, and complexity of software-intensive systems has increased the demand for rapid, reliable, scalable, and evolvable processes. Agile methods have made significant contributions to speeding up software development, but often encounter problems with reliability, scalability, and evolvability. Over the past 3 years, we have been experimenting with an approach called Resilient Agile (RA), which addresses these problems while also speeding up development by finding enablers for parallel systems engineering, development, and test. This paper summarizes our experience in defining and evolving RA by applying it to three representative emergent-technology applications: Location-Based Advertising, Picture Sharing, and Bad Driver Reporting. In comparison with the mainstream Architected Agile process that we had been using on similar systems, the RA process achieved fewer defects and significant speedups in system development and evolution. The paper summarizes the overall challenge of software schedule compression; identifies managed parallel development as generally the most powerful but least-practiced strategy for schedule compression; summarizes the key elements required to support parallelism, including specific model-driven system development techniques, automatic generation of key elements and realistic schedule and effort estimation. It then summarizes the three successful Resilient Agile projects to date, provides criteria for selecting a Resilient Agile process, and summarizes the key techniques for scaling up Resilient Agile, using a previous million-line command and control project as an example.
引用
收藏
页码:60 / 69
页数:10
相关论文
共 36 条
[1]  
[Anonymous], THESIS
[2]  
[Anonymous], EFFECTIVE DEVOPS
[3]  
[Anonymous], 2007, Scaling Software Agility: Best Practices for Large Enterprises
[4]  
[Anonymous], SOFTWARE COST ESTIMA
[5]  
[Anonymous], 2010, Kanban-Successful Evolutionary Change for your Technology Business
[6]  
[Anonymous], WILEY SERIES SOFTWAR
[7]  
[Anonymous], INCOSE INT S
[8]  
[Anonymous], TR034 SERC
[9]  
[Anonymous], 1998, Microsoft secrets: how the world's most powerful software company creates technology, shapes markets, and manages people
[10]  
[Anonymous], 2009, P INT C COMP INT SOF, DOI DOI 10.1109/CISE.2009.5364515