Managing expectations throughout Agile software engineering
Summary
Organizations have goals. To reach those goals, they perform business activities and tasks. One such activity could be the development of a new software system to support their other business activities. However, often organizations do not have the expertise or capacity to build such a system on their own, therefore they need the help of another organization to do so. Thus, they outsource such IT projects to another party, which creates a contractor-contractee relationship. This creates a dynamic of trust in which the contractor communicates its goals, tasks, and associated expectations to the contracted party, who in turn commits itself to carrying them out as effectively as possible. However, this dynamic can lead to issues such as unrealistic expectations, inaccurate estimations, and performing tasks that do not add value to the contractor’s goals. Through design science, this research aims to tackle those problems by designing a method that helps manage stakeholder expectations, so that software development of outsourced IT projects becomes more efficient and produces higher-quality software. First, through a structured literature study, the research explores the concepts of Agile software development; Expectation management; and Goal-orientation. Then it conducts a multiple-case study on two SCRUM teams to uncover the as-is methodology they employ. During this, it identifies areas of opportunities where goal-oriented practices could be applied to positively enhance their software development process. Through method engineering, method fragments are identified and assembled into an as-is & a
to-be method, which are validated by a set of experts in the field. No implementation and evaluation of the method to-be could take place, which makes it an opportunity for future research.