2 research outputs found

    A graph based process model measurement framework using scheduling theory

    Get PDF
    Software development processes, as a means of ensuring software quality and productivity, have been widely accepted within the software development community; software process modeling, on the other hand, continues to be a subject of interest in the research community. Even with organizations that have achieved higher SEI maturity levels, processes are by and large described in documents and reinforced as guidelines or laws governing software development activities. The lack of industry-wide adaptation of software process modeling as part of development activities can be attributed to two major reasons: lack of forecast power in the (software) process modeling and lack of integration mechanism for the described process to seamlessly interact with daily development activities. This dissertation describes a research through which a framework has been established where processes can be manipulated, measured, and dynamically modified by interacting with project management techniques and activities in an integrated process modeling environment, thus closing the gap between process modeling and software development. In this research, processes are described using directed graphs, similar to the techniques with CPM. This way, the graphs can be manipulated visually while the properties of the graphs-can be used to check their validity. The partial ordering and the precedence relationship of the tasks in the graphs are similar to the one studied in other researches [Delcambre94] [Mills96]. Measurements of the effectiveness of the processes are added in this research. These measurements provide bases for the judgment when manipulating the graphs to produce or modify a process. Software development can be considered as activities related to three sets: a set of tasks (Ļ„), a set of resources (Ļ), and a set of constraints (y). The process, P, is then a function of all the sets interacting with each other: P = {Ļ„, Ļ, y). The interactions of these sets can be described in terms of different machine models using scheduling theory. While trying to produce an optimal solution satisfying a set of prescribed conditions using the analytical method would lead to a practically non-feasible formulation, many heuristic algorithms in scheduling theory combined with manual manipulation of the tasks can help to produce a reasonable good process, the effectiveness of which is reflected through a set of measurement criteria, in particular, the make-span, the float, and the bottlenecks. Through an integrated process modeling environment, these measurements can be obtained in real time, thus providing a feedback loop during the process execution. This feedback loop is essential for risk management and control

    Towards understanding the value-creation in agile projects

    Get PDF
    In recent years, iterative and incremental approaches for software development appeared as an alternative to the traditional, waterfall-style development. The reason for this is the large number of software projects in the past that failed to deliver useful products within budget, and struggled with changing requirements and scope creep. Meanwhile it is a common sense understanding that not all projects are predictable from the beginning. Market uncertainty and a fast changing business environment drives changes during the development of a software product.\ud One of the key characteristics of any agile approach is its explicit focus on Business Value. Although any software development method aims at creating a product and thus creating value, in agile software projects the value creation for the clients represents the essence and defines the focus of the process. Thus, the agile development process is a value creation process.\ud The agile methods allow for frequent decisions about the requirements that will be considered for implementation during the short development cycles called iterations. In practice this decision-making is implemented by the process of requirements prioritization and re-prioritization, performed at the beginning of each iteration.\ud This work is dedicated to exploring and understanding the process of value-creation for clients in agile projects, with a particular focus on the requirements prioritization and reprioritization during a project, as an agile-specific value creation practice.\ud We performed a number of research steps to explore some of the current agile practices that seem to contribute to the value creation, and thus to distil knowledge that the agile practitioners apply and that might help to improve the agile practice.\ud Further, we studied in detail the agile prioritization process and identified the criteria, used in the decision-making process, and relations between the project context and the instantiation of the process.\ud In particular, we researched the following topics:\ud ā€¢ How is business value perceived and measured in agile projects?\ud ā€¢ What practices contribute to value creation in agile projects in different contexts?\ud ā€¢ What concepts play a role in making re-prioritization decisions about\ud requirements?\ud These questions represent the focus of our research activities. They lead and framed the formulation of our Research Questions and the research design.\ud The main contribution of our work to the research and practitionersā€™ communities\ud consists in the rich contextual description of the process of requirements prioritization in agile projects as well as a conceptual model of this process
    corecore