68,516 research outputs found
Addressing challenges to teach traditional and agile project management in academia
In order to prepare students for a professional IT career, most universities attempt to provide a current
educational curriculum in the Project Management (PM) area to their students. This is usually based on
the most promising methodologies used by the software industry. As instructors, we need to balance
traditional methodologies focused on proven project planning and control processes leveraging widely
accepted methods and tools along with the newer agile methodologies. Such new frameworks
emphasize that software delivery should be done in a flexible and iterative manner and with significant
collaboration with product owners and customers. In our experience agile methodologies have
witnessed an exponential growth in many diverse software organizations, and the various agile PM tools
and techniques will continue to see an increase in adoption in the software development sector.
Reflecting on these changes, there is a critical need to accommodate best practices and current methodologies in our courses that deliver Project Management content. In this paper we analyse two of the most widely used methodologies for traditional and agile software development – the widely used
ISO/PMBOK standard provided by the Project Management Institute and the well-accepted Scrum
framework. We discuss how to overcome curriculum challenges and deliver a quality undergraduate PM
course for a Computer Science and Information systems curricula. Based on our teaching experience
in Europe and North America, we present a comprehensive comparison of the two approaches. Our research covers the main concepts, processes, and roles associated with the two PM frameworks and recommended learning outcomes. The paper should be of value to instructors who are keen to see their computing students graduate with a sound understanding of current PM methodologies and who can deliver real-world software products.Accepted manuscrip
Autonomous agile teams: Challenges and future directions for research
According to the principles articulated in the agile manifesto, motivated and
empowered software developers relying on technical excellence and simple
designs, create business value by delivering working software to users at
regular short intervals. These principles have spawned many practices. At the
core of these practices is the idea of autonomous, self-managing, or
self-organizing teams whose members work at a pace that sustains their
creativity and productivity. This article summarizes the main challenges faced
when implementing autonomous teams and the topics and research questions that
future research should address
Non-Technical Individual Skills are Weakly Connected to the Maturity of Agile Practices
Context: Existing knowledge in agile software development suggests that
individual competency (e.g. skills) is a critical success factor for agile
projects. While assuming that technical skills are important for every kind of
software development project, many researchers suggest that non-technical
individual skills are especially important in agile software development.
Objective: In this paper, we investigate whether non-technical individual
skills can predict the use of agile practices. Method: Through creating a set
of multiple linear regression models using a total of 113 participants from
agile teams in six software development organizations from The Netherlands and
Brazil, we analyzed the predictive power of non-technical individual skills in
relation to agile practices. Results: The results show that there is
surprisingly low power in using non-technical individual skills to predict
(i.e. explain variance in) the mature use of agile practices in software
development. Conclusions: Therefore, we conclude that looking at non-technical
individual skills is not the optimal level of analysis when trying to
understand, and explain, the mature use of agile practices in the software
development context. We argue that it is more important to focus on the
non-technical skills as a team-level capacity instead of assuring that all
individuals possess such skills when understanding the use of the agile
practices.Comment: 18 pages, 1 figur
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
Historical roots of Agile methods: where did “Agile thinking” come from?
The appearance of Agile methods has been the most noticeable change to software process thinking in the last fifteen years [16], but in fact many of the “Agile ideas” have been around since 70’s or even before. Many studies and reviews have been conducted about Agile methods which ascribe their emergence as a reaction against traditional methods. In this paper, we argue that although Agile methods are new as a whole, they have strong roots in the history of software engineering. In addition to the iterative and incremental approaches that have been in use since 1957 [21], people who criticised the traditional methods suggested alternative approaches which were actually Agile ideas such as the response to change, customer involvement, and working software over documentation. The authors of this paper believe that education about the history of Agile thinking will help to develop better understanding as well as promoting the use of Agile methods. We therefore present and discuss the reasons behind the development and introduction of Agile methods, as a reaction to traditional methods, as a result of people's experience, and in particular focusing on reusing ideas from histor
Coordinating Knowledge Work in Multi-Team Programs: Findings from a Large-Scale Agile Development Program
Software development projects have undergone remarkable changes with the
arrival of agile development methods. While intended for small, self-managing
teams, these methods are increasingly used also for large development programs.
A major challenge in programs is to coordinate the work of many teams, due to
high uncertainty in tasks, a high degree of interdependence between tasks and
because of the large number of people involved. This revelatory case study
focuses on how knowledge work is coordinated in large-scale agile development
programs by providing a rich description of the coordination practices used and
how these practices change over time in a four year development program with 12
development teams. The main findings highlight the role of coordination modes
based on feedback, the use of a number of mechanisms far beyond what is
described in practitioner advice, and finally how coordination practices change
over time. The findings are important to improve the outcome of large
knowledge-based development programs by tailoring coordination practices to
needs and ensuring adjustment over time.Comment: To appear in Project Management Journa
Web-based support for managing large collections of software artefacts
There has been a long history of CASE tool development, with an underlying software repository at the heart of most systems. Usually such tools, even the more recently web-based systems, are focused on supporting individual projects within an enterprise or across a number of distributed sites. Little support for maintaining large heterogeneous collections of software artefacts across a number of projects has been developed. Within the GENESIS project, this has been a key consideration in the development of the Open Source Component Artefact Repository
(OSCAR). Its most recent extensions are explicitly addressing the provision of cross project global views of large software collections as well as historical views of individual artefacts within a collection. The long-term benefits of such support can only be realised if OSCAR is widely adopted and various steps to facilitate this are described
Looking for Reasons behind Success in Dealing with Requirements Change
During development, requirements of software systems are subject to change. Unfortunately, managing changing requirements can take a lot of time and effort. Yet some companies show a better management of changes in requirements than others. Why? What is it that makes some projects deal with changing requirements better than others? We pursue the long term goal of understanding the mechanisms used to successfully deal with change in requirements. In this paper we gather knowledge about the state-of-the-art and the state-of-practice. We studied eight software development projects in four different companies --large and small, inclined toward structured and toward agile principles of development--, interviewing their project managers and analyzing their answers. Our findings include a list of practical (rather than theoretical) factors affecting the ability to cope with small changes in requirements. Results suggest a central role of size as a factor determining the flexibility showed either by the organization or by the software development team. We report the research method used and validate our results via expert interviews, who could relate to our findings
- …