T3: Using Software Development Artifacts to Improve the Software Development Process

July 22 (Monday)
9:00 am - 12:00 pm (Half-day)


The process of building and deploying a commercial software product generates a diverse set of data artifacts that can provide insights into a team’s development process and illuminate customer experiences using production versions in the field. However, before we can ask questions, solve problems, and improve our products by leveraging these diverse data sources, we have to dig into and understand the data we are collecting and extract useful information. This workshop will focus on two case studies involving data collected during the development of, and operation of, a commercial statistical software product. During the discussion of each case study, we will focus on highlighting the problem to be solved and discussing the technologies that generate and process the data we are using to try to solve it. Our development team faces challenges that are similar to the range of challenges that other product development teams working in commercial software development face and the approaches we take to exploring our data are not unique. Any number of data acquisition and analysis tools, along with a suitable programming language, could be used to tackle these tasks, though we choose to use our own product. The first case study involves automating access and parsing of machine-generated text log data from pre-production build system projects running in Jenkins. We use the Jenkins web API to retrieve project data, script the creation of structured tables, and send key team members visual reports that display performance trends, build and test failures and can highlight anomalies deserving further investigation. The second case study focuses on how our team has transformed how we collect and analyze information on software crashes with report automation, crash signature capture and screening to identify known and novel issues. By collecting and processing customer crash data automatically, we can match up internally found problems with external reports, deliver key details about available fixes to technical support teams, and zero in on novel crashes quickly, with the goal of replicating and fixing crashes quickly to reduce their lifetime in the product.



Shannon Conners avatar
Shannon Conners USA

JMP division of SAS, USA

Shannon has managed production of new software releases within the research and development group of the JMP division of SAS since 2012. Before joining JMP in 2006 as Genomics Product Manager, she used SAS and JMP to analyze and visualize microarray data from microbes from extreme environments during her PhD studies and postdoctoral work in bioinformatics at North Carolina State University.

Joseph Morgan avatar
Joseph Morgan USA

JMP division of SAS, USA

Over the past 10 years, Joseph Morgan has worked with a wide cross-section of JMP scripting users to provide guidance on developing efficient, robust, production-ready applications. Before joining JMP, he was a full-time faculty member in the School of Computer Science at DePaul University, where he taught software engineering and data analysis. He is published in many journals and conference proceedings; his research interests span combinatorial design methods to empirical software engineering.