Abstract Details

<< Back to Schedule

9/27/2017  |   1:05 PM - 1:50 PM   |  

Agile and Other Trends in Software Engineering

Successfully developing and delivering multi-year, multi-person software projects remains a highly challenging task. Software engineering researchers have spent considerable energy investigating ways to improve this situation by developing various processes, techniques, and tools over the last five decades. Understanding trends in the current state of the practice is crucial to identifying the challenges that software engineers face today, the changes their organizations are tackling, and how these challenges and changes impact industrial software production. This paper reports survey results from 99 software engineering developers and managers regarding their choice of process, technique, and tools, as well as their impressions as to the contributing factors towards project success or failure. In particular, the paper includes a focus on trends in adoption of agile practices. The data reinforces some known challenge areas such as the need for more effective communication. It also shows that there is a clear trend towards agile adoption across organizations, albeit traditional processes are still firmly entrenched in some areas. Scrum is the most common agile process in use, but it often gets adapted differently by different organizations, each according to their need. On the other hand, extreme programming was found to be almost non-existent in practice. The data also reveals that inadequate or unclear requirements are still the major problem that dogs the software industry. Similarly, a lack of rigorous time and cost estimation is commonplace. Together these two alone may explain the staggeringly high rate of software failures and delays. Finally, tool usage in industry varies quite widely; but there are certain areas (such as version control and unit testing) witnessing almost universal tool adoption.

This presentation has not yet been uploaded.

No handouts have been uploaded.

M Raunak (Primary Presenter,Author), Loyola University Maryland, raunak@loyola.edu;
Dr. Mohammad Raunak is an Associate Professor of computer science at Loyola University Maryland, Baltimore, MD. He earned his M.S. and Ph.D. from University of Massachusetts Amherst under the supervision of Prof. Lee Osterweil, a pioneer in software process research. Dr. Raunak's research area is software engineering, specifically, verification and validation of software systems. His research interest includes developing and measuring test approaches for 'difficult-to-test' programs such as cryptographic functions, simulation model validation, as well as software and other human-centric process modeling and analysis. He regularly teaches software engineering and software testing at Loyola. During his recent sabbatical in 2016-17, Dr. Raunak worked as a guest researcher in the computer security division of National Institute of Standards and Technology.

David Binkley (Co-Presenter,Co-Author), ;

2017 Sponsors: IEEE and IEEE Computer Society