1,367,205 research outputs found
A survey of software development practices in the New Zealand software industry
We report on the software development techniques used in the New Zealand software industry, paying particular attention to requirements gathering. We surveyed a selection of software companies with a general questionnaire and then conducted in-depth interviews with four companies. Our results show a wide variety in the kinds of companies undertaking software development, employing a wide range of software development techniques. Although our data are not sufficiently detailed to draw statistically significant conclusions, it appears that larger software development groups typically have more well-defined software development processes, spend proportionally more time on requirements gathering, and follow more rigorous testing regimes
Comparative Study on Agile software development methodologies
Today-s business environment is very much dynamic, and organisations are
constantly changing their software requirements to adjust with new environment.
They also demand for fast delivery of software products as well as for
accepting changing requirements. In this aspect, traditional plan-driven
developments fail to meet up these requirements. Though traditional software
development methodologies, such as life cycle-based structured and object
oriented approaches, continue to dominate the systems development few decades
and much research has done in traditional methodologies, Agile software
development brings its own set of novel challenges that must be addressed to
satisfy the customer through early and continuous delivery of the valuable
software. It is a set of software development methods based on iterative and
incremental development process, where requirements and development evolve
through collaboration between self-organizing, cross-functional teams that
allows rapid delivery of high quality software to meet customer needs and also
accommodate changes in the requirements. In this paper, we significantly
identify and describe the major factors, that Agile development approach
improves software development process to meet the rapid changing business
environments. We also provide a brief comparison of agile development
methodologies with traditional systems development methodologies, and discuss
current state of adopting agile methodologies. We speculate that from the need
to satisfy the customer through early and continuous delivery of the valuable
software, Agile software development is emerged as an alternative to
traditional plan-based software development methods. The purpose of this paper,
is to provide an in-depth understanding, the major benefits of agile
development approach to software development industry, as well as provide a
comparison study report of ASDM over TSDM.Comment: 25 pages, 25 images, 86 references used, with authors biographie
Modeling functional requirements using tacit knowledge: a design science research methodology informed approach
The research in this paper adds to the discussion linked to the challenge of capturing and modeling tacit knowledge throughout software development projects. The issue emerged when modeling functional requirements during a project for a client. However, using the design science research methodology at a particular point in the project helped to create an artifact, a functional requirements modeling technique, that resolved the issue with tacit knowledge. Accordingly, this paper includes research based upon the stages of the design science research methodology to design and test the artifact in an observable situation, empirically grounding the research undertaken. An integral component of the design science research methodology, the knowledge base, assimilated structuration and semiotic theories so that other researchers can test the validity of the artifact created. First, structuration theory helped to identify how tacit knowledge is communicated and can be understood when modeling functional requirements for new software. Second, structuration theory prescribed the application of semiotics which facilitated the development of the artifact. Additionally, following the stages of the design science research methodology and associated tasks allows the research to be reproduced in other software development contexts. As a positive outcome, using the functional requirements modeling technique created, specifically for obtaining tacit knowledge on the software development project, indicates that using such knowledge increases the likelihood of deploying software successfully
A Case Study in Optimization of Resource Distribution to Cope with Unanticipated Changes in Requirements
It is a known fact that requirements change continuously, and as a consequence, it may be necessary to reschedule development activities so that the new requirements can be addressed in a costeffective manner. Unfortunately, changes in requirements cannot be specified precisely. Moreover, current software development methods do not provide explicit means to adapt development processes with respect to unanticipated changes in requirements. This article first proposes a method based on Markov Decision Theory, which determines the estimated optimal development schedule with respect to probabilistic product demands and resource constraints. Second, a tool is described that is built to support the method. Finally, some experimental results are presented on the applicability of the proposed method
An overview of Mirjam and WeaveC
In this chapter, we elaborate on the design of an industrial-strength aspectoriented programming language and weaver for large-scale software development. First, we present an analysis on the requirements of a general purpose aspect-oriented language that can handle crosscutting concerns in ASML software. We also outline a strategy on working with aspects in large-scale software development processes. In our design, we both re-use existing aspect-oriented language abstractions and propose new ones to address the issues that we identified in our analysis. The quality of the code ensured by the realized language and weaver has a positive impact both on maintenance effort and lead-time in the first line software development process. As evidence, we present a short evaluation of the language and weaver as applied today in the software development process of ASML
Towards a Theory of Software Development Expertise
Software development includes diverse tasks such as implementing new
features, analyzing requirements, and fixing bugs. Being an expert in those
tasks requires a certain set of skills, knowledge, and experience. Several
studies investigated individual aspects of software development expertise, but
what is missing is a comprehensive theory. We present a first conceptual theory
of software development expertise that is grounded in data from a mixed-methods
survey with 335 software developers and in literature on expertise and expert
performance. Our theory currently focuses on programming, but already provides
valuable insights for researchers, developers, and employers. The theory
describes important properties of software development expertise and which
factors foster or hinder its formation, including how developers' performance
may decline over time. Moreover, our quantitative results show that developers'
expertise self-assessments are context-dependent and that experience is not
necessarily related to expertise.Comment: 14 pages, 5 figures, 26th ACM Joint European Software Engineering
Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE
2018), ACM, 201
- ā¦