James D. Arthur

Virginia Polytechnic Institute and State University, Blacksburg, Virginia, United States

Are you James D. Arthur?

Claim your profile

Publications (75)5.48 Total impact

  • S. Soundararajan, O. Balci, J.D. Arthur
    [Show abstract] [Hide abstract]
    ABSTRACT: Agile methods provide an organization or a team with the flexibility to adopt a selected subset of principles and practices based on their culture, their values, and the types of systems that they develop. More specifically, every organization or team implements a customized agile method, tailored to better accommodate its needs. However, the extent to which a customized method supports the organizational objectives, i.e. the 'goodness' of that method, should be demonstrable. Existing agile assessment approaches focus on comparative analyses, or are limited in scope and application. In this research, we present a systematic, comprehensive approach to assessing the 'goodness' of agile methods. We examine an agile method based on (1) its adequacy, (2) the capability of the organization to support the adopted principles and practices specified by the method, and (3) the method's effectiveness. We employ the Objectives, Principles and Strategies (OPS) Framework to guide our assessment process. The Framework (a) specifies objectives of the agile philosophy, (b) identifies principles that support the objectives, (c) designates strategies that implement the principles, (d) defines linkages that relate objectives to principles, and principles to strategies, and (e) prescribes indicators for assessing the extent to which an organization supports the implementation and effectiveness of those strategies. The propagation of indicator values along the linkages provides a multi-level assessment view of the agile method. In this paper, we discuss our assessment approach and substantiation results.
    Agile Conference (AGILE), 2013; 01/2013
  • S. Soundararajan, J.D. Arthur, O. Balci
    [Show abstract] [Hide abstract]
    ABSTRACT: Agile methods provide an organization or a team with the flexibility to adopt a selected subset of principles and practices based on their culture, their values, and the types of systems that they develop. More specifically, every organization or team implements a customized agile method, tailored to better accommodate its needs. However, the extent to which a customized method supports the organizational objectives, i.e. the 'goodness' of that method, is questionable. Existing agile assessment approaches focus on comparative analyses, or are limited in scope and application. In this research, we propose a structured, systematic, and comprehensive approach to assessing the 'goodness' of agile methods. We examine an agile method based on (1) its adequacy, (2) the capability of the organization to support the adopted principles and practices specified by the method, and (3) the method's effectiveness. We propose the Objectives, Principles and Practices (OPP) Framework to guide our assessment. The Framework identifies (1) objectives of the agile philosophy, (2) principles that support the objectives, (3) practices that are reflective of the principles, (4) linkages among the objectives, principles and practices, and (5) indicators for assessing the extent to which an organization supports the implementation and the effectiveness of that practice. In this paper, we discuss our solution approach, preliminary results, and future work.
    Agile Conference (AGILE), 2012; 01/2012
  • Source
    S. Soundararajan, J.D. Arthur
    [Show abstract] [Hide abstract]
    ABSTRACT: Agile Methods are designed for customization, they offer an organization or a team the flexibility to adopt a set of principles and practices based on their culture and values. While that flexibility is consistent with the agile philosophy, it can lead to the adoption of principles and practices that can be sub-optimal relative to the desired objectives. We question then, how can one determine if adopted practices are "in sync" with the identified principles, and to what extent those principles support organizational objectives? In this research, we focus on assessing the "goodness" of an agile method adopted by an organization based on (1) its adequacy, (2) the capability of the organization to provide the supporting environment to successfully implement the method, and (3) the method's effectiveness. To guide our assessment, we propose the Objectives, Principles and Practices (OPP) framework. The design of the OPP framework revolves around the identification of the agile objectives, principles that support the achievement of those objectives, and practices that reflect the "spirit" of those principles. Well-defined linkages between the objectives and principles, and between the principles and practices are also established to support the assessment process. We assess the adequacy of an agile method by traversing the linkages in a top-down fashion. That is, given the set of objectives espoused by the agile method, we follow the linkages downward to ensure that the appropriate principles are enunciated, and that the proper practices are expressed. We assess the capability of an organization to implement its adopted method and the effectiveness of that implementation by using both a top-down and bottom-up traversal of the linkages. The bottom-up assessment, however, is predicated on the identification of people, process, project and product properties associated with each practice that attest to the presence and implementation of that practice. We refer to each prac- - tice, property pair as an indicator. By following the linkages upward from the indicators, we can infer the use of proper principles and the achievement of desired objectives.
    Engineering of Computer Based Systems (ECBS), 2011 18th IEEE International Conference and Workshops on; 05/2011
  • Source
    Osman Balci, James D. Arthur, William F. Ormsby
    [Show abstract] [Hide abstract]
    ABSTRACT: Reusability and composability (R&C) are two important quality characteristics that have been very difficult to achieve in the Modelling and Simulation (M&S) discipline. Reuse provides many technical and economical benefits. Composability has been increasingly crucial for M&S of a system of systems, in which disparate systems are composed with each other. The purpose of this paper is to describe how R&C can be achieved by using a simulation conceptual model (CM) in a community of interest (COI). We address R&C in a multifaceted manner covering many M&S areas (types). M&S is commonly employed where R&C are very much needed by many COIs. We present how a CM developed for a COI can assist in R&C for the design of any type of large-scale complex M&S application in that COI. A CM becomes an asset for a COI and offers significant economic benefits through its broader applicability and more effective utilization.
    Journal of Simulation 01/2011; 5:157-165. · 0.74 Impact Factor
  • [Show abstract] [Hide abstract]
    ABSTRACT: Medical device designers must understand the complex context of use within a health care environment to ensure product usability. Designers must overcome domain-specific obstacles during usability research, such as patient privacy standards, which prevent designers from observing practitioners in context. In this project, we investigated storytelling as an alternative elicitation method for medical device requirements when direct observations are limited or not possible. While gathering requirements for an infusion pump, we compared the types of information elicited by focus groups, interviews, and storytelling sessions. Several advantages and implications for the use of storytelling in usability research are discussed.
    Ergonomics in Design The Quarterly of Human Factors Applications 01/2011; 19(2):19-24.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: The use of agile principles and practices in software development is becoming a powerful force in today's workplace. In our quest to develop better products, therefore, it is imperative that we strive to learn and understand the application of Agile methods, principles and techniques to the software development enterprise. Unfortunately, in many educational institutions courses and projects that emphasize Agile Software Development are minimal. At best, students have only limited exposure to the agile philosophy, principles and practices at the graduate and undergraduate levels of education. In an effort to address this concern, we offered a graduate-level course entitled "Agile Software Engineering" in the Department of Computer Science at Virginia Tech in Fall 2009. The primary objectives of the class were to introduce the values, principles and practices underlying the agile philosophy, and to do so in an atmosphere that encourages debate and critical thinking. The course was designed around three central components: (1) teaching the essentials of how one develops a product within an Agile framework, (2) having invited presentation by notable industry experts, and (3) having students present and discuss current research topics and issues. This paper describes our experiences during the offering of that course, and in particular, the unique perspectives of the class instructor, the teaching assistant and a student who was enrolled in the class. Comment: 4 pages, Experience Report
    05/2010;
  • Source
    Shvetha Soundararajan, James D. Arthur
    [Show abstract] [Hide abstract]
    ABSTRACT: Agile Methods are designed for customization; they offer an organization or a team the flexibility to adopt a set of principles and practices based on their culture and values. While that flexibility is consistent with the agile philosophy, it can lead to the adoption of principles and practices that can be sub-optimal relative to the desired objectives. We question then, how can one determine if adopted practices are "in sync" with the identified principles, and to what extent those principles support organizational objectives? In this research, we focus on assessing the "goodness" of an agile method adopted by an organization based on (1) its adequacy, (2) the capability of the organization to provide the supporting environment to competently implement the method, and (3) its effectiveness. To guide our assessment, we propose the Objectives, Principles and Practices (OPP) framework. The design of the OPP framework revolves around the identification of the agile objectives, principles that support the achievement of those objectives, and practices that reflect the "spirit" of those principles. Well-defined linkages between the objectives and principles, and between the principles and practices are also established to support the assessment process. We traverse these linkages in a top-down fashion to assess adequacy and a bottom-up fashion to assess capability and effectiveness. This is a work-in-progress paper, outlining our proposed research, preliminary results and future directions. Comment: 4 pages, 3 figures, Research-in-progress paper
    05/2010;
  • Shvetha Soundararajan, James D. Arthur
    16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, ECBS 2009, San Francisco, California, USA, 14-16 April 2009; 01/2009
  • [Show abstract] [Hide abstract]
    ABSTRACT: In this paper we describe our experience deriving evaluation metrics for a systems-level framework called Ripple that connects software engineering and usability engineering life cycles. This evaluation was conducted with eight teams of graduate students (falling under four types of development models) competing in a joint software engineering and usability engineering course to create a software solution for a real world client. We describe the challenges of evaluating systems-level frameworks and the approach we used to derive metrics given our evaluation context. We conclude with the outcome of this evaluation and the effectiveness of the metrics we employed.
    Human Centered Design, First International Conference, HCD 2009, Held as Part of HCI International 2009, San Diego, CA, USA, July 19-24, 2009, Proceedings; 01/2009
  • [Show abstract] [Hide abstract]
    ABSTRACT: We introduce a Capabilities-based approach for constructing large-scale systems such that they are change-tolerant. The inherent complexity of software systems increases their susceptibility to change when subjected to the vagaries of user needs, technology advances, market demands, and other change-inducing factors. Despite the inevitability of change, traditional requirements engineering strives to develop systems based on a fixed solution; a mostly unsuccessful approach as evidenced by the history of system failures. In contrast, we utilize Capabilitiesfunctional abstractions that are neither as amorphous as user needs nor as rigid as system requirementsto architect systems that accommodate change with minimum impact. These entities are designed to exhibit the desirable characteristics of high cohesion, low coupling, and balanced abstraction levels and are generated by a two-phased process called Capabilities Engineering. Phase I mathematically exploits the structural semantics of a function decomposition grapha representation of user needsto formulate change-tolerant Capabilities. Phase II optimizes these Capabilities to comply with schedule and technology constraints. In this paper, we present the overall framework of this process and detail the algorithm to identify Capabilities. In addition, we empirically evaluate the change tolerance of Capabilities resulting from Phase I. For this we examine the ripple effect of needs change on a real-world Course Evaluation System based on the original requirements-based design and the corresponding Capabilities-based design. Our experimental results indicate, with statistical significance, that the Capabilities-based design is less impacted by change and thereby improves the change tolerance of the system when subjected to needs volatility. Copyright © 2008 John Wiley & Sons, Ltd.
    Journal of Software Maintenance and Evolution Research and Practice 01/2008; 20:135-170. · 1.27 Impact Factor
  • Ahmed Samy Sidky, James D. Arthur
    New Trends in Software Methodologies, Tools and Techniques - Proceedings of the Seventh SoMeT 2008, October 15-17, 2008, Sharjah, United Arab Emirates; 01/2008
  • Source
    Osman Balci, James D. Arthur, Richard E. Nance
    [Show abstract] [Hide abstract]
    ABSTRACT: Reuse has been very difficult or in some cases impossible in the Modeling and Simulation (M&S) discipline. This paper focuses on how reuse can be accomplished by using a conceptual model (CM) in a community of interest (COI). We address the issue of reuse in a multifaceted manner covering many areas (types) of M&S such as discrete, continuous, Monte Carlo, system dynamics, gaming-based, and agent-based. M&S is commonly employed and reuse is critically needed by many COIs such as air traffic control, automobile manufacturing, ballistic missile defense, business process reengineering, emergency response management, military training, network-centric operations and warfare, supply chain management, telecommunications, and transportation. We present how a CM developed for a COI can assist in reuse for the design of any type of large-scale complex M&S application in that COI. A CM becomes an asset for a COI and offers significant economic benefits through its effective reuse.
    Proceedings of the 2008 Winter Simulation Conference, Global Gateway to Discovery, WSC 2008, InterContinental Hotel, Miami, Florida, USA, December 7-10, 2008; 01/2008
  • Source
    Ravichandar Ramya, James D. Arthur
    [Show abstract] [Hide abstract]
    ABSTRACT: Large-scale software-based systems warrant lengthy development cycles during which there is a constant evolution of user needs and technology specifications. It is imperative that in order to function satisfactorily the system components accommodate change. However, the traditional process of development advises baselining requirements, as opposed to architecting the system such that it supports evolution. We propose the construction of systems based on Capabilities to accommodate functional changes in a nonintrusive manner. Capabilities are functional abstractions designed to exhibit properties of stability — high cohesion, low coupling, and balanced abstraction levels — which promote an underlying change-tolerant framework. To measure these characteristics we explore two algorithms — Synthesis and Decomposition — based on polar approaches to problem solving. The synthesis algorithm measures stability properties of detailed rudimentary elements to determine which aggregates are Capabilities. In contrast, the decomposition algorithm identifies Capabilities by evaluating higher-level abstractions that represent various functionalities of the system to be developed. Upon empirical analysis (of a library system) we determine that neither approach is sufficient in isolation. Therefore, we formulate a computationally viable algorithm by reconciling specific aspects of measurement from the synthesis and decomposition approaches. In particular, it uses the cohesion and coupling measures as defined by the decomposition algorithm and the abstraction level as determined by the synthesis algorithm. We construct specific metrics to compute cohesion and coupling. In addition, we objectively define and illustrate the characterization of a balanced abstraction level. An experiment with a Course Evaluation system confirms the efficacy of Capabilities in increasing its change- tolerance.
    Journal of Software. 01/2008;
  • O. Balci, J.D. Arthur, R.E. Nance
    [Show abstract] [Hide abstract]
    ABSTRACT: Reuse has been very difficult or in some cases impossible in the modeling and simulation (M&S) discipline. This paper focuses on how reuse can be accomplished by using a conceptual model (CM) in a community of interest (COI). We address the issue of reuse in a multifaceted manner covering many areas (types) of M&S such as discrete, continuous, Monte Carlo, system dynamics, gaming-based, and agent-based. M&S is commonly employed and reuse is critically needed by many COIs such as air traffic control, automobile manufacturing, ballistic missile defense, business process reengineering, emergency response management, military training, network-centric operations and warfare, supply chain management, telecommunications, and transportation. We present how a CM developed for a COI can assist in reuse for the design of any type of large-scale complex M&S application in that COI. A CM becomes an asset for a COI and offers significant economic benefits through its effective reuse.
    Simulation Conference, 2008. WSC 2008. Winter; 01/2008
  • Source
    10/2007;
  • Source
    Ahmed Sidky, James Arthur, Shawn Bohner
    [Show abstract] [Hide abstract]
    ABSTRACT: Many organizations aspire to adopt agile processes to take advantage of the numerous benefits that they offer to an organization. Those benefits include, but are not limited to, quicker return on investment, better software quality, and higher customer satisfaction. To date, however, there is no structured process (at least that is published in the public domain) that guides organizations in adopting agile practices. To address this situation, we present the agile adoption framework and the innovative approach we have used to implement it. The framework consists of two components: an agile measurement index, and a four-stage process, that together guide and assist the agile adoption efforts of organizations. More specifically, the Sidky Agile Measurement Index (SAMI) encompasses five agile levels that are used to identify the agile potential of projects and organizations. The four-stage process, on the other hand, helps determine (a) whether or not organizations are ready for agile adoption, and (b) guided by their potential, what set of agile practices can and should be introduced. To help substantiate the “goodness” of the Agile Adoption Framework, we presented it to various members of the agile community, and elicited responses through questionnaires. The results of that substantiation effort are encouraging, and are also presented in this paper.
    Innovations in Systems and Software Engineering 08/2007; 3(3):203-216.
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Unique operational and environmental characteristics define pervasive services and computing; they, too, define an ideal atmosphere in which security risks flourish. Ever-present accessibility through the networked and wireless infrastructures, dependency on autonomous and often anonymous computing agents, and the ubiquitous nature of pervasive services make them both enticing and easy targets for ill-intentioned activities. To help mitigate that risk, we propose an adaptive, access-driven verification, validation and testing (VV&T) strategy that, through a Process/Object Model of Computation, (a) identifies those resources and software objects most susceptible to attack, (b) enumerates violable constraints and assumptions underlying those attacks, and (c) provides multi-level strategies incorporating resources, software objects, and constraints and assumptions to determine if, and to what extent, systems supporting pervasive computing are vulnerable to security exploits. The VV&T strategies are defined to accommodate various levels of access to the software development process and its artifacts.
    Pervasive Services, IEEE International Conference on; 08/2007
  • Source
    [Show abstract] [Hide abstract]
    ABSTRACT: Pre-Requirement Specification traceability is the activity of capturing relations between requirements and their sources, in particular user needs. Requirements are formal technical specifications in the solution space; needs are natural language expressions codifying user expectations in the problem space. Current traceability techniques are challenged by the complexity gap that results from the disparity between the spaces, and thereby, often neglect traceability to and from requirements. We identify the existence of an intermediary region -- the transition space -- which structures the progression from needs to requirements. More specifically, our approach to developing change-tolerant systems, termed Capabilities Engineering, identifies highly cohesive, minimally coupled, optimized functional abstractions called Capabilities in the transition space. These Capabilities link the problem and solution spaces through directives (entities derived from user needs). Directives connect the problem and transition spaces; Capabilities link the transition and solution spaces. Furthermore, the process of Capabilities Engineering addresses specific traceability challenges. It supports the evolution of traces, provides semantic and structural information about dependencies, incorporates human factors, generates traceability relations with negligible overhead, and thereby, fosters pre-Requirement Specification traceability.
    04/2007;
  • Source
    A. Chigani, J.D. Arthur, S. Bohner
    [Show abstract] [Hide abstract]
    ABSTRACT: With the advent of potent network technology, software development has evolved from traditional platform-centric construction to network-centric evolution. This change involves largely the way we reason about systems as evidenced in the introduction of 'network-centric operations (NCO). Unfortunately, it has resulted in conflicting interpretations of how to map NCO concepts to the field of software architecture. In this paper, we capture the core concepts and goals of NCO, investigate the implications of these concepts and goals on software architecture, and identify the operational characteristics that distinguish network- centric software systems from other systems. More importantly, we use architectural design principles to propose an outline for a network-centric architectural style that helps in characterizing network-centric software systems and that provides a means by which their distinguishing operational characteristics can be realized.
    Software Engineering Workshop, 2007. SEW 2007. 31st IEEE; 01/2007
  • [Show abstract] [Hide abstract]
    ABSTRACT: Developing and evolving today’s systems are often stymied by the sheer size and complexity of the capabilities being developed and integrated. At one end of the spectrum, we have sophisticated agent-based software with hundreds of thousands of collaborating nodes. These require modeling abstractions relevant to their complex workflow tasks as well as predictable transforms and mappings for the requisite elaborations and refinements that must be accomplished in composing these systems. At the other end of the spectrum, we have ever-increasing capabilities of reconfigurable hardware devices such as field-programmable gate arrays to support the emerging adaptability and flexibility needs of these systems. From a model-based engineering perspective, these challenges are very similar; both must move their abstraction and reuse levels up to meet growing productivity and quality objectives. Model-based engineering and software system variants such as the model-driven architecture (MDA) are increasingly being applied to systems development as the engineering community recognizes the benefits of managing complexity, separating key concerns, and automating transformations from high-level abstract requirements down through the implementation. However, there are challenges when it comes to establishing the correct boundaries for change-tolerant parts of the system. Capabilities engineering (CE) is a promising approach for defining long-lived components of a system to ensure some sense of change tolerance. For innovative initiatives such as the National Aeronautics and Space Administration (NASA)’s autonomous nanotechology swarms (ANTS), the development and subsequent evolution of such systems are of considerable importance as their missions involve complex, collaborative behaviors across distributed, reconfigurable satellites. In this paper, we investigate the intersection of these two technologies as they support the development of complex, change-tolerant systems. We present an effective approach for bounding computationally independent models so that, as they transition to the architecture, capabilities-based groupings of components are relevant to the change-tolerant properties that must convey in the design solution space. The model-based engineering approach is validated via a fully functional prototype and verified by generating nontrivial multiagent systems and reusing components in subsequent systems. We build off of this research completed on the collaborative agent architecture, discuss the CE approach for the transition to architecture, and then examine how this will be applied in the reconfigurable computing community with the new National Science Foundation Center for High-Performance Reconfigurable Computing. Based on this work and extrapolating from similar efforts, the model-based approach shows promise to reduce the complexities of software evolution and increase productivity—particularly as the model libraries are populated with canonical components.
    Innovations in Systems and Software Engineering 01/2007; 3:237-257.