A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods

Size: px
Start display at page:

Download "A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods"

Transcription

1 A Comparison of the Essence 1.0 and SPEM 2.0 Specifications for Software Engineering Methods Brian Elvesæter SINTEF ICT P. O. Box 124 Blindern N-0314 Oslo, Norway Gorka Benguria TECNALIA R&I Ed 202, Zamudio Spain Sylvia Ilieva IICT-BAS, acad. G. Bonchev str., bl. 25A Sofia 1113, Bulgaria ABSTRACT In this paper we present a comparison of the draft Essence 1.0 and Software & Systems Process Engineering Metamodel (SPEM) 2.0 specifications for software engineering methods from the Object Management Group (OMG). The comparison is based on results from the REMICS research project where we are defining an agile methodology for model-driven modernization of legacy applications to service clouds. The initial REMICS Methodology was defined using SPEM. Selected parts of the methodology are now being redefined in Essence to evaluate its applicability, in particular its promise of better support for definition of agile practices and method enactment compared to SPEM. The comparison shows that there are similarities in the authoring capabilities provided by the two specifications, but that there are key differences in the method architecture with respect to support for enactment. Categories and Subject Descriptors D.2.1 [Requirements/Specifications]: Languages, Methodologies. D.2.2 [Design Tools and Techniques]: Computer-aided software engineering (CASE). D.2.9 [Management]: Software process models. General Terms Design, Standardization, Languages, Theory. Keywords Software Engineering, Method Engineering, Method, Practice, SPEM, Essence. 1. INTRODUCTION The REMICS research project aims to develop a tool-supported agile methodology for model-driven modernization of legacy applications to service clouds. The agile REMICS Methodology [1-3] has been developed using the Eclipse Process Framework (EPF) that complies with the Software & Systems Process Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. PMDE 2013, July 1, 2013, Montpellier, France. Copyright 2013 ACM /00/0010 $ Engineering Metamodel (SPEM) 2.0 specification [4]. The REMICS project has participated in the Software Engineering Method and Theory (SEMAT) initiative [5, 6] that has fronted a new specification named "Essence Kernel and Language for Software Engineering Methods" [7] as a response to the Request for Proposal (RFP) "A Foundation for the Agile Creation and Enactment of Software Engineering Methods" [8] issued by the Object Management Group (OMG). In March 2013 the Essence specification was officially endorsed by the OMG and is now undergoing finalization towards an official version 1.0 to be adopted. The Essence specification promises better support for definition of agile practices and method enactment compared to the SPEM specification. We are currently evaluating the applicability of the Essence specification with respect to updating parts of the agile REMICS Methodology. Based on this work, we present in this paper a comparison of the draft Essence 1.0 and SPEM 2.0 specifications for software engineering methods. The remainder of this paper is structured as follows: In Section 2 we give an overview and compare the main language concepts in the SPEM 2.0 and the draft Essence 1.0 specifications. Section 3 introduces our illustrative example based on Scrum [9] which is an agile software development practice used in the REMICS Methodology. In Section 4 we present the method authoring capabilities and in Section 5 we present the enactment capabilities defined in the two specifications. Section 6 provides a comparison and discussion of the capabilities of the two languages. Section 7 provides background on related work. Finally, Section 8 concludes this paper and gives directions for future research. 2. MAIN LANGUAGE CONCEPTS The Essence specification introduces a method architecture that distinguishes between kernels, practices and methods. A kernel provides a stripped-down, light-weight model of the essential aspects of software engineering. A practice is description of how to handle a specific aspect of a software engineering endeavour, e.g. User Stories [10] for requirements specification and Scrum for agile project management. The kernel is extended with practices that provide specific guidance to form a method suitable for the software endeavour and the needs of the development team. Below we present the main language concepts defined in the SPEM and Essence specifications according to this method architecture. Figure 1 shows the key language concepts defined in the SPEM specification. SPEM differentiates between method content and process content. Method content concepts such as Task, Work

2 Product and Role are used to define reusable descriptions that can be incorporated into several processes. The corresponding elements in the process content, i.e. Task Descriptor, Work Product Descriptor and Role Descriptor, are basically copies that contain the information from the method content counterparts, but can be locally adapted as part of the process description. The process content also includes Activity, Capability Pattern and Delivery Process that can be used to organize and define work breakdown structures and reusable process patterns. The method content includes Category that can be used to define custom categories, e.g. Discipline to categorize tasks and Tool to categorize tool-specific guidance. The Guidance concept can be used to define specific guidance types, e.g. Roadmap, Template, Checklist and Tool Mentor that can be associated with both method and process content. Practice is a special guidance kind for organizing elements that belong to the same practice. Kernel Content Alpha Alpha State < has targets > Kernel Activity Space < evidences organizes > Practice Content Work Product Activity Practice produces / updates > < helps create < qualify responsibilities Template Team Role Method Content Work Product Process Content Work Product Descriptor Competency Resource Pattern Example Resource and Pattern Figure 2. Overview of key language concepts in Essence Task < input > output Kernel Elements Standard Categories (subset) Standard Guidance Types (subset) Category Discipline Practice Role Tool Roadmap Guidance Role Descriptor Delivery Process Template Activity Checklist < input > output Task Descriptor Capability Pattern Tool Mentor Figure 1. Overview of key language concepts in SPEM Figure 2 shows the key language concepts defined in the Essence specification. A Kernel is expressed using the concepts Alpha, Activity Space and Competency. Alphas represent things to work with and have Alpha States to track their progress. Alphas can be seen as placeholders for Work Products. Activity Spaces represent things to do and can be seen as placeholders for Activities. Competencies represent skill sets. A Practice adds specific details by defining Work Products and Activities, but can also introduce new Alphas, Activity Spaces and Competencies. The language also include Resource to model different resource kinds, e.g. Template, and Pattern to model generic or specific patterns, e.g. Team Role. 3. ILLUSTRATIVE EXAMPLE SCRUM The initial release of the REMICS Methodology was not very agile and followed a more traditional software development approach. For the second release of the REMICS Methodology a particular implementation of Scrum [9], incorporating Scrum roles (i.e. Product Owner, Scrum Master, Scrum Team and Development Team), Scrum events (i.e. Sprint, Sprint Planning Meeting, Daily Scrum, Sprint Review and Sprint Retrospective) and Scrum artefacts (i.e. Product Backlog, Sprint Backlog and Increment) were introduced to make it more agile. Scrum can be seen as an iterative and incremental software development practice where each iteration defines a Sprint that results in an incremental update of a potential shippable product. The REMICS Methodology defines Modernization Sprints (see Figure 3) that provide guidance on model-driven modernization of legacy applications to service clouds. Figure 3. Modernization Sprints and Scrum types According to the Scrum Guide [9], the Scrum practice is best suited for small development teams consisting of three to nine members. In order to scale the REMICS Methodology for large modernization projects, the methodology can be adjusted following a "Scrum of Scrums" approach by defining a number of Modernization Scrum types. Each Scrum type defines Sprint types with particular activities based on the initial REMICS Methodology activity areas (see Figure 3). The five Modernization Scrum types are Requirements (RqS), Recovery (RcS), Migration (MgS), Validation (VdS) and Supervise (SpS).

