28,597 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

    Addressing challenges to teach traditional and agile project management in academia

    Full text link
    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

    Connecting up strategy: are senior strategy directors a missing link?

    Get PDF
    With companies being exhorted to become more strategically agile and internally connected, this article examines the role of the Senior Strategy Director, the executive tasked specifically with internal strategy. In particular, it explores what they do, what specific capabilities they deploy to enable effective contribution to the company, and in what ways they facilitate the connectedness of strategy. An analysis of multiple interviews over time with Senior Strategy Directors of large companies shows the vital and challenging role these executives play in both shaping, connecting up, and executing strategy. This article identifies the particular capabilities necessary for Senior Strategy Directors to perform their role and shows how it all depends upon their skilful deployment. These findings have significant implications for understanding unfolding micro-processes of strategy in large organizations, for assumptions about the skills and capabilities necessary to be an effective Senior Strategy Director, and for business schools in terms of the content and style of strategy courses they provide

    A Platform-Based Software Design Methodology for Embedded Control Systems: An Agile Toolkit

    No full text
    A discrete control system, with stringent hardware constraints, is effectively an embedded real-time system and hence requires a rigorous methodology to develop the software involved. The development methodology proposed in this paper adapts agile principles and patterns to support the building of embedded control systems, focusing on the issues relating to a system's constraints and safety. Strong unit testing, to ensure correctness, including the satisfaction of timing constraints, is the foundation of the proposed methodology. A platform-based design approach is used to balance costs and time-to-market in relation to performance and functionality constraints. It is concluded that the proposed methodology significantly reduces design time and costs, as well as leading to better software modularity and reliability

    Examining perceptions of agility in software development practice

    Get PDF
    This is the post-print version of the final published article that is available from the link below. Copyright @ 2010 ACM.Organizations undertaking software development are often reminded that successful practice depends on a number of non-technical issues that are managerial, cultural and organizational in nature. These issues cover aspects from appropriate corporate structure, through software process development and standardization to effective collaborative practice. Since the articulation of the 'software crisis' in the late-1960s, significant effort has been put into addressing problems related to the cost, time and quality of software development via the application of systematic processes and management practices for software engineering. Early efforts resulted in prescriptive structured methods, which have evolved and expanded over time to embrace consortia/ company-led initiatives such as the Unified Modeling Language and the Unified Process alongside formal process improvement frameworks such as the International Standards Organization's 9000 series, the Capability Maturity Model and SPICE. More recently, the philosophy behind traditional plan-based initiatives has been questioned by the agile movement, which seeks to emphasize the human and craft aspects of software development over and above the engineering aspects. Agile practice is strongly collaborative in its outlook, favoring individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan (see Sidebar 1). Early experience reports on the use of agile practice suggest some success in dealing with the problems of the software crisis, and suggest that plan-based and agile practice are not mutually exclusive. Indeed, flexibility may arise from this unlikely marriage in an aim to strike a balance between the rigor of traditional plan-based approaches and the need for adaptation of those to suit particular development situations. With this in mind, this article surveys the current practice in software engineering alongside perceptions of senior development managers in relation to agile practice in order to understand the principles of agility that may be practiced implicitly and their effects on plan-based approach
    corecore