78,346 research outputs found

    Development of a framework to understand the factors that influence software productivity in agile teams

    Get PDF
    Productivity improvement in the software industry is one of the major challenges facing many software development companies in this century. Most companies have adopted agile methodologies in order to profit from the benefits claimed for them. Agile methodologies are characterised by frequent software delivery, short feedback loops, quicker response to change, and problem identification earlier in the development process. The agile approach has been recognised as paving a way for companies to acquire higher software productivity, delivering good-quality and cost-effective software, enabling software development companies to respond to business challenges with their demands for high quality, high performance and high development speed in delivering the final product. For companies that adopt agile methodologies, understanding the factors that influence their teams’ software development productivity is a challenging task for management and practitioners today. In this research, an analysis is presented that identifies productivity factors that affect agile teams. It is a study of agile methods to identify common agile practices and/or values that have impact on productivity, and describes suitable metrics that could be used to measure agile team productivity. A qualitative research approach was used, and the case study was chosen as the research strategy. Two South African companies that are located in two different provinces and that adopted agile methodologies in their software development, were selected for the case studies. Qualitative content analysis was used in the research to permit subjective interpretation of factors that influence agile team productivity, and to analyse to what extent these factors affected productivity. This research has shown that an understanding of the factors that influence an agile team’s productivity gives significant insight into the way agile teams work, motivates team members to work together, and leads to uniform metrics in tracking each team’s progress. The study indicates that tracking an agile team’s work and providing adequate tools needed to execute their tasks results in improving agile team productivity. It should be recognised that using metrics to measure performance in agile teams is helpful in creating a team’s culture and trust. In this study, it was found that the factors identified in both literature and case studies affected productivity in the two companies under study, both positively and negatively. The study also found that applying the correct metrics in assessing, analysing and reviewing an agile team’s performance is important when monitoring productivity. Successful software delivery is only possible if individuals are committed to their work, are provided with the necessary tools and have access to a stable working environment. In addition, individual factors such as knowledge, skills, abilities, personalities and experience should be considered when forming agile teams. Consideration of these factors will result in grouping people that are able to work together and achieve a common goal, which is important in improving productivity. A conceptual framework for agile team productivity was proposed. The discussion of the findings is presented in more detail in this research.School of ComputingM.Sc. (Computing

    Software engineering methodologies and tools

    Get PDF
    Over the years many engineering disciplines have developed, including chemical, electronic, etc. Common to all engineering disciplines is the use of rigor, models, metrics, and predefined methodologies. Recently, a new engineering discipline has appeared on the scene, called software engineering. For over thirty years computer software has been developed and the track record has not been good. Software development projects often miss schedules, are over budget, do not give the user what is wanted, and produce defects. One estimate is there are one to three defects per 1000 lines of deployed code. More and more systems are requiring larger and more complex software for support. As this requirement grows, the software development problems grow exponentially. It is believed that software quality can be improved by applying engineering principles. Another compelling reason to bring the engineering disciplines to software development is productivity. It has been estimated that productivity of producing software has only increased one to two percent a year in the last thirty years. Ironically, the computer and its software have contributed significantly to the industry-wide productivity, but computer professionals have done a poor job of using the computer to do their job. Engineering disciplines and methodologies are now emerging supported by software tools that address the problems of software development. This paper addresses some of the current software engineering methodologies as a backdrop for the general evaluation of computer assisted software engineering (CASE) tools from actual installation of and experimentation with some specific tools

    AUTOMATING OUTPUT SIZE AND REUSE METRICS IN A REPOSITORY-BASED COMPUTER AIDED SOFTWARE ENGINEERING (CASE) ENVIRONMENT

    Get PDF
    Measurement of software development productivity is needed in order to control software costs, but it is discouragingly labor-intensive and expensive. Computer aided software engineering (CASE) technologies -- especially repository-based, integrated CASE -- have the potential to support the automation of this measurement. In this paper, we discuss the development of automated analyzers for function point and software reuse measurement for object-based CASE. Both analyzers take advantage of the existence of a representation of the application system that is stored within an object repository, and that contains the necessary information about the application system. We also discuss metrics for software reuse measurement, including reuse leverage, reuse value and reuse classification, that are motivated by managerial requirements and the efforts, within industry and the IEEE, to standardize measurement. The functionality and the analytical capabilities of state-of-the-art automated software metrics analyzers are illustrated in the context of an investment banking industry application, that is similar to systems deployed at the New York City-based investment bank where these tools were developed and tested.Information Systems Working Papers Serie

    AUTOMATING OUTPUT SIZE AND REUSE METRICS IN A REPOSITORY-BASED COMPUTER AIDED SOFTWARE ENGINEERING (CASE) ENVIRONMENT

    Get PDF
    Measurement of software development productivity is needed in order to control software costs, but it is discouragingly labor-intensive and expensive. Computer aided software engineering (CASE) technologies -- especially repository-based, integrated CASE -- have the potential to support the automation of this measurement. In this paper, we discuss the development of automated analyzers for function point and software reuse measurement for object-based CASE. Both analyzers take advantage of the existence of a representation of the application system that is stored within an object repository, and that contains the necessary information about the application system. We also discuss metrics for software reuse measurement, including reuse leverage, reuse value and reuse classification, that are motivated by managerial requirements and the efforts, within industry and the IEEE, to standardize measurement. The functionality and the analytical capabilities of state-of-the-art automated software metrics analyzers are illustrated in the context of an investment banking industry application, that is similar to systems deployed at the New York City-based investment bank where these tools were developed and tested.Information Systems Working Papers Serie

    A metrics paradigm for object-oriented analysis and design.

    Get PDF
    For several years, the software industry has been affected by a problem called the software crisis. Many software developers have worked hard to determine remedies for this crisis. The crisis deals with products being produced over costs, behind schedule, with low quality, and not meeting customer satisfaction. Processes are being used which waste resources and build low quality products. In dealing with the software crisis, software practitioners have used many tools, methodologies, and metrics to help produce better products, save resources, and increase productivity. Metrics are meaningful measures used to determine how well software is being produced, where weaknesses are in products, processes, or resources, and indicate where to make improvements. Today, the most popular methodology is the Object-Oriented (00) methodology. Users of this methodology want to prove that it helps resolve the software crisis. There is a belief that 00 systems are developed earlier, easier to understand and maintain, and contain reusable components. However, without metrics, the effectiveness of the 00 approach cannot be proven. Metrics must be used to show if the process or resources being used is responsible for the success or failure of software development, if management of the process is responsible, if the complexity or size of the product being produced is responsible, or if a lack of communication or misunderstandings of requirements is responsible. There are many, many reasons why metrics are used and can be seen in this Thesis. Many metrics are being used for traditional software development methodologies that deal with processes, products, and resources. However, there is no metric paradigm for the 00 development methodology. But, there is a small set of metrics proposed for 00 programming. We provide a 00 metric paradigm that contains metrics grouped into nine categories. We grouped the metrics into categories to make the selection of a particular· metric easier. These nine metrics fit nicely into the 00 methodology. The metrics can be used to measure processes, products, and resources. We provide a size estimation method that helps determine progress, costs, quality, effort, complexity, and schedule. The metrics can be used to prove the effectiveness of the 00 methodology and indicate areas for further improvement

    Real Time Agile Metrics for Measuring Team Performance

    Get PDF
    In order to track the improvements of agile teams, a system of metrics and indicators is very important to be implemented. Agile Software Development (ASD) promotes working software as the primary way of measuring progress. The current set of metrics are more output oriented rather than using lines of code to estimate productivity. This paper presents the results of a background research in order to identify the most important metrics, indicators, measures and tools software development teams use in relation with agile-based methodologies. The paper also presents a case study based on data gathered in a software outsourcing company. The paper proposes an architecture of an automated system used to provide real-time metrics for measuring agile team performance

    An auction-based serious game for bug tracking

    Get PDF
    Today, one of the challenges in software engineering is utilizing application lifecycle management (ALM) tools effectively in software development. In particular, it is hard for software developers to engage with the work items that are appointed to themselves in these ALM tools. In this study, we have focused on bug tracking in ALM where one of the most important metrics is mean time to resolution that is the average time to fix a reported bug. To improve this metric, we developed a serious game application based on an auction-based reward mechanism. The ultimate aim of this approach is to create an incentive structure for software practitioners to find and resolved bugs that are auctioned where participants are encouraged to solve and test more bugs in less time and improve quality of software development in a competitive environment. We conduct hypothesis tests by performing a Monte Carlo simulation. The preliminary results of this research support the idea that using a gamification approach for an issue tracking system enhances the productivity and decreases mean time to resolution

    Software Measurement Activities in Small and Medium Enterprises: an Empirical Assessment

    Get PDF
    An empirical study for evaluating the proper implementation of measurement/metric programs in software companies in one area of Turkey is presented. The research questions are discussed and validated with the help of senior software managers (more than 15 years’ experience) and then used for interviewing a variety of medium and small scale software companies in Ankara. Observations show that there is a common reluctance/lack of interest in utilizing measurements/metrics despite the fact that they are well known in the industry. A side product of this research is that internationally recognized standards such as ISO and CMMI are pursued if they are a part of project/job requirements; without these requirements, introducing those standards to the companies remains as a long-term target to increase quality

    Integrating automated support for a software management cycle into the TAME system

    Get PDF
    Software managers are interested in the quantitative management of software quality, cost and progress. An integrated software management methodology, which can be applied throughout the software life cycle for any number purposes, is required. The TAME (Tailoring A Measurement Environment) methodology is based on the improvement paradigm and the goal/question/metric (GQM) paradigm. This methodology helps generate a software engineering process and measurement environment based on the project characteristics. The SQMAR (software quality measurement and assurance technology) is a software quality metric system and methodology applied to the development processes. It is based on the feed forward control principle. Quality target setting is carried out before the plan-do-check-action activities are performed. These methodologies are integrated to realize goal oriented measurement, process control and visual management. A metric setting procedure based on the GQM paradigm, a management system called the software management cycle (SMC), and its application to a case study based on NASA/SEL data are discussed. The expected effects of SMC are quality improvement, managerial cost reduction, accumulation and reuse of experience, and a highly visual management reporting system

    Lessons Learned from a Decade of Providing Interactive, On-Demand High Performance Computing to Scientists and Engineers

    Full text link
    For decades, the use of HPC systems was limited to those in the physical sciences who had mastered their domain in conjunction with a deep understanding of HPC architectures and algorithms. During these same decades, consumer computing device advances produced tablets and smartphones that allow millions of children to interactively develop and share code projects across the globe. As the HPC community faces the challenges associated with guiding researchers from disciplines using high productivity interactive tools to effective use of HPC systems, it seems appropriate to revisit the assumptions surrounding the necessary skills required for access to large computational systems. For over a decade, MIT Lincoln Laboratory has been supporting interactive, on-demand high performance computing by seamlessly integrating familiar high productivity tools to provide users with an increased number of design turns, rapid prototyping capability, and faster time to insight. In this paper, we discuss the lessons learned while supporting interactive, on-demand high performance computing from the perspectives of the users and the team supporting the users and the system. Building on these lessons, we present an overview of current needs and the technical solutions we are building to lower the barrier to entry for new users from the humanities, social, and biological sciences.Comment: 15 pages, 3 figures, First Workshop on Interactive High Performance Computing (WIHPC) 2018 held in conjunction with ISC High Performance 2018 in Frankfurt, German
    • 

    corecore