3 Different Scrum team types are associated with each Sprint type depending on the required skills for the particular Sprint type. Teams are self-organizing but with a certain degree of specialization due to the diverse and not so common skills needed for activities in the Sprint types. The Scrum team types integrate the Whole Team technique of XP as well. The Whole Team technique includes strategies to increase overall productivity through streamlining the organization structure of the team and through streamlining collaboration within the team. In addition to the Scrum types, a number of agile development techniques (e.g. modelling by two, pair modelling and continuous modelling), have been adopted and adjusted for the extensively used model-driven engineering activities in the REMICS project. The REMICS Methodology has been developed using the EPF Composer (EPFC) tool (http://www.eclipse.org/epf/) and is hosted as an EPF Wiki (http://epf.remics.eu/wikis/remics/index.htm). Further details of the agile REMICS Methodology are presented in [1-3]. In this paper we use the original Scrum practice as described in the Scrum Guide [9], which applies to each of the Modernization Sprints or Scrum types in the agile REMICS Methodology, as an illustrative example. We compare how the Scrum practice can be defined according to SPEM using the EPFC tool and how the practice can be defined according to Essence using the EssWork Practice Workbench (EWPW) tool (http://www.ivarjacobson.com/esswork_practice_workbench/). The EWPW is a prototype tool that is currently being developed at Ivar Jacobson International as evidence of tool vendor support for the adoption of the Essence specification. 4. AUTHORING 4.1 Different Kernel Starting Points The SPEM specification does not include a standard kernel as specified in Essence. However, a kernel based on the OpenUP process is available as part of the EPF library (http://www.eclipse.org/epf/downloads/praclib/praclib_downloads.php). The OpenUP library contains a core set of method plugins (see Figure 4) which define a kernel. The OpenUP kernel uses language concepts from the method content of SPEM and defines specific role types (e.g. analyst, architect, developer, project manager, stakeholder and tester) and discipline categories (e.g. requirements, architecture, development, testing, deployment and project management). The role types and disciplines can be used as a structural starting point for adding practices to your method and to categorize the content of the practices that are composed. While the OpenUP kernel is proprietary, the Essence specification defines a standard kernel. The Essence kernel, available as a download for the EssWork Practice Workbench, is packaged as a Practice Workbench project (see Figure 5). The Essence kernel claims to be practice-agnostic as it does not contain any specific guidance but only general checklists. The Essence kernel is defined using the concepts Alpha to define things to work with (i.e. Opportunity, Requirements, Software System, Stakeholders, Team, Way of Working and Work), Activity Spaces to define things to do (e.g. Shape the System, Implement the System, Test the System, Deploy the System, Prepare to do the Work, Coordinate Activity and Support the Team) and Competency to define skill sets (i.e. Analysis, Development, Leadership, Management, Stakeholder Representation and Testing). Figure 4. OpenUP kernel in EPFC Figure 5. Essence kernel in EWPW

4 The kernel representation in EPFC and EWPW provides a very different starting point as a baseline for defining your practice. In the following two sections we elaborate on how to define the Scrum practice in EPFC and EWPW following the SPEM and Essence specifications accordingly. 4.2 Scrum Represented in SPEM (EPFC) The predefined role types and categories in the OpenUP kernel are quite separated from the definition of the Scrum practice. This allows us the choice of following a top-down or bottom-up approach to define the practice as an independent reusable asset and associate it with the kernel elements through the variability mechanisms defined in the SPEM specification, e.g. contributes to which adds details to an already defined element and replaces which replaces and a predefined element with your own. Figure 6 shows the representation of the Scrum practice in EPFC with defined Scrum roles, tasks and work products. The tasks defined in the Scrum practice are categorized as project management tasks which contributes to the discipline Project Management defined in the OpenUP kernel. Figure 7. Activity detail diagram The roles, tasks and work products contain descriptive guidelines and can be associated with additional guidance elements. The Scrum practice itself is defined as a special Practice guidance element that references all method and process content that should be included as part of the practice (see Figure 8). Figure 8. The Scrum practice guidance element in EPFC The Sprint itself can be defined as a capability pattern that sequences the Scrum tasks. Figure 9 shows the activity diagram (created in EPFC) for the Sprint capability pattern. The tasks shown are actually task descriptors that correspond to the tasks defined in the method content. Figure 6. Scrum practice structure represented in EPFC The Scrum roles are related to work products through the responsible for association and to tasks through the primary performer or additional performer association. Tasks are related to work products through the mandatory input, optional input and output association. Figure 7 shows a partial view of an activity detail diagram (created in EPFC) that graphically illustrates that the Development Team is the primary performer of the Daily Scrum, which has the Sprint Backlog and the defined Sprint Goal as inputs, and that the output is an updated Sprint Backlog. Figure 9. Sprint activity diagram

5 4.3 Scrum Represented in Essence (EWPW) In order to define a practice utilizing the full language capabilities of the Essence language, knowledge of the Essence kernel is required. In this paper we only present a subset of the Essence kernel necessary to illustrate the principles. Figure 10 shows a subset of the alphas and activity spaces defined in the Essence kernel [7] that we use to describe the Scrum practice. The kernel defines a small set of universal alpha elements such as Requirements, Software System, Work and Team, and their relationships, and activity spaces for the endeavour such as Prepare to do the Work, Support the Team and Stop the Work. The relationships between the alphas and the activity spaces are also defined as part of the kernel. The alphas have predefined states and the activity spaces have completion criteria that relate to specific alpha states. For instance the activity space Prepare do to the Work has Team::Seeded, Work::Initiated and Work::Prepared as completion criteria. This implies that the practice author should place activities in this particular activity space that provides specific guidance on how to achieve these alpha states. Requirements < fulfils Software System < scope and constrain produces > Work Prepare to do the Work < performs and plans Support the Team Team Track Progress Figure 10. Subset of the Essence kernel Figure 11 shows the representation of the Scrum practice in EWPW. The Scrum practice populates the alphas of the kernel (i.e. placing Product Backlog in Requirements, placing Increment in Software System and placing Sprint sub-alpha in Work) and the activity spaces of the kernel (i.e. placing Sprint Planning Meeting in Prepare to do the Work, placing Sprint Retrospective in Support the Team, and placing Daily Scrum and Sprint Review in Track Progress). The practice also introduces the Scrum roles as patterns. Figure 11. Scrum practice structure represented in EWPW Let us look closer at the representation of a Sprint. Sprint is defined as a sub-alpha of Work. Figure 12 shows the alpha card for Work and the state card for the state Seeded according to the card layout defined in the Essence specification. Each of the states has its corresponding state card that contains its checkpoints. A checkpoint describes the entry criteria for entering a specific state of the alpha and can be used to measure the progress of the alpha in the software endeavour. Checkpoints are typically expressed in natural language and provide a basis for generation of descriptive checklists items that are interpreted by the practitioners. Figure 12. Alpha card for Work and state card for Seeded

6 As can be seen from the practice structure in Figure 11 we extend the Work alpha with a new sub-alpha Sprint. The Work alpha is typically used for the duration of a development project that may cover a number of sprints. The Sprint has its own states (see Figure 13). Scrum comes with its own specific set of rules that should be defined as part of the practice. These rules can be defined as checkpoints associated with the appropriate states. The state card in Figure 13 shows the Scrum-specific checkpoints for when a Sprint is in the Planned state. with the Requirements alpha, Increment is associated with Software System and Sprint Backlog is associated with Sprint. In comparison with SPEM, the Essence specification does not define role as a language concept. One way to represent a role in Essence is to define a pattern. Thus, for each of the Scrum roles we defined a specific pattern (see Figure 15). These patterns can be attached to any elements, e.g. the Scrum Team can be attached to the Team alpha and the other Scrum roles can be attached to a Team Member (see Section 5 for further details). Figure 15. Specification of Scum roles in EWPW Figure 13. Alpha card for Sprint and state card for Planned The Scrum events (except Sprint which is represented as an alpha) are represented as activities. Figure 14 shows the activity card for the Sprint Planning Meeting activity. Activities are associated with alphas through an alpha input property specified on the activity. In Figure 14 the Requirements alpha is specified as an input as it contains the Product Backlog required to plan the Sprint. Activities have completion criteria that can either specify the creation or update of a work product or the state to be reached on an alpha. In Figure 14 the activity has an alpha completion criterion specifying that the activity contains specific guidance on how to achieve the Planned state of the Sprint, which also implicitly makes the Sprint an output of the activity. Similar activity definitions are also created for the other Scrum events. 5. ENACTMENT Enactment is the act of applying a specific method or methodology for a particular purpose, e.g. a software modernization project following the processes described in the REMICS Methodology. The EPF Composer tool allows us to publish the methodology content as an EPF Wiki where the practitioners can browse, read and potentially modify the online guidance. Figure 16 shows the lifecycle delivery process of the REMICS Methodology in the EPF Wiki. The EPF Wiki can be seen as an online user guide, but assignment of tasks and monitoring of progress are not supported. According to Section 16 in the SPEM 2.0 specification [4], enacting SPEM processes are typically done through mappings, e.g. to project planning tools or workflow engines such as Rational Team Concert (http://www-142.ibm.com/software/products/us/en/rtc/). The Sprint Planning Meeting takes Requirements as an input The Sprint Planning Meeting activity provides guidance on how to achieve the Planned state of the Sprint. Figure 14. Activity card for Sprint Planning Meeting The Scrum artefacts are represented as work products associated with the appropriate alphas, i.e. Product Backlog is associated Figure 16. Lifecycle delivery process in the EPF Wiki

7 The process capabilities of SPEM allows us to define work breakdown structures, but according to [11, 12] the language architecture itself lacks built-in enactment capabilities. Moreover, agile approaches such as Scrum tend to downplay strict work breakdown structures and assignments of tasks. Tasks in the Sprint Backlog can be dynamic as they are estimated and broken down into suitable units of work, team members sign up for rather than being assigned tasks, and any team member can modify the Sprint Backlog, etc. This fits well with the fact that software development is a creative process and most of the progress within the software development endeavour is done by human agents [13]. Thus, process enactment of software engineering methods must acknowledge the human knowledge worker and provide means of monitoring and progressing the software endeavour through human agents first and automation second. Enactment may be partially supported by method repositories and process engines that are linked to tools such as project management and issue tracking systems. The dynamics semantics of the Essence language specifies domain classes for instantiating alphas, alpha states and work products as well as operations for generating guidance based on alphas and alpha states to support enactment. For example, assuming that the Sprint is in the Planned state, a list of activities that progress the Sprint to a specific target state e.g. Concluded can be generated. The alpha can be instantiated and used on a particular endeavour, it has states that can be tracked, and the dynamic semantics can be partially formalized and implemented in tools. The alphas defined in the Essence kernel can be viewed as top-level alphas of which there are only a few, e.g. Work, and the practices add sub-alphas, e.g. Sprint that divides the work into smaller units. Using the checkpoints of the alphas it is at the discretion of the team to decide when a state change has occurred. Figure 17 shows an alpha card for a particular Sprint instance which is in the Under Control state. Figure 18. Task management kernel extension in EWPW By applying the optional Task Management Extension, tooling that supports the Essence specification can populate teams with actual team members (each having their corresponding Team Member alpha instance representation) and actual tasks (represented by instances of the Task alpha) which can be monitored and progressed. Alpha instances can be associated with each other during the enactment to represent a specific team member signing up to a specific task, and patterns such as the Scrum roles can be applied to the appropriate team members. Figure 19 shows the alpha cards for Team Member and Task. Figure 17. Sprint in the Under Control state However, the Sprint alpha is still not at a suitable granularity as a means of defining tasks that team members can sign up for. The Essence specification acknowledges this and specifies optional kernel extensions. The Task Management Extension provides three additional alphas, i.e., Team Member, Practice Adoption and Task, to allow development teams to detail and progress the Team, Way of Working and Work alphas respectively. Figure 18 shows the three additional alphas and their defined states in the EWPW tool. Figure 19. Alpha cards for Team Member and Task The Practice Adoption sub-alpha has been included in the extensions as a means to monitor and assess the adoption of a practice itself, e.g. Scrum, since teams improve their way of working by adopting and adapting individual practices. For instance, the Sprint Retrospective activity of Scrum gives the

8 Scrum team an opportunity to reflect on and adjust the practices being applied. 6. COMPARISON AND DISCUSSION The Scrum example illustrated in Section 4 shows that there are some similarities between Essence and SPEM from an authoring perspective. Both specifications provide basic language concepts that allow us to define practices with guidance elements, but as illustrated in Section 5 the Essence language contains some different concepts or additional properties that better support enactment. One of the key differences is the notion of Alpha with alpha states and the usage of states as completion criteria of an Activity to monitor, track and drive the progress through generation of guidance advice. Table 1 below summarizes the correspondence between the key language concepts of SPEM and Essence (introduced in Figure 1 and Figure 2). Table 1. Mapping of SPEM and Essence concepts SPEM Essence Comment Task Activity Similar in concepts, but an Activity in Essence additionally defines completion criteria. Work Product Work Product Similar in concepts, but a Work Product in Essence additionally defines levels of details (not discussed in the illustrative example) to specify different ranges of details required. Role n/a Role allows to author responsibilities of work products and performers of tasks in SPEM. Essence does not specify the concept of a role and advices to use the Pattern concept to define roles. The rationale is that definitions of roles may differ from method to method. Category Tag Categories (both default and custom) are used to structure the elements of SPEM content, e.g. to support navigability in the published guidance. Essence provides the concept of a Tag (not discussed in the illustrative example) that allows adding user defined or tool specific information. Guidance Practice all elements Practice The Essence language does not differentiate between a specific guidance concept and other concepts such as Activity (which basically contains guidance for performing the work). SPEM defines Practice as a specific type of Guidance that can reference any element defined in SPEM. Essence on the other hand introduces Practice as a specific concept in the language which allows more Activity Capability Pattern Delivery Process n/a Resource or Pattern Activity Space and Activity Alpha operational semantics to support composition etc. to be formalized and better supported by tooling. If additional guidance types are needed the advice is to use Patterns or Resources. The Activity, Capability Pattern and Delivery Process concepts in SPEM allows to define work breakdown structures and reusable process content. The Essence language allows activity associations between abstract activities (which are either Activity Spaces or Activities) to represent a relationship or dependency between activities. The Alpha concept does not have an equivalent in the SPEM 2.0 specification, and is essential to the underlying method architecture of the Essence language to monitor, track and drive method enactment based on alpha states and completion criteria. In the comparison table we have restricted the analysis to the SPEM 2.0 specification. It should be noted that this specification is from 2008 and that the underlying method architecture supporting the EPF framework has evolved since 2008 with new capabilities not defined in SPEM 2.0. An example of a new capability is the concept of a Work Product Slot which is similar to an Alpha, except that there is no state information. Work product slots are used to decouple tasks, so a task can take requirements as an input, without specifying whether the requirements are e.g. use cases or user stories by marking it as a slot. A Work Product can fulfil a slot as part of the composition of practices. A new feature in the commercial counterpart to EPF from IBM, i.e. the Rational Method Composer (RMC), is support for user defined types which allows you to define your own type with attributes and relationships, assign the new type its own unique icons, and immediately start authoring these elements in your library. Since the focus of this paper has been on the comparison with the original SPEM 2.0 specification, we have not investigated the use of the new EPF framework capabilities in great depth. We did however do a small experiment to see how alphas could be represented in EPFC using work product slots (see Figure 20), but concluded that without the proper language support of Essence it would be cumbersome to use a tooling like EPFC to author Essence-compliant practices. RMC with its support for user defined types will probably be a better starting point if one where to revisit this tooling experiment.

9 [20] identify some of the same issues and propose method services towards practitioners. Hoppenbrouwers et al. [21] also identify similar challenges and the need for a light-weight approach towards the practitioners and propose a rule-based approach. One main criticism of SPEM 2.0 is the lack of enactment support [11, 12]. Although the EPF Wiki provides some functionality to support editing of online guidance, better enactment support is needed in the SPEM specification itself to guide tools to include capabilities such as monitoring, tracking and generation of advice, or have clearly defined APIs that allow software processes models to be linked with enactment tools. Bendraou et al. [22] has proposed extensions to SPEM 2.0 to support enactment, but we see no evidence that this will be included in revisions to the SPEM specification. Furthermore, the Situational Method Engineering (SME) community [23] has been working on related metamodelling approaches which has resulted in the ISO/IEC standard [24] that provides an alternative to the OMG SPEM 2.0 specification. Figure 20. Using Work Product Slots to represent Alphas 7. RELATED WORK Agile methods and techniques are widely adapted and successfully applied in many business and application domains today. The combination of Model-Driven Development (MDD) and agile software development, known as Agile MDD, is broadly researched and applied [14-16]. Although there are many existing Service-Oriented Architecture (SOA) methodologies, only few were found to be specifically concerned with incorporating agile software development (e.g. [17]). Furthermore, there are few methodologies that combine agile software development with both MDD and SOA for software reengineering. The mscrum4sosr is one such methodology, proposed by Chung et al [18]. The methodology extends Scrum with UML modelling and XP techniques in order to provide a comprehensive serviceoriented software reengineering process model. Another similar approach is the iterative development approach Model-driven Rapid Development Architecture (SMRDA), which unifies SOA and MDD in order to enhance the efficiency of the development efforts and the reusability of the developed services [19]. Based on the literature review we conducted, there are few methodologies that combine agile software development with both MDD and SOA for software reengineering. Moreover, we are lacking agile methodologies that specifically address modeldriven modernization to service clouds. This was one motivation for making the REMICS Methodology more agile. However, improving the initial release of the REMICS Methodology with agile practices resulted in the restructuring of the methodology authored in the EPF framework. One issue with these frameworks are that software processes defined by separate method engineers typically do not leave enough flexibility for the development team to customize and tailor the processes they use. Deneckère et al. 8. CONCLUSIONS AND FUTURE WORK In this paper we have presented and compared the key language concepts of the draft Essence 1.0 and SPEM 2.0 specifications applied to the Scrum practice in the context of the REMICS Methodology. The comparison is substantiated by proof-ofconcept implementations using two different tools supporting the specifications. The complete REMICS Methodology has been implemented using the SPEM-compliant EPF framework, i.e. authored using the EPF Composer tool and published online as an EPF Wiki. For the comparison with Essence we selected a specific part of the REMICS Methodology, i.e. the Scrum practice, which was authored in the Essence-compliant EssWork Practice Workbench tool. The comparison shows that although there are some similarities in the authoring capabilities of the two languages, there are some key differences in the method architecture with respect to support for enactment. The Essence specification provides means for monitoring, tracking and associating work to be done and things to work with through the progression of states on specific standardized kernel elements such as Requirements, Work and Task (expressed using the language concept Alpha). The Essence specification is now officially endorsed by the OMG and a final version is being prepared by a Finalization Task Force (FTF). The authors will continue to evaluate concepts from the Essence specification and provide feedback to the FTF based on development of prototyping tools and further improvements related to the REMICS Methodology. As part of this work we are currently working on re-authoring a larger part of the REMICS Methodology following the Essence specification. Acknowledgements. The research leading to these results has received funding from the European Union Seventh Framework Programme FP7/ under grant agreement n REMICS. The REMICS Methodology is available online at 9. REFERENCES [1] REMICS, "REMICS Handbook, Interim Release", REMICS Collaborative Project, Deliverable D2.4, 8 October

10 [2] REMICS, "REMICS methodology with agile extension, interim release", REMICS Collaborative Project, Deliverable D2.7, 31 August ethodology%20with%20agile%20extension%2c%20interim %20release.pdf [3] I. Krasteva, S. Stavros, and S. Ilieva, "Agile Model-Driven Modernization to the Service Cloud", in The Eighth International Conference on Internet and Web Applications and Services (ICIW 2013). Rome, Italy, [4] OMG, "Software & Systems Process Engineering Meta- Model Specification, Version 2.0", Object Management Group (OMG), Document formal/ , April [5] M. Kajko-Mattsson, M. Striewe, M. Goedicke, I. Jacobson, I. Spence, S. Huang, P. McMahon, B. MacIsaac, B. Elvesater, A. J. Berre, and E. Seymour, "Refounding software engineering: The Semat initiative (Invited presentation)", in Proc. of the 34th International Conference on Software Engineering (ICSE), Zürich, Switzerland, 2012, IEEE, pp [6] B. Elvesæter, M. Striewe, A. McNeile, and A.-J. Berre, "Towards an Agile Foundation for the Creation and Enactment of Software Engineering Methods: The SEMAT Approach", in ECMFA 2012 Joint Proceedings: Co-located Events at the 8th European Conference on Modelling Foundations and Applications, Kongens Lyngby, Technical University of Denmark (DTU), 2012, pp ISBN /proceedings/PDF/ECMFA-2012-Workshop- Proceedings.pdf [7] OMG, "Essence - Kernel and Language for Software Engineering Methods", Object Management Group (OMG), OMG Document ad/ , 18 February (Restricted to OMG members) & 3.pdf (Public) [8] OMG, "A Foundation for the Agile Creation and Enactment of Software Engineering Methods RFP", Object Management Group (OMG), OMG Document ad/ , 23 June [9] K. Schwaber and J. Sutherland, "The Scrum Guide", Scrum.org, October f [10] D. Leffingwell, "User Stories", in Agile Software Requirements, Addison-Wesley, 2011, pp ISBN [11] B. Henderson-Sellers and C. Gonzalez-Perez, "The Rationale of Powertype-based Metamodelling to Underpin Software Development Methodologies", in Proc. of the 2nd Asia-Pacific conference on Conceptual modelling - Volume 43, 2005, ACM. [12] C. Gonzalez-Perez and B. Henderson-Sellers, "Metamodelling for Software Engineering", John Wiley & Sons, Ltd, 2008, ISBN [13] P. Feiler and W. Humphrey, "Software Process Development and Enactment: Concepts and Definitions", Software Engineering Institute, Technical report CMU/SEI-92-TR- 004, September [14] R. Matinnejad, "Agile Model Driven Development: An Intelligent Compromise", in Proc. of the 9th International Conference on Software Engineering Research, Management and Applications (SERA), 2011, pp [15] R. Picek, "Suitability of Modern Software Development Methodologies for Model Driven Development", Journal of Information and Organizational Sciences, vol. 33, pp , [16] V. Mahé et al., "Crossing Model Driven Engineering and Agility: Preliminary Thought on Benefits and Challenges", in Proc. of the 3rd Workshop on Model-Driven Tool & Process Integration, in conjunction with Sixth European Conference on Modelling Foundations and Applications, Paris, France, 2010, pp [17] I. Christou et al., "Using the Agile Unified Process in Banking", IEEE Software, vol. 27, pp , [18] S. Chung et al., "A Model-Driven Scrum Process for Service-Oriented Software Reengineering: mscrum4sosr", in Proc. of the The 2nd International Conference on Computer Science and its Applications (CSA 2009), Jeju Island, Korea, 2009, pp [19] B. Wang et al., "A SOA based Model driven Rapid Development Architecture - SMRDA", in The 2nd International Conference on Education Technology and Computer (ICETC 2010). Shanghai, China, [20] R. Deneckère, A. Iacovelli, E. Kornyshova, and C. Souveyet, "From Method Fragments to Method Services", in 13th International Workshop on Exploring Modeling Methods for Systems Analysis and Design (EMMSAD'08). Montpellier, France, 2008, pp [21] S. Hoppenbrouwers, M. Zoet, J. Versendaal, and I. v. d. Weerd, "Agile Service Development: A Rule-Based Method Engineering Approach", in Engineering Methods in the Service-Oriented Context, 4th IFIP WG 8.1 Working Conference on Method Engineering, ME 2011, Paris, France, April 2011, Proceedings, Springer, 2011, pp [22] R. Bendraou, B. Combemale, X. Cregut, and M.-P. Gervais, "Definition of an Executable SPEM 2.0", in 14th Asia- Pacific Software Engineering Conference (APSEC '07). Nagoya, Japan, 2007, pp [23] M. A. Jeusfeld, M. Jarke, and J. Mylopoulos, "Metamodeling for Method Engineering", The MIT Press, [24] ISO/IEC, "Software Engineering Metamodel for Development Methodologies", International Organization for Standardisation (ISO), ISO/IEC 24744, 15 February 2007.

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Agile Model-Driven Modernization to the Service Cloud

Agile Model-Driven Modernization to the Service Cloud Agile Model-Driven Modernization to the Service Cloud Iva Krasteva Rila Solutions EAD Acad. G. Bonchev str., bl. 27 Sofia, Bulgaria ivak@rila.bg Stavros Stavru Faculty of Mathematics and Informatics, Sofia

More information

A Software process engineering course

A Software process engineering course Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship 2009 A Software process engineering course J. Scott Hawker Follow this and additional works at: http://scholarworks.rit.edu/other

More information

Surveying and evaluating tools for managing processes for software intensive systems

Surveying and evaluating tools for managing processes for software intensive systems Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB

More information

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems

Leveraging RUP, OpenUP, and the PMBOK. Arthur English, GreenLine Systems Software Project Management Leveraging RUP, OpenUP, and the PMBOK Arthur English, GreenLine Systems GreenLine Systems Inc. 2003 2013 My Background 30+ years of IT project management experience with both

More information

Requirements for Software Process Modeling Tools

Requirements for Software Process Modeling Tools Requirements for Software Process Modeling Tools Rodrigo M. Pagliares Computer Science Department Federal University of Minas Gerais (UFMG) Av. Antônio Carlos, 6627 CEP 31.270-010 Belo Horizonte MG - Brazil

More information

Eclipse Process Framework Composer

Eclipse Process Framework Composer Eclipse Process Framework Composer Part 1: Key Concepts Second Revision, April 2007 by, phaumer@us.ibm.com Solution architect, IBM Rational Software This two-part article offers an introduction to the

More information

The Essence of Software Engineering: Applying the SEMAT Kernel. Scott Ambler interviews Ivar Jacobson

The Essence of Software Engineering: Applying the SEMAT Kernel. Scott Ambler interviews Ivar Jacobson The Essence of Software Engineering: Applying the SEMAT Kernel Scott Ambler interviews Ivar Jacobson 1 The Essence of Software Engineering: Applying the SEMAT Kernel from Addison-Wesley Professional was

More information

Introduction to OpenUP (Open Unified Process)

Introduction to OpenUP (Open Unified Process) Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture

More information

Analyzing the Scrum Process Model with AVISPA

Analyzing the Scrum Process Model with AVISPA Analyzing the Scrum Process Model with AVISPA Julio Ariel Hurtado Alegría CS Department, Univ. de Chile IDIS Group, Univ. del Cauca, Colombia Email: jhurtado@dcc.uchile.cl María Cecilia Bastarrica Computer

More information

Meta-Model specification V2 D602.012

Meta-Model specification V2 D602.012 PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR

More information

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447

This is an author-deposited version published in : http://oatao.univ-toulouse.fr/ Eprints ID : 15447 Open Archive TOULOUSE Archive Ouverte (OATAO) OATAO is an open access repository that collects the work of Toulouse researchers and makes it freely available over the web where possible. This is an author-deposited

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

Agile Portfolio Management. Jochen(Joe)Krebs www.incrementor.com

Agile Portfolio Management. Jochen(Joe)Krebs www.incrementor.com Agile Portfolio Management Jochen(Joe)Krebs www.incrementor.com 1 Jochen (Joe) Krebs www.jochenkrebs.com com www.incrementor.com Author of Agile Portfolio Management (Microsoft Press 2008). Co author of

More information

CMMI and IBM Rational Unified Process

CMMI and IBM Rational Unified Process IBM Software Group CMMI and IBM Rational Unified Process A practical route to greater development maturity CMMI Made Practical, London, 19-20 th March, 2007 Keith Mantell IBM Rational, UK keith_mantell@uk.ibm.com

More information

Agile Software Engineering Practice to Improve Project Success

Agile Software Engineering Practice to Improve Project Success Agile Software Engineering Practice to Improve Project Success Dietmar Winkler Vienna University of Technology Institute of Software Technology and Interactive Systems dietmar.winkler@qse.ifs.tuwien.ac.at

More information

A Software Development Platform for SOA

A Software Development Platform for SOA A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda IBM Software Group

More information

Reuse and Migration of Legacy Systems to Interoperable Cloud Services

Reuse and Migration of Legacy Systems to Interoperable Cloud Services Reuse and Migration of Legacy Systems to Interoperable Cloud Services REMICS Consortium, Arne Berre 07 June 2011 - Timisoara 1 Project facts REMICS is a STREP accepted in the Objective 1.2 of FP7 Call

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational

More information

Laboratório de Desenvolvimento de Software

Laboratório de Desenvolvimento de Software Laboratório de Desenvolvimento de Software FEUP/MIEIC, 2015/16 Ademar Aguiar Nuno Flores Rui Maranhão Hugo Ferreira Luís Teixeira url: moodle http://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919

More information

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study

Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Software Quality Development and Assurance in RUP, MSF and XP - A Comparative Study Wolfgang Zuser Vienna University of Technology wolfgang.zuser@inso.tuwien.ac.at Stefan Heil Capgemini Consulting Austria

More information

When is Agile the Best Project Management Method? Lana Tylka

When is Agile the Best Project Management Method? Lana Tylka When is Agile the Best Project Management Method? Lana Tylka Staged Incremental Deliveries Prototypes Plan Develop Design Deploy Test Maintain Sequential Steps Multiple Iterations Waterfall Sprints, Spirals

More information

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24 Table of Contents CHAPTER 1 Web-Based Systems 1 The Web 1 Web Applications 2 Let s Introduce a Case Study 3 Are WebApps Really Computer Software? 4 Are the Attributes of WebApps Different from the Attributes

More information

SERENITY Pattern-based Software Development Life-Cycle

SERENITY Pattern-based Software Development Life-Cycle SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies

More information

ISO 15926 Reference Data Engineering Methodology. Ontology Summit 2013, track C 7th February 2013г.

ISO 15926 Reference Data Engineering Methodology. Ontology Summit 2013, track C 7th February 2013г. ISO 15926 Reference Data Engineering Methodology Ontology Summit 2013, track C 7th February 2013г. TechInvestLab Strategy consultants (systems and organizational engineering, technology management) Special

More information

Lean and Mean Architecting with RCDA

Lean and Mean Architecting with RCDA Lean and Mean Architecting with RCDA Eltjo R. Poort SATURN 2013, Minneapolis CGI Group Inc. Eltjo Poort CGI NL Lead Expert Architecture Reviewing Bids & Projects Standardising & Improving Architecture

More information

Requirements Management Practice Description

Requirements Management Practice Description Requirements Management Practice Description 1. REQUIREMENTS MANAGEMENT (RM) 1.1 Description of the practice TRASYS provide solutions to effectively manage critical issues and reduce risks in project related

More information

AN EVOLUTION PROCESS FOR SERVICE-ORIENTED SYSTEMS

AN EVOLUTION PROCESS FOR SERVICE-ORIENTED SYSTEMS Computer Science 13 (4) 2012 http://dx.doi.org/10.7494/csci.2012.13.4.71 Andrzej Zalewski Marcin Szlenk Szymon Kijas AN EVOLUTION PROCESS FOR SERVICE-ORIENTED SYSTEMS Abstract Evolution of service-oriented

More information

A Survey of Service Oriented Development Methodologies

A Survey of Service Oriented Development Methodologies A Survey of Service Oriented Development Methodologies Ervin Ramollari 1, Dimitris Dranidis 1, and Anthony J. H. Simons 2 1 South East European Research Centre (SEERC) 17 Mitropoleos Str., 54624 Thessaloniki,

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Open Business Model, Process and Service Innovation with VDML and ServiceML

Open Business Model, Process and Service Innovation with VDML and ServiceML Open Business Model, Process and Service Innovation with VDML and ServiceML Arne J. Berre* Henk de Man** Yannick Lew* Brian Elvesæter* Bjørn Morten Ursin-Holm*** *SINTEF, P. O. Box 124 Blindern, N-0314

More information

2015 IBM Continuous Engineering Open Labs Target to better LEARNING

2015 IBM Continuous Engineering Open Labs Target to better LEARNING 2015 IBM Continuous Engineering Open Labs Target to better LEARNING (NO COST - not a substitute for full training courses) Choose from one or more of these Self-Paced, Hands-On Labs: DMT 3722 - Learn to

More information

Agile Unified Process

Agile Unified Process INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND MOBILE APPLICATIONS - IJCSMA Agile Unified Process Charles Edeki Ph.D, American Intercontinental University, Department of Information Technology, 160 Parkside

More information

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus

A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus A Unified Messaging-Based Architectural Pattern for Building Scalable Enterprise Service Bus Karim M. Mahmoud 1,2 1 IBM, Egypt Branch Pyramids Heights Office Park, Giza, Egypt kmahmoud@eg.ibm.com 2 Computer

More information

Agile and Secure: Can We Be Both?

Agile and Secure: Can We Be Both? Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. keith.landrus@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission

More information

An Integrated Quality Assurance Framework for Specifying Business Information Systems

An Integrated Quality Assurance Framework for Specifying Business Information Systems An Integrated Quality Assurance Framework for Specifying Business Information Systems Frank Salger 1, Stefan Sauer 2, Gregor Engels 1,2 1 Capgemini sd&m AG, Carl-Wery-Str. 42, D-81739 München, Germany

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

PMLite: An Open Source Solution for Process Monitoring

PMLite: An Open Source Solution for Process Monitoring PMLite: An Open Source Solution for Process Monitoring Alberto Colombo, Ernesto Damiani, and Fulvio Frati Department of Information Technology - University of Milan via Bramante 65, 26013 Crema (CR) Italy

More information

System development lifecycle waterfall model

System development lifecycle waterfall model Slide 6.1 System development lifecycle waterfall model Figure 6.1 The waterfall model of system development lifecycle Slide 6.2 The b model Figure 6.2 The b model Source: N D Birrell and M A Ould, A Practical

More information

Agile Project Management By Mark C. Layton

Agile Project Management By Mark C. Layton Agile Project Management By Mark C. Layton Agile project management focuses on continuous improvement, scope flexibility, team input, and delivering essential quality products. Agile project management

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht

Service Oriented Architecture Design and Development Method. Name: René van Donselaar. Universiteit Utrecht Service Oriented Architecture Design and Development Method René van Donselaar Universiteit Utrecht Notice of Originality I declare that this paper is my own work and that information derived from published

More information

An Approach for assessing the Quality of Software for small and medium sized firms

An Approach for assessing the Quality of Software for small and medium sized firms An Approach for assessing the Quality of Software for small and medium sized firms N. Veeranjaneyulu Associate Professor, School of Computing, Vignan University, Vadlamudi, India 1 Abstract: Software quality

More information

Process Patterns for Component-Based Software Development

Process Patterns for Component-Based Software Development Process Patterns for -Based Software Development Ehsan Kouroshfar, Hamed Yaghoubi Shahir, and Raman Ramsin Department of Computer Engineering Sharif University of Technology kouroshfar@ce.sharif.edu, yaghoubi@ieee.org,

More information

Introduction. Contents. Introducing the DSDM Agile Project Framework. Introducing DSDM

Introduction. Contents. Introducing the DSDM Agile Project Framework. Introducing DSDM Contents Introduction... 2 Introducing the DSDM Agile Project Framework... 2 Introducing DSDM... 2 Introducing Scrum... 3 The DSDM Agile Project Framework for Scrum... 4 Philosophy... 4 Values... 4 Principles...

More information

Software processes that are:

Software processes that are: Agile Processes Software processes that are: Incremental (small software releases with rapid cycles) Cooperative (customer and developer working together with close communication) Straightforward (method

More information

White Paper What Solutions Architects Should Know About The TOGAF ADM

White Paper What Solutions Architects Should Know About The TOGAF ADM White Paper What Solutions Architects Should Know About The TOGAF ADM WP0015 October 2011 The Open Group Architecture Framework 1 (TOGAF) is the most widely referenced architecture framework currently

More information

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS

COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS COMPARATIVE STUDY ON SOFTWARE PROJECT MANAGEMENT MODELS *1 Mrs. Kalaivani S., * 2 Mrs. Kavitha S., *1 M.Phil Research Scholar, Department of Computer Science Auxilium College (Autonomous), Vellore, TamilNadu,

More information

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering

A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering A Case Study on Benefits and Side-Effects of Agile Practices in Large-Scale Requirements Engineering Elizabeth Bjarnason, Krzysztof Wnuk, Björn Regnell Department of Computer Science, Lund University,

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

Agile Systems Engineering: What is it and What Have We Learned?

Agile Systems Engineering: What is it and What Have We Learned? Agile Systems Engineering: What is it and What Have We Learned? March 2012 Dr. Suzette S. Johnson Agile Engineering Northrop Grumman Suzette.Johnson@ngc.com Getting To Know You! Dr. Suzette Johnson Northrop

More information

Agile Development with Jazz and Rational Team Concert

Agile Development with Jazz and Rational Team Concert Agile Development with Jazz and Rational Team Concert Mayank Parikh mayank.parikh.@in.ibm.com Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation

More information

Harnessing the power of software-driven innovation. Martin Nally IBM Rational CTO IBM Fellow and VP

Harnessing the power of software-driven innovation. Martin Nally IBM Rational CTO IBM Fellow and VP Harnessing the power of software-driven innovation Martin Nally IBM Rational CTO IBM Fellow and VP We have entered a new wave of innovation Innovation The Industrial Revolution Age of Steam and Railways

More information

Neglecting Agile Principles and Practices: A Case Study

Neglecting Agile Principles and Practices: A Case Study Neglecting Agile Principles and Practices: A Case Study Patrícia Vilain Departament de Informatics and Statistics (INE) Federal University of Santa Catarina Florianópolis, Brazil vilain@inf.ufsc.br Alexandre

More information

SOMA, RUP and RMC: the right combination for Service Oriented Architecture

SOMA, RUP and RMC: the right combination for Service Oriented Architecture SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March

More information

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing

Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Enterprise SOA Strategy, Planning and Operations with Agile Techniques, Virtualization and Cloud Computing Presented by : Ajay Budhraja, Chief, Enterprise Services ME (Engg), MS (Mgmt), PMP, CICM, CSM,

More information

Towards a new approach of continuous process improvement based on CMMI and PMBOK

Towards a new approach of continuous process improvement based on CMMI and PMBOK www.ijcsi.org 160 Towards a new approach of continuous process improvement based on CMMI and PMBOK Yassine Rdiouat 1, Naima Nakabi 2, Khadija Kahtani 3 and Alami Semma 4 1 Department of Mathematics and

More information

IBM Rational Software

IBM Rational Software IBM Rational Software Development Conference 2008 Collaborative Software Development An Introduction to Rational Team Concert Erich Gamma Distinguished Engineer, Jazz Technical Lead IBM Rational Zurich

More information

The Agile Manifesto is based on 12 principles:

The Agile Manifesto is based on 12 principles: The Agile Manifesto is based on 12 principles: Customer satisfaction by rapid delivery of a useful product solution Welcome changing requirements, even late in development Working products are delivered

More information

A Comparison of SOA Methodologies Analysis & Design Phases

A Comparison of SOA Methodologies Analysis & Design Phases 202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering

More information

TOWARDS A METHOD FOR ENTERPRISE INFORMATION SYSTEMS INTEGRATION (Extended version)

TOWARDS A METHOD FOR ENTERPRISE INFORMATION SYSTEMS INTEGRATION (Extended version) TOWARDS A METHOD FOR ENTERPRISE INFORMATION SYSTEMS INTEGRATION (Extended version) Silveira, R. W.; Pastor, J.A.; Mayol, E. Facultat d Informàtica de Barcelona, Universitat Politècnica de Catalunya {silveira;

More information

A Variability Viewpoint for Enterprise Software Systems

A Variability Viewpoint for Enterprise Software Systems 2012 Joint Working Conference on Software Architecture & 6th European Conference on Software Architecture A Variability Viewpoint for Enterprise Software Systems Matthias Galster University of Groningen,

More information

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT

More information

Business Architecture Guild Body of Knowledge Handbook 2.0

Business Architecture Guild Body of Knowledge Handbook 2.0 Guild Body of Knowledge Handbook 2.0 ------------------------ Section 1: Introduction The Guild has made this Introduction section of its Body of Knowledge Handbook 2.0 ( Handbook ) publicly available

More information

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW

TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Year 2014, Vol. 1, issue 1, pp. 49-56 Available online at: http://journal.iecuniversity.com TRADITIONAL VS MODERN SOFTWARE ENGINEERING MODELS: A REVIEW Singh RANDEEP a*, Rathee AMIT b a* Department of

More information

A Risk Management Approach Based on Situational Method Engineering

A Risk Management Approach Based on Situational Method Engineering A Risk Management Approach Based on Situational Method Engineering Guilherme Vaz Pereira, Fabrício Severo, and Lisandra Fontoura. Universidade Federal de Santa Maria (UFSM) RS Brasil {guigavazpereira,

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan PLM - Agile Agile Development Evolved in the 1990s as a response to heavyweight methodologies. In 2001 representatives of various new methodologies met to discuss the need for lighter alternatives. The

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:

More information

Agile Development with Rational Team Concert

Agile Development with Rational Team Concert AM1 Agile Development with Rational Team Concert Giles Davies Technical Consultant, IBM Rational giles.davies@uk.ibm.com What is Agile? An iterative and incremental (evolutionary) approach performed in

More information

What is BPM? Software tools enabling BPM

What is BPM? Software tools enabling BPM What is BPM? BPM, or Business Process Management, is a technology, but it is also more than that. Broadly speaking, one can consider BPM as a management discipline in which processes are valued as assets

More information

BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4

BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4 International Conference 20th EURO Mini Conference Continuous Optimization and Knowledge-Based Technologies (EurOPT-2008) May 20 23, 2008, Neringa, LITHUANIA ISBN 978-9955-28-283-9 L. Sakalauskas, G.W.

More information

Rational Team Concert. Scrum Project Management Tutorial

Rational Team Concert. Scrum Project Management Tutorial Rational Team Concert Scrum Project Management Tutorial 1 Contents Contents... 2 1. Introduction... 3 2. Terminology... 4 3. Project Area Preparation... 4 3.1 Adding Users and specifying Roles... 5 3.2

More information

The Rap on RUP : An Introduction to the Rational Unified Process

The Rap on RUP : An Introduction to the Rational Unified Process The Rap on RUP : An Introduction to the Rational Unified Process Jeff Jacobs Jeffrey Jacobs & Associates phone: 650.571.7092 email: jeff@jeffreyjacobs.com http://www.jeffreyjacobs.com Survey Does your

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

Capstone Agile Model (CAM)

Capstone Agile Model (CAM) Capstone Agile Model (CAM) Capstone Agile Model (CAM) Approach Everything we do within the Capstone Agile Model promotes a disciplined project leadership process that encourages frequent inspection and

More information

Regine Deleu is an All-of-Government Enterprise Architect who reports to Government Enterprise Architect James Collier at the Department of Internal

Regine Deleu is an All-of-Government Enterprise Architect who reports to Government Enterprise Architect James Collier at the Department of Internal Regine Deleu is an All-of-Government Enterprise Architect who reports to Government Enterprise Architect James Collier at the Department of Internal Affairs. Their work supports the work programme of the

More information

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3

Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3 Contents Introduction... 2 Introducing the DSDM Agile Project Framework (AgilePF)...2 Introducing DSDM...2 Introducing Scrum...3 AgilePF for Scrum... 4 Philosophy...4 Agile Values...4 Principles...5 Variables...8

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom of Saudi

More information

Software Engineering

Software Engineering 1 Software Engineering Lecture 2: Software Life Cycles Stefan Hallerstede Århus School of Engineering 25 August 2011 2 Contents Naive Software Development Code & Fix Towards A Software Process Software

More information

Using Scrum to Guide the Execution of Software Process Improvement in Small Organizations

Using Scrum to Guide the Execution of Software Process Improvement in Small Organizations Using Scrum to Guide the Execution of Software Process Improvement in Small Organizations Francisco J. Pino, Oscar Pedreira*, Félix García +, Miguel Rodríguez Luaces*, Mario Piattini + IDIS Research Group

More information

Basic Trends of Modern Software Development

Basic Trends of Modern Software Development DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-business Solutions Basic Trends of Modern Software Development 2 3 Software Engineering FAQ What is software engineering? An engineering

More information

Tool support for Collaborative Software Quality Management

Tool support for Collaborative Software Quality Management Tool support for Collaborative Software Quality Management Philipp Kalb and Ruth Breu Institute of Computer Science University of Innsbruck Email: philipp.kalb, ruth.breu@uibk.ac.at Abstract. Nowadays

More information

Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach

Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach Model-Based Conceptual Design through to system implementation Lessons from a structured yet agile approach Matthew Wylie Shoal Engineering Pty Ltd matthew.wylie@shoalgroup.com Dr David Harvey Shoal Engineering

More information

What is meant by the term, Lean Software Development? November 2014

What is meant by the term, Lean Software Development? November 2014 What is meant by the term, Lean Software Development? Scope of this Report November 2014 This report provides a definition of Lean Software Development and explains some key characteristics. It explores

More information

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit

Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

More information

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE Zahra Askarinejad Amiri 1 1 Department of Computer Engineering, Staffordshire University ABSTRACT zahra.askarinejad@gmail.com As Information

More information

The Role of CM in Agile Development of Safety-Critical Software

The Role of CM in Agile Development of Safety-Critical Software The Role of CM in Agile Development of Safety-Critical Software Tor Stålhane1, Thor Myklebust 2 1 Norwegian University of Science and Technology, N-7491, Trondheim, Norway 2 SINTEF ICT, Strindveien 2,

More information

Mitigating Service-Orientation Risks with RUP

Mitigating Service-Orientation Risks with RUP by Filippos Santas, IT Architect, Credit Suisse Private Banking in Switzerland and Certified SOA Trainer SERVICE TECHNOLOGY MAGAZINE Issue LIV September 2011 Abstract - In this article, we examine the

More information

Paris, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana

Paris, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana Paris, October 5 2007 ICSM 2007 Working Session Francesca Arcelli Fontana RE4APM RE University Industry APM Clients Reverse Engineering The process of analyzing a subject system to (i) identify the system

More information

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

More information

A discussion of information integration solutions November 2005. Deploying a Center of Excellence for data integration.

A discussion of information integration solutions November 2005. Deploying a Center of Excellence for data integration. A discussion of information integration solutions November 2005 Deploying a Center of Excellence for data integration. Page 1 Contents Summary This paper describes: 1 Summary 1 Introduction 2 Mastering

More information

ArchiMate Extension for Modeling the TOGAF Implementation and Migration Phases

ArchiMate Extension for Modeling the TOGAF Implementation and Migration Phases ArchiMate Extension for Modeling the TOGAF Implementation and Migration Phases A White Paper by: Henk Jonkers, Harmen van den Berg, Maria-Eugenia Iacob, and Dick Quartel December 2010 Copyright 2010 The

More information

Developing Business Architecture with TOGAF

Developing Business Architecture with TOGAF Developing Business Architecture with TOGAF Building Business Capability 2013 Las Vegas, NV Armstrong Process Group, Inc. www.aprocessgroup.com Objectives Introduce The Open Group Architecture Framework

More information

Case Study on Critical Success Factors of Running Scrum *

Case Study on Critical Success Factors of Running Scrum * Journal of Software Engineering and Applications, 2013, 6, 59-64 http://dx.doi.org/10.4236/jsea.2013.62010 Published Online February 2013 (http://www.scirp.org/journal/jsea) 59 Case Study on Critical Success

More information

Ontology-based Tailoring of Software Process Models

Ontology-based Tailoring of Software Process Models Ontology-based Tailoring of Software Process Models Ricardo Eito-Brun To cite this version: Ricardo Eito-Brun. Ontology-based Tailoring of Software Process Models. Terminology and Knowledge Engineering

More information

IBM Rational Asset Manager

IBM Rational Asset Manager Providing business intelligence for your software assets IBM Rational Asset Manager Highlights A collaborative software development asset management solution, IBM Enabling effective asset management Rational

More information

Applied Agile Practices for Large-scale Organizations

Applied Agile Practices for Large-scale Organizations Applied Agile Practices for Large-scale Organizations COMPLIANCE AND EFFICIENCY WITH STAGES AT THE STAGES INSIGHT Peter Pedross - CEO, PEDCO Page 1 Scaled Agility is for nuts OR FOR THE NOT SERIOUS COMPANIES,

More information

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions

Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions Advancing Your Business Analysis Career Intermediate and Senior Role Descriptions The role names listed in the Career Road Map from International Institute of Business Analysis (IIBA) are not job titles

More information