2,908 research outputs found

    An approach to reconcile the agile and CMMI contexts in product line development

    Get PDF
    Software product line approaches produce reusable platforms and architectures for products set developed by specific companies. These approaches are strategic in nature requiring coordination, discipline, commonality and communication. The Capability Maturity Model (CMM) contains important guidelines for process improvement, and specifies "what" we must have into account to achieve the disciplined processes (among others things). On the other hand, the agile context is playing an increasingly important role in current software engineering practices, specifying "how" the software practices must be addressed to obtain agile processes. In this paper, we carry out a preliminary analysis for reconciling agility and maturity models in software product line domain, taking advantage of both.Postprint (published version

    Agile, Web Engineering and Capability Maturity ModelI ntegration : A systematic literature review

    Get PDF
    Context Agile approaches are an alternative for organizations developing software, particularly for those who develop Web applications. Besides, CMMI (Capability Maturity Model Integration) models are well-established approaches focused on assessing the maturity of an organization that develops software. Web Engineering is the field of Software Engineering responsible for analyzing and studying the specific characteristics of the Web. The suitability of an Agile approach to help organizations reach a certain CMMI maturity level in Web environments will be very interesting, as they will be able to keep the ability to quickly react and adapt to changes as long as their development processes get mature. Objective This paper responds to whether it is feasible or not, for an organization developing Web systems, to achieve a certain maturity level of the CMMI-DEV model using Agile methods. Method The proposal is analyzed by means of a systematic literature review of the relevant approaches in the field, defining a characterization schema in order to compare them to introduce the current state-of-the-art. Results The results achieved after the systematic literature review are presented, analyzed and compared against the defined schema, extracting relevant conclusions for the different dimensions of the problem: compatibility, compliance, experience, maturity and Web. Conclusion It is concluded that although the definition of an Agile approach to meet the different CMMI maturity levels goals could be possible for an organization developing Web systems, there is still a lack of detailed studies and analysis on the field

    Historical roots of Agile methods: where did “Agile thinking” come from?

    No full text
    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

    Lessons from Applying XP Methodology to Business Requirements Engineering in Developing Countries Context

    Get PDF
    Most standard software development methodologies are often not applied to software projects in many developing countries of the world. The approach generally practice is close to what eXtreme Programming (XP) is likely promoting, just keep coding and testing as the requirement evolves. XP is an agile software process development methodology that has inherent capability for improving efficiency of Business Software Development (BSD). XP can facilitate Business-to-Development (B2D) relationship due to its customer-oriented advocate. From practitioner point of view, we applied XP to BSD and result shows that customer involvement has positive impact on productivity, but can as well frustrate the success of the project. In an effort to promote software engineering practice in developing countries of Africa, we present the experiment performed, lessons learned, problems encountered and solution adopted in applying XP methodology to BSD

    Challenging Software Process Improvement by Design

    Get PDF
    Software process improvement (SPI) today is based mainly on a perception of software processes as artifacts and this perception has led SPI efforts to focus on perfecting such artifacts as a means to improve the practices of the people supposed to execute these software processes. Such SPI efforts thus tend to view the design of software processes as separate from their use. In this approach process designers are expected to provide process knowledge to software developers, and software developers are expected to provide experiences and problems to the process designers. This focus on software processes as artifacts implies an emphasis on formalization and externalization of process models possibly at the expense of the process knowledge in the heads of the process users. The paper point to problems related to separation and externalization from a theoretical standpoint and suggests an alternative to Improvement by Design: End-user SPI, where process users individually and collectively design their own software processes assisted by process experts

    Trading Discipline for Agility? Questioning the Unfaithful Appropriation of Agile Software Development Practices

    Get PDF
    Agile software development practices are rapidly replacing traditional and apparently more disciplined methodologies. However, empirical evidence suggests that organizations experience varying levels of success as more structured processes are traded for more agile ones. Using an autoethnographic approach, we reflect on how the various practices of XP discipline time-space relations amongst developer, customer and code. In this new form of disciplining, we contend that each actor is located in time and space in disciplined or controlled ways. We conclude that the faithful appropriation of the entire complement of agile development practices seems to be critical to the novel disciplinary positioning that they together collectively promote.

    The impact of using pair programming on system evolution a simulation-based study

    Get PDF
    In this paper we investigate the impact of pair--programming on the long term evolution of software systems. We use system dynamics to build simulation models which predict the trend in system growth with and without pair programming. Initial results suggest that the extra effort needed for two people to code together may generate sufficient benefit to justify pair programming.Peer reviewe
    • 

    corecore