1,720,953 research outputs found
Getting Projects Done today: A mobile cross platform project planning app
During this project, a highly user friendly planning app that is focused on enterprise users was developed. The project has been done as an assignment by Progressive Planning BV, an IT company that developed the Progressive Planning web application, which was the foundation of the developed mobile app. The main challenge during this project was not only creating the application, but making it work on all modern day mobile operating systems. In addition, a large focus of the project in terms of research was incorporating Getting Projects Done, which is a mentality derived from Getting Things Done, which in turn is focussed on getting control and perspective in your life. Elements of this mentality are evident in many of the user interactions that are present in the application. The process of development was spread out over 10 weeks, during which the team worked 8 hours a day in unison on location in the EWI faculty. The final product has been deployed on both the Android Play store and the iOS app store and is now available to all users of Progressive Planning.Electrical Engineering, Mathematics and Computer ScienceSoftware TechnologyTI380
Capturing and Predicting the Integration Process of an Embedded Software Company
In 2009 TomTom developed a model, called the MFM-model, which should reflect the maturity, feasibility and progression of a Personal Navigation Device software integration project. However, this model did not reflect all required aspects of the integration project and therefore was unable to correctly reflect the maturity, feasibility or progression. Furthermore, creating and maintaining this model proved to be too time-consuming. In this thesis we identify the problems of this model, propose a number of improvements to eliminate this problems and explain how these improvements have been implemented. In addition, we discuss how the model can be automatically generated from Jira and Perforce in order to reduce the required effort for creating and maintaining it. As an end result, this thesis will deliver a MFM 2.0 prototype which is an automated and improved version of the initial model. We will review this prototype by comparing survey-results taken at the initial situation and the improved situation. To further inspect this prototype, a small case-study is performed to analyze the accuracy, usage and importance of it.Software EngineeringSoftware TechnologyElectrical Engineering, Mathematics and Computer Scienc
Auto-Erecting Virtual Office Walls: Constructing a Virtual Office for Global Software Engineers
Due to the globalization of business and the rising popularity of working from home, global software engineering is becoming increasingly common. In such a distributed environment, team members no longer share a physical work environment and should be provided with information they need to collaborate remotely. The goal of this dissertation is to support global software engineers with technological support for aiding them to relatively passively and unobtrusively acquire a sufficient level of awareness for their work activities. To reach this goal three important aspects of the design, implementation and evaluation of such technological support are studied, namely: constructing a virtual office, communicating in a virtual office, and information needs in a virtual office. The results of these empirical studies, conducted in close collaboration with industry, provide valuable insights on how best to design and implement a virtual office, empirical evidence that overhearing conversations of colleagues is valuable, empirical evidence that a mood-based microblogging solution increases team-connectedness, and empirical evidence that virtual office walls increase the speed of coordination and the perception on overall performance. Finally, based on these studies, a set of requirements a virtual office should fulfill is derived. This set of requirements provides important guidelines on how best to provide global software engineers with the information they need.Software TechnolgyElectrical Engineering, Mathematics and Computer Scienc
Supporting Collaboration in Global Software Engineering
More and more, software engineering projects are no longer carried out in a single office building, but instead in multiple dislocated office buildings or even from home. When the development process is distributed between several geographically dispersed locations this is known as Global Software Engineering or GSE. The team members working on the project are separated geographically, temporally and/or socio-culturally and the existence of these three distances makes coordination, communication and cooperation much harder. This brings us to the main goal of this dissertation which is: “To understand which technological support is needed for Global Software Engineering teams to be able to collaborate effectively”. More specifically, we investigated what types of information that are readily available in the co-located setting but not in a distributed setting, are potentially most valuable and how these can be made available to GSE teams as well. To reach this goal we have divided the dissertation in two parts. In the first part, we zoomed in on one specific shortcoming of the distributed setting: it is impossible to overhear conversations of non-collocated colleagues. We investigated the problem itself (RQ1) but also what general consequences introducing such a solution has in a distributed setting (RQ2). Subsequently, keeping what we have learned in the back of our minds, we zoomed out and investigated both the information needs of distributed software engineers (RQ3) and how to leverage the main contributions of this dissertation in practice (RQ4). The main conclusion of this dissertation is: (i) that in order to truly support distributed software engineering teams, support environments for them should consider collaboration a first-class citizen and (ii) the most important information needs of such teams are project related communication with the customer and the happiness of team members.Electrical Engineering, Mathematics and Computer ScienceDelft University of Technolog
A follow-up reflection on software process improvement ROI
Our discipline must shift toward value-based software engineering, because we're obliged to prove our contributions to the financial bottom line. In the May/June 2004 IEEE Software special issue on return on investment (ROI), the author presented measurement results for the ROI of software process improvement (SPI). This article made three main contributions. First, provided a detailed overview of publications containing real-life measurement results from practical applications of SPI, in which the author measured the ROI. My study included 20 cases, with an average ROI of 7 and a median of 6.6. This indicates that SPI's net profit seems to be approximately US$7 for every dollar invested. However, I found no published cases in which SPI investments resulted in a measurable loss; furthermore, the ROI bandwidth was large (between 1.5 and 19). This indicates that the actual ROI of an SPI investment seems hard to really guarantee up front. Second, I showed that benefits are just as easy to quantify as costs. Cost measurements are always based on an agreement about how to measure and quantify costs. Such an agreement can also serve as the basis for measuring benefits. My article contained data from two real-life projects that had made such cost and benefit measurements and calculated ROI. Finally, I concluded that expressing "value" is crucial. Software engineering and its improvement are often major investments for organizations. Investments must be profitable. Because different people in different roles share one generic term for value-money, I recommended expressing any software engineering effort and its benefits in financial terms.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc
Evidence-Based Software Portfolio Management
Based on the large amounts spent by software companies to develop new and existing software systems, we argue that an evidence-based approach that focuses on a software portfolio as a whole should be in place to support decision-making. We developed EBSPM as an evidence-based, practical model to support software companies to actively steer at optimization of their software delivery portfolio. We evaluated the model in case studies and surveys in industry, to demonstrate its strengths and limitations in practice. This lead to the following results:• We analyzed - from a portfolio point of view - the characteristics of best performers and worst performers, in a dataset of 352 software projects, resulting in 7 success factors and 9 failure factors. • We found that a release process that performs above average on cost and duration, satisfies stakeholders through fast response and direct value, even when the reliability and availability of the actual system are weak. • A statistical, evidence-based pricing approach for software engineering, as a single instrument, can be used in the subject companies to create cost transparency and performance management.• We found significant differences between the EBSPM-repository and an ISBSG-subset. Practitioners and researchers alike should be cautious when drawing conclusions from a single repository.• We found that a focus on shortening overall project duration and improving communication and team collaboration on intermediate progress is likely to have a positive impact on stakeholder satisfaction and perceived value.Based on the findings, we conclude that it is wise for software companies to collect and analyze their own historic software portfolio data because cross-company large differences in performance are found. We obtained a better understanding of the differences and equalities between effort and cost of software deliveries. Additionally, we studied the effects of pricing of software deliveries, giving us a better insight into ways to support decision-making. Based on the results of ongoing research, we expect that automation of the measurement and analysis process, based on statistics to calculate strong relationships, is a direction in which the analysis of software portfolio (software analytics) is the to develop strongly in the coming years.Software Engineerin
Technological support for distributed agile development
Because of the distance between the dispersed development locations, Global Software Development (GSD) is confronted with challenges regarding communication, coordination and control of the development work. At the same time, agile software development is strongly built upon communication between engineers and has proven its benefits, although, mostly on one single site. As such, it might be advantageous to combine GSD with agile development. This blend however is not straightforward since the distributed and agile development approaches might have conflicting convictions. In this thesis we will discuss the advantages and challenges of combining GSD with agile development based on a literature-based research. The main results presented in the theoretical part of this thesis (Part I through V), are: (i) aspects of agile software development, (ii) benefits and challenges associated with these in relation to GSD, (iii) categories of technological support for agile GSD, (iv) a framework depicting the mutual relations among them and (v) a discussion regarding specific technologies that support collaborative development in relation to this framework. Based on one of the recommendations we make in the theoretical part of this thesis we also perform practical research (Part VI) in which we define a list of requirements for an Integrated Collaborative Development Environment (ICDE) and show the technical feasibility of a number of concepts which realize these.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc
Transparency in actions on requirements
The combination between agile software engineering and distributed engineering is gaining a growing interest. Combining these however creates an interesting paradox. Where agile clearly states that documentation is not the most important thing, from the field of globally distributed engineering a higher focus on documentation is observed. In this thesis the field of requirements engineering is also taken into the mix. Combining these three a user-story model is defined to take advantage of the, on first sight, downside of working distributed. The fact that face-to-face communication is not possible means that all the communication has to be done using technological support and thus that this communication can be saved. This premise gives an interesting opportunity to keep track of the actions that are taken on user-stories as a result of a conversation. By saving the conversation and coupling the action to parts of that conversation.Software EngineeringComputer ScienceElectrical Engineering, Mathematics and Computer Scienc
Customer Involvement in Distributed Requirements Engineering
The graduation project is run as an internship at software company Exact. The company wants to reduce the time to market for their products. To achieve this objective, Exact wants to adopt agile development and is aiming towards the implementation of a development process that is both globally distributed and Scrum-like. The project’s goal in this objective is to design and validate a process, with which a set of product requirements is engineered and in parallel the products design is being developed at at least two distributed locations. This process needs to iterate between these locations, but at the same time it needs to work towards a non-ambiguous, concrete and focused backlog with which development can do their work. Based on interviews and constraints, the project was scoped down to focus on the verification of requirements with customers. After research in this area, a prototype is created and tested, which should establish a feedback loop on conceptual requirements items in a virtual community. The test results have led to a set of recommendations for customer involvement in a distributed requirements engineering process.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc
Automatic Status Updates in Exacts Global Development Process
Due to a competitive business environment and demanding customers, many companies turn to globally distributed software development and agile methodologies. Globally distributed software engineering can bring great advantages in reducing costs, reducing time to market, and give access to a larger pool of skilled resources. Agile methodologies acknowledge many of the development challenges companies face, such as changing customers requirements and the necessity to have frequent releases. Introducing agile by itself can be a challenge for a big organization, especially when a blend is made between agile and distributed development, since these have some contradictory features. The global company Exact faces some challenges when introducing agility into its business processes. This research has as a goal to introduce agile into the globally distributed development process of Exact. It is hard to introduce agile as a whole, therefore we address the biggest challenges faced within Exacts development process first. One of the main challenges faced within Exact is communication between the globally dispersed product management and product development teams. An agile practice addressing this communication challenge is to use automatic status updates and product updates generated by an automated build process. This research will explore what features of continuous integration are useful for Exact and the created system will be evaluated. The ideas presented in this thesis have not yet been tested and evaluated on a large scale, due to time restrictions. However a prototype has been tested on a small scale for one project, and the initial responses from product development and product management were positive. More important, a shift in perception occurred at product development to support a more open development process.Software EngineeringElectrical Engineering, Mathematics and Computer Scienc
- …
