Part 5: Model Transformations and Agile Development We go in more detail into Model-driven development, and introduce Agile development techniques.

Size: px
Start display at page:

Download "Part 5: Model Transformations and Agile Development We go in more detail into Model-driven development, and introduce Agile development techniques."

Transcription

1 Part 5: Model Transformations and Agile Development We go in more detail into Model-driven development, and introduce Agile development techniques. Model transformations Agile development Team project (assessed). 1

2 Model Transformations Essential part of model-driven development (MDD): can map UML models to code, can migrate models from one modelling language to another, or improve model quality, etc. Many different MT languages: QVT (an OMG standard), ATL, ETL, Kermeta (Java-like), GrGen, TGG (graph-based), etc. In this course we will use UML-RSDS: a UML-based MT language which generates executable Java programs to carry out transformations. 2

3 Model Transformation Definition Meta-model A Meta-model B Conforms To Transformation Conforms To Model Transformation Execution Model A Model B Model transformation context 3

4 Models and Metamodels A class diagram at the language level is called a metamodel because its classes have instances at the (application) model level. In turn, an application model has instances at the instance model (program execution) level. Both language level and application level models can be represented using class diagram notation, and are stored in file mm.txt by the UML-RSDS tools. Instance-level models are represented as text files (in model.txt, in.txt, out.txt, etc.). 4

5 Modelling levels 5

6 Model transformation concepts A source language/metamodel (Eg., a language of Task s to be performed in development) is mapped to a target language (eg., a language of staff and task allocations to staff). Can be same language. A model transformation (MT) takes as input a source model (eg., a particular task dataset) and produces a corresponding target model (eg., a particular task allocation dataset). A transformation is usually defined by transformation rules, which map particular kinds of source model elements to corresponding target model elements. 6

7 Basic task allocation metamodels 7

8 Transformation examples Code generation/refinement: produce more implementation-specific model/code from implementation-independent representation. Eg., mapping of UML to Java, or UML to C++, etc. Migration: transform one version of a language to another/or to closely similar language. Eg., mapping Java to C#, or UML 1.4 to UML 2.3, or from one EHR (patient data) format to another, etc. Refactoring/restructuring: rewrites a model to improve structure/quality. Eg., removing redundant inheritance, introducing Template method pattern, etc. 8

9 Transformation specification in UML-RSDS Source and target metamodels drawn as class diagrams in UML-RSDS editor. Transformations defined as use cases, rules expressed as postconditions Ante Succ of use case. Minimal example: empty class diagram, one use case hello with single postcondition "Hello world!"->display() [Use options Create (General) Use case, and Edit use case, Add postcondition.] 9

10 Start screen of UML-RSDS 10

11 Constraint definition dialog 11

12 Defining constraints A constraint P Q on entity E is entered by writing E in the first text area, P in the second and Q in the third. The default options (system requirement, non-critical, update code) can be chosen for the other options in most cases. E is called the context or scope of the constraint. 12

13 Transformation specification in UML-RSDS Another example: Transformation copies each a : A instance to a b : B with b.y = a.x a.x. Single postcondition of a2b use case, operating on A: B->exists( b b.y = x*x ) This is implicitly universally quantified over A, so means for every A object, there exists a b : B such that b.y = x x. Write A in first box, true in 2nd, B->exists( b b.y = x*x ) in 3rd. 13

14 A to B transformation 14

15 Transformation specification in UML-RSDS To get an executable transformation, select Generate Design from the Synthesis menu, then Generate Java 4. Executable is GUI.java in output/ subdirectory, compile + run this. Input files in.txt describe instance models, eg: a1 : A a1.x = 3 a2 : A a2.x = -5 15

16 GUI of transformation executable 16

17 Running the transformation produces the output file out.txt: a1 : A a1.x = 3 a2 : A a2.x = -5 b1 : B b1.y = 9 b2 : B b2.y = 25 17

18 Transformations in UML-RSDS Can be any number of postconditions (rules) in transformation use case, and source/target metamodels can be as complex as required. Rule mapping from source class Sc to target class Tc typically has form Tc->exists( t t.f1 = e1 &... & t.fn = en ) where the fi are features of Tc and the ei are expressions using Sc s features. Constraint iterated over Sc. Other rules can display/print, eg: y->display( ) iterated over B in our example prints out all y values of B objects. 18

19 Simple allocator class diagram 19

20 Simple task allocator Use case allocatetasks with one postcondition, on context class Task: st : Staff & assignment.size = 0 & st.assigned.size = 0 => Assignment->exists( a a.task = self & a.staff = st ) This is transformation rule that maps Task and Staff to Assignment: for each unassigned task self : Task, it picks some unassigned staff member st and creates an assignment that assigns st to work on self. 20

21 Simple task allocator For example, this could map the task and staff data (in in.txt): t1 : Task t1.taskid = "t1" t1.duration = 10 t2 : Task t2.taskid = "t2" t2.duration = 5 t1 : t2.dependson s1 : Staff s1.staffid = "Mike" s2 : Staff s2.staffid = "Amy" 21

22 to the data (in out.txt): a1 : Assignment a1.task = t1 a1.staff = s1 a2 : Assignment a2.task = t2 a2.staff = s2 If there were 3 tasks and 2 staff, one task would remain unallocated. 22

23 Simple task allocator Problems with this transformation: No account is taken of dependson or duration: a task should only be allocated if all its preceding tasks have already been allocated: dependson forall(d d.assignment.size > 0) We might want to assign long-duration tasks first. No account is taken of staff skills or cost. These improvements are for you to do in the team project. 23

24 Model Transformations: Summary Transformations can automate many software engineering tasks, such as implementation, migration, etc. Many MT approaches, languages, etc. UML-RSDS approach uses standard UML/OCL notations to define transformations, compiles specifications to code. 24

25 Agile Development Traditional software development processes are plan-based: focussed on prescriptive activities and fixed sequence of stages (eg., Analysis, Design, Coding, Testing in Waterfall process). Agile processes in contrast attempt to be as lightweight as possible in terms of process: primary goal is to deliver a system to customer that meets their needs, in the shortest possible time. 25

26 Agile development concepts Traditional development approaches have become too slow to handle rapid change in markets and technology: by the time code is delivered it is out-of-date. Agile development addresses problem by delivering parts of system as working code as soon as possible. Delivery cycles are short, so developers can adapt system to deliver what customer requires. 26

27 Agile development principles Responding to change is more important than following a plan. Producing working software is more important than comprehensive documentation. Individuals and interactions are emphasised over processes and tools. Customer collaboration is emphasised over contract negotiation. Development cycles are iterative, and build small parts of systems, with continuous testing and integration. 27

28 Agile development principles Self-selecting teams the best architectures, requirements, designs emerge from such teams. Agile methodologies suitable for smaller organisations and projects. Extreme programming (XP) suitable for single projects developed and maintained by single person/small team. 28

29 Agile versus plan-based development Agile development Plan-based development Small/medium-scale Large scale (10+ people) In-house project, co-located team Distributed/outsourced team Experienced/self-directed Varied experience levels developers Requirements/environment volatile Requirements fixed in advance Close interaction with customer Distant customer/ stakeholders Rapid value, high-responsiveness High reliability/correctness required required 29

30 Agile development techniques Sprints: development work which implements specific user requirements, in short time frame to produce new release. Deliver working software frequently. Scrum methodology. Refactoring: Regularly restructure code to improve it, remove redundancy, etc. (ref: Fowler, Refactoring: improving the design of existing software ). 30

31 Scrum process 31

32 Agile development: Sprints Sprints are regular re-occuring iterations in which project work is completed. Produce deliverables that contribute to overall project. Each iteration of system involves set of use cases/work items ( stories in Scrum) to be implemented. Use cases can be classified by business value to customer (high, medium, low), and by risk/effort by developer. High priority and high risk uc s should be dealt with first. Project velocity: amount of developer-time available per iteration. Taking these into account, can define release plan: which uc s will be delivered by which iteration and by which developers. 32

33 Defining a release plan Release consists of set of iterations (eg., sprints) and produces a deliverable to client If use case uc1 depends on uc2 via extend, include or inheritance arrow from uc1 to uc2, then uc1 must be in same or later iteration to uc2 Iterations also depend on availability of developers with required skills for development of uc s in iteration. Some use cases may be prioritised over others. 33

34 Release plan example 34

35 Agile development: Refactoring Small changes to rationalise/generalise or improve the structure of existing system Eg: if discover that there are common attributes in all subclasses of a class: move common attributes up to superclass. Refactoring should not change existing functionality: run tests to check this Do regular refactoring whenever you identify the need. These are just refactoring transformations on systems. 35

36 Pull-up attribute refactoring 36

37 Agile methods: extreme Programming (XP) Aim of XP is to combine best practices in development projects and to focus on agility and code production. Based on short development cycles, uses: pair programming; code reviews; frequent integration and testing; close collaboration with customers; daily review meetings. Emphasis on coding as key development activity, and as means of communicating ideas between developers and demonstrating ideas to customers. Unit testing used to check correct implementation of individual features, acceptance testing to check implementation meets customer expectations. Integration testing checks that separately developed features operate correctly together. 37

38 Agile methods: extreme Programming (XP) Has five phases: Exploration: determine feasibility, understand requirements, develop exploratory prototypes Planning: agree date and uc s for 1st release Iterations: implement/test uc s in series of iterations Productionizing: prepare documentation, training, etc and deploy system Maintenance: fix and enhance deployed system. XP recommends that iterations are one to two weeks long. 38

39 Agile methods: Scrum Has four phases: Planning: establish the vision, set expectations, develop exploratory prototypes Staging: prioritise and plan for 1st iteration, develop exploratory prototypes Development: implement uc s in series of sprints, and refine iteration plan. Daily Scrum meetings to check progress. Release: prepare documentation, training, etc and deploy system. Scrum recommends that iterations (sprints) are 1 week to 1 month long. 39

40 Agile methods: Scrum Key events: Sprint Planning: performed by Scrum team before sprint, team agrees uc s to be worked on in sprint Daily Scrum: organises activities of team, review sprint progress + deal with issues. Time limited (eg., 15 mins). Key questions for developers: (i) what did I achieve yesterday? (ii) what will I achieve today? (iii) is there anything blocking me from achieving my work? Sprint Review: at end of sprint Sprint Retrospective: after sprint review, before next sprint planning. Analyse achievements of sprint, ideas for improvement of process. 40

41 Agile methods: Scrum Story: a generalised task (ie., use case). Can consist of set of subtasks Product Backlog: ordered (in terms of priority) list of stories relevant to project Sprint Backlog: ordered list of stories to be completed in a sprint. Team uses Scrum Board showing tasks to do, in progress and completed. Burndown Chart shows graph of remaining work against time. 41

42 Scrum board 42

43 Agile methods: Scrum Scrum defines three key roles for members of a software development team: Product owner: customer representative in team, this role is responsible for liaising between technical staff and stakeholders. The product owner identifies required work items, identifies their priority, and adds these to product backlog. Development team: workers who perform the technical work. Team should have all needed skills and be self-organising. Typically between 3 to 9 members in this role. Scrum master: the Scrum master facilitates Scrum process and events, and self-organisation of the team. Not a project manager role, does not have personnel management responsibilities. 43

44 Scrum process 44

45 Agile MDD Combines Agile development and MDD. System specification is expressed in an executable model (a PIM or PSM), which can be delivered as a running system, and demonstrated to customers. Incremental development of the system now uses executable models, rather than code. The models serve as documentation, also. 45

46 Agile MDD approaches Executable UML (Mellor and Balcer; Mellor and Wolfe). UML-RSDS (Lano and Kolahdouz-Rahimi). Both use principle that The model is the code. By automating code generation, can ensure correctness even for agile development. 46

47 Executable UML (xuml) Uses UML class diagrams, state machines, action language to define explicit platform-independent specification. Classes have state machines and objects interact by sending signals to each other. Concurrent execution model: objects synchronise by communication, otherwise execute independently. Aims to translate to wide range of platforms, including C, VHDL, etc. Commercial product. 47

48 UML-RSDS Uses UML class diagrams, OCL, use cases and activity language pseudocode to define explicit PIM specifications. Individual systems are sequential, can interact via RPCs in distributed implementation. Translations to Java, C #, C++: oriented to this family of languages. Open source. 48

49 UML-RSDS process 49

50 UML-RSDS application architecture 50

51 xuml compared with UML-RSDS UML-RSDS can be more abstract (tending to CIM level): use cases specified purely as pre/post predicates, pseudocode is synthesised automatically from these. UML-RSDS is more restrictive at PSM level: only Java-family of languages supported, code is similar in structure to specification. Executable UML requires more work in modelling execution platform. UML-RSDS provides verification capabilities via B AMN and Z3. In this course we will use UML-RSDS as it is simpler and aligned to Java. 51

52 Agile MDD in practice Build baseline class diagram, refine use cases Developers choose required use cases (from current sprint) to work on, and write unit tests for these. All share same system model. Developers work on their tasks: can only enhance/extend the CD, not delete/modify if rationalisations need to be performed, get agreement of team for refactorings Do regular full builds/integration Deliver when all tests passed. Good communication within team needed. Source code should be readable, but never directly changed. 52

53 Agile MDD in practice Alternatively, developers could have responsibility for specific modules: Each module has one developer, who works on its use cases Developers must agree interfaces of modules, and shared data. Developer of one module should never need to see code of another module. 53

54 Other development techniques Test driven development (TDD): write unit tests first, then successively extend and refine code until it passes all tests. Pair programming: two developers work at same terminal, observer has the role to improve programmers code. TDD appropriate if no clear understanding of how to solve problem. Pair programming can improve quality, and reduce time, whilst increasing cost. 54

55 Pair programming 55

56 Summary Model transformations are essential part of MDD Agile development is alternative to traditional plan-based development: agile processes increase flexibility to cope with uncertain requirements/new requirements during development Agile MDD uses agile techniques to develop system via models. 56

57 OSD team project Deadline: 4pm, Friday 11th December (Submission on Keats). Teams are listed on Keats. Your team has task to develop a scheduling system for agile development. This takes as input descriptions of development tasks, and details of skills and costs of available developers, and generates schedule assigning developers to tasks. You should write the software using UML-RSDS (tool and manual are available at: to specify the class diagram and use cases and to generate an executable system. 57

58 Organise teams to have a leader responsible for overall planning/coordination; different roles/responsibilities some team members can do research, testing, report writing, others write solution in UML-RSDS. At tutorials you will have access to technical advisors experienced in UML-RSDS. Use tutorials to sketch out class diagrams and discuss possible solutions with team. Deliverable of project: stand-alone Java program which can read files of staff and task data, and produce correct schedules. Report: include final class diagram and operation specifications. Describe development and management approach taken, project process (who did what, why), results of testing, and evaluation of outcome. 58

59 Coursework Problem: Resource Scheduling The system is intended to do release planning for an agile development process. Work items are Story objects, have a storyid : String unique key. Each story has ordered list subtasks of Task objects, which define particular work tasks. Tasks have a unique taskid : String key, and an Integer duration. A task may depend on other tasks (which must be completed before it). A task has a set, needs, of Skill objects which represent skills needed to carry out the task. Skill has a unique skillid : String. Entity type Staff represents staff, has unique staffid : String, and an Integer costday. A set, has, of skills is associated to each staff object. 59

60 Task schedule for an iteration is represented by class Schedule, with attribute totalcost : Integer, and ordered list assignment of Assignment objects. Each Assignment has associated staff and task objects. 60

61 Required system operations are: allocatestaff: for each unallocated task t, all of whose dependson tasks have already been allocated, find an available (unallocated) staff member who has all the skills required by t, and assign t to the cheapest such staff member, s. Create a new assignment for t and s, and add this to the schedule. calculatecost: add up the products s.costday t.duration for the assignments of the schedule and add this to totalcost of the schedule. displayschedule: print the list of assignments, with information of the staffid, costday, taskid, duration for each assignment. Evaluate your solution on several test cases of planning problems (the files in.txt, in1.txt, in2.txt on Keats). Does your approach always find the schedule with lowest total cost? Identify ways to improve your solution. 61

62 Add a duration : Integer attribute to Schedule, and compute this as part of the calculatecost operation. [hint: define a recursive operation totalduration() : Integer of Task which calculates the duration of the task together with those it depends on] The system only calculates a schedule for a single iteration: the iteration is complete when all possible allocations to available staff have been made. Define a use case nextiteration to schedule a further iteration. No new classes or attributes are needed, and use case itself has a single, very simple, constraint on Schedule or on Assignment. 62

Improving the Application of Agile Model-based Development: Experiences from Case Studies

Improving the Application of Agile Model-based Development: Experiences from Case Studies Improving the Application of Agile Model-based Development: Experiences from Case Studies K. Lano H. Alfraihi S. Yassipour-Tehrani Dept. of Informatics King s College London London, UK Email: kevin.lano@kcl.ac.uk,

More information

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Waterfall to Agile. DFI Case Study By Nick Van, PMP Waterfall to Agile DFI Case Study By Nick Van, PMP DFI Case Study Waterfall Agile DFI and Waterfall Choosing Agile Managing Change Lessons Learned, Sprints Summary Q and A Waterfall Waterfall Waterfall

More information

Agile Scrum Workshop

Agile Scrum Workshop Agile Scrum Workshop What is agile and scrum? Agile meaning: Able to move quickly and easily. Scrum meaning: a Rugby play Agile Scrum: It is an iterative and incremental agile software development framework

More information

Agile So)ware Development

Agile So)ware Development Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast

More information

D25-2. Agile and Scrum Introduction

D25-2. Agile and Scrum Introduction D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of

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

Agile Project Forecasting Techniques. "Who Says You Can't Plan Agile Projects?" Matt Davis, PMP, MCITP October 21, 2013

Agile Project Forecasting Techniques. Who Says You Can't Plan Agile Projects? Matt Davis, PMP, MCITP October 21, 2013 Agile Project Forecasting Techniques "Who Says You Can't Plan Agile Projects?" Matt Davis, PMP, MCITP October 21, 2013 Learning Objectives 1. Review the Agile Project Management approach and it's relation

More information

Issues in Internet Design and Development

Issues in Internet Design and Development Issues in Internet Design and Development Course of Instructions on Issues in Internet Design and Development Week-2 Agile Methods Saad Bin Saleem PhD Candidate (Software Engineering) Users.mct.open.ac.uk/sbs85

More information

Vragen. Software development model. Software development model. Software development model

Vragen. Software development model. Software development model. Software development model Vragen Noem de belangrijkste activiteiten in een software engineeringsproject Welke vormen van onderhoud kan men onderscheiden? Karakteriseer het waterval model Waterfall model Document oriented Suited

More information

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework

SmartBear Software Pragmatic Agile Development (PAD) Conceptual Framework Pragmatic Agile Development (PAD) Conceptual Framework This document describes the Pragmatic Agile Development framework, a Scrum based development process. SmartBear Software 3/10/2010 Pragmatic Agile

More information

Iteration Planning. also called Iteration Kickoff

Iteration Planning. also called Iteration Kickoff Agile Practices also called Iteration Kickoff Iteration Planning Purpose: Discuss detailed requirements of the stories to be built in the iteration. Review and refine the acceptance criteria for each story

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

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

An Agile Project Management Model

An Agile Project Management Model Agile Project Management Jim Highsmith Chapter 5 An Agile Project Management Model We improve effectiveness and reliability through situationally specific strategies, processes, and practices. One of the

More information

The traditional project management uses conventional methods in software project management process.

The traditional project management uses conventional methods in software project management process. Volume 5, Issue 1, January 2015 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Analysis of

More information

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...

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

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003

AGILE SOFTWARE DEVELOPMENT. BY Sysop Technology Aurangabad-431003 AGILE SOFTWARE DEVELOPMENT BY Sysop Technology Aurangabad-431003 Abstract: Software development which can be delivered fast, quick adaptation to requirements and collecting feed back on required information.

More information

LEAN AGILE POCKET GUIDE

LEAN AGILE POCKET GUIDE SATORI CONSULTING LEAN AGILE POCKET GUIDE Software Product Development Methodology Reference Guide PURPOSE This pocket guide serves as a reference to a family of lean agile software development methodologies

More information

A Glossary of Scrum / Agile Terms

A Glossary of Scrum / Agile Terms A Glossary of Scrum / Agile Terms Acceptance Criteria: Details that indicate the scope of a user story and help the team and product owner determine done-ness. Agile: the name coined for the wider set

More information

Agile Software Development Methodologies and Its Quality Assurance

Agile Software Development Methodologies and Its Quality Assurance Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed

More information

Agile Processes and Methodologies: A Conceptual Study

Agile Processes and Methodologies: A Conceptual Study Agile Processes and Methodologies: A Conceptual Study Sheetal Sharma Amity School of Engineering & Technology Amity University Noida Sheetal.meenu@gmail.com Darothi Sarkar Amity School of Engineering &

More information

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34.

Higher National Unit specification. General information. Software Development: Analysis and Design (SCQF level 7) Unit code: HA4C 34. Higher National Unit specification General information Unit code: HA4C 34 Superclass: CB Publication date: January 2016 Source: Scottish Qualifications Authority Version: 02 Unit purpose The purpose of

More information

Introduction to Agile Software Development Process. Software Development Life Cycles

Introduction to Agile Software Development Process. Software Development Life Cycles Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative

More information

Software Engineering Process Economy & Quality

Software Engineering Process Economy & Quality Project delivery: Progress report Software Engineering Process Economy & Quality ETSF 01 http://cs.lth.se/etsf01 The SPA reports you RECEIVED Your actions on received feedback Excel format preferred Lecture

More information

EPL603 Topics in Software Engineering

EPL603 Topics in Software Engineering Lecture 3 Agile Software Development EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Agile methods

More information

Call for Tender for Application Development and Maintenance Services

Call for Tender for Application Development and Maintenance Services ADM Partners Reference #: 100001200 Call for Tender for Application Development and Maintenance Services Annex 2 - Agile Application Development and Maintenance Appendix A - OECD s Agile Practices and

More information

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros. Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.com 1 About Coveros Coveros helps organizations accelerate the delivery

More information

Agile Projects 7. Agile Project Management 21

Agile Projects 7. Agile Project Management 21 Contents Contents 1 2 3 Agile Projects 7 Introduction 8 About the Book 9 The Problems 10 The Agile Manifesto 12 Agile Approach 14 The Benefits 16 Project Components 18 Summary 20 Agile Project Management

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

44-76 mix 2. Exam Code:MB5-705. Exam Name: Managing Microsoft Dynamics Implementations Exam

44-76 mix 2. Exam Code:MB5-705. Exam Name: Managing Microsoft Dynamics Implementations Exam 44-76 mix 2 Number: MB5-705 Passing Score: 800 Time Limit: 120 min File Version: 22.5 http://www.gratisexam.com/ Exam Code:MB5-705 Exam Name: Managing Microsoft Dynamics Implementations Exam Exam A QUESTION

More information

Agile project management: A magic bullet?

Agile project management: A magic bullet? Agile project management: A magic bullet? Prof. Darren Dalcher d.dalcher@mdx.ac.uk Conferencia Iberoamericana de Calidad del Software Prof. Darren Dalcher 1 Outline I. What is agilility? The agile manifesto

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

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW. 10-10-2012 Vol. 7

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW. 10-10-2012 Vol. 7 10-10-2012 Vol. 7 MAVERIC S POINT OF VIEW Agile & Abstract: The purpose of this whitepaper is to explore the points of parity and differences between two of the most widely used methodologies. PMI Management

More information

Introduction to Software Engineering: Overview and Methodologies

Introduction to Software Engineering: Overview and Methodologies Introduction to Software Engineering: Overview and Methodologies John T. Bell Department of Computer Science University of Illinois, Chicago Based on materials from Bruegge & DuToit, Object Oriented Software

More information

Agile Project Management in a Regulated Environment

Agile Project Management in a Regulated Environment Paper AD06 Agile Project Management in a Regulated Environment Alistair Dootson, d-wise, Manchester, UK ABSTRACT Scrum is an agile approach to project management for software development or implementation,

More information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

More information

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

What is a life cycle model?

What is a life cycle model? What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each

More information

Software Engineering. System Modeling

Software Engineering. System Modeling Software Engineering System Modeling 1 System modeling System modeling is the process of developing abstract models of a system, with each model presenting a different view or perspective of that system.

More information

EXIN Agile Scrum Foundation

EXIN Agile Scrum Foundation Sample Questions EXIN Agile Scrum Foundation Edition September 2013 Copyright 2013 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing

More information

Scrum. SE Presentation. Anurag Dodeja Spring 2010

Scrum. SE Presentation. Anurag Dodeja Spring 2010 Scrum SE Presentation by Anurag Dodeja Spring 2010 What is Scrum? Scrum is an agile software development framework. Work is structured in cycles of work called sprints, iterations of work that are typically

More information

Would you like to have a process that unlocks ability to learn and produce faster?

Would you like to have a process that unlocks ability to learn and produce faster? Would you like to have a process that unlocks ability to learn and produce faster? Agile - your unfair advantage in the competition. BUILD LEARN MEASURE DEFINED MEASURABLE REPEATABLE COLLABORATIVE IMPROVABLE

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Jonathan Hoyle Eastman Kodak Thursday, June 2, 2005 Overview Predictive Methodologies Waterfall Other Predictive Methodologies Agile Methodologies Extreme Programming

More information

Comparing Agile Software Processes Based on the Software Development Project Requirements

Comparing Agile Software Processes Based on the Software Development Project Requirements CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical

More information

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant Manav.Mehan@tcs.com

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant Manav.Mehan@tcs.com Water-Scrum-Fall Agile Reality for Large Organisations By Manav Mehan Principal Agile consultant Manav.Mehan@tcs.com Interests and Experience Leading Change and Transformation in Large, Complex organisations

More information

Agile in Financial Services A Framework in Focus

Agile in Financial Services A Framework in Focus Agile in Financial Services A Framework in Focus John B. Hudson, B.Sc, PMP, CSM PMI NJ Chapter February 19, 2013 19 Feb 2013 1 Objectives 1. Agile Development an Overview 2. The Agile Enterprise Infrastructure

More information

Software Development Life Cycle (SDLC)

Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) Supriyo Bhattacharjee MOF Capability Maturity Model (CMM) A bench-mark for measuring the maturity of an organization s software process CMM defines 5 levels of process

More information

The Agile Project Manager

The Agile Project Manager The Agile Project Manager PMI Madrid, 29/1/2014 1 Jose Barato Consulting, Training and Tools in Project Management PMPeople (Managing Director) PMI Madrid Chapter (Director) PM-IB (founder, Vice-President)

More information

Agile methods. Objectives

Agile methods. Objectives Agile methods CMSC435-1 Objectives To explain how an iterative, incremental development process leads to faster delivery of more useful software To discuss the essence of agile development methods To explain

More information

SOFTWARE PROCESS MODELS

SOFTWARE PROCESS MODELS SOFTWARE PROCESS MODELS Slide 1 Software Process Models Process model (Life-cycle model) - steps through which the product progresses Requirements phase Specification phase Design phase Implementation

More information

Agile software development

Agile software development Agile software development Syed Nisar Hussain Bukhari Scientist-B DOEACC centre Srinagar nisar.bukhari@gmail.com Abstract: The field of software development is open and dynamic. New approaches of software

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

More information

A flexible approach to outsourcing in the financial services sector

A flexible approach to outsourcing in the financial services sector A flexible approach to outsourcing in the financial services sector A White Paper produced by Eversheds in association with Serco Global Services - February 2015 A flexible approach to outsourcing in the

More information

Integrating PRINCE2 and Scrum for successful new product development

Integrating PRINCE2 and Scrum for successful new product development 1 Goal Professional Services Pty Ltd 2 Renewtek Pty Ltd Integrating PRINCE2 and Scrum for successful new product development Rankins G J 1 and Kearns M 2 This paper was presented at the Australian Institute

More information

Overview of Scrum. Scrum Flow for one Sprint. 2015 SCRUMstudy.com. All Rights Reserved. Daily Standup. Release Planning Schedule. Create.

Overview of Scrum. Scrum Flow for one Sprint. 2015 SCRUMstudy.com. All Rights Reserved. Daily Standup. Release Planning Schedule. Create. Overview of Scrum Scrum is the most popular Agile framework. It is an adaptive, iterative, fast, flexible, and effective method designed to deliver significant value quickly and throughout a project. Scrum

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

Agile with XP and Scrum

Agile with XP and Scrum Agile with XP and Scrum Amit Goel National Agile Software Workshop @ Indore Agile India Conference Agile Software Community of India Disclaimer and Credits Most of material in this presentation has been

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

More information

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Agile Practitioner: PMI-ACP and ScrumMaster Aligned Agile Practitioner: PMI-ACP and ScrumMaster Aligned The PMI Agile Certified Practitioner (PMI-ACP) ScrumMaster credential validates your ability to understand agile principles, agile concepts, and establishes

More information

Development phase 1.3. isupport. Project Name: isupport Date: 24-6-2015 Release: 1.3. Document Name: HCCH isupport Development phase project team 1

Development phase 1.3. isupport. Project Name: isupport Date: 24-6-2015 Release: 1.3. Document Name: HCCH isupport Development phase project team 1 cross-border recovery of maintenance obligations pour le recouvrement transfrontière des obligations alimentaires Development phase Project Name: Date: 24-6-2015 Release: 1.3 Authors: Brigitte Voerman

More information

How To Plan An Agile Project

How To Plan An Agile Project GAO Scheduling Best Practices Applied to an Agile Setting by Juana Collymore and Brian Bothwell April 15, 2015 Outline Why is scheduling important? GAO Schedule Assessment Guide Overview Status of the

More information

A complete software development process of a general report publication service implemented using Web Services

A complete software development process of a general report publication service implemented using Web Services A complete software development process of a general report publication service implemented using Web Services Anders Nilsson & Klas Fahlberg February 1, 2008 Master s Thesis in Computing Science, 2*30

More information

CSE 435 Software Engineering. Sept 16, 2015

CSE 435 Software Engineering. Sept 16, 2015 CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process

More information

Managing Agile Projects in TestTrack GUIDE

Managing Agile Projects in TestTrack GUIDE Managing Agile Projects in TestTrack GUIDE Table of Contents Introduction...1 Automatic Traceability...2 Setting Up TestTrack for Agile...6 Plan Your Folder Structure... 10 Building Your Product Backlog...

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Using Use Cases on Agile Projects

Using Use Cases on Agile Projects Using Use Cases on Agile Projects Ivar Jacobson with Ian Spence Agenda What are agile teams looking for? Cards, conversations, and confirmations Knowing what to do and when it s done Being agile with use

More information

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler

Sequence Diagram Tutorial. From: UML Distilled, Third Edition, Chapter 4 M. Fowler Sequence Diagram Tutorial From: UML Distilled, Third Edition, Chapter 4 M. Fowler Use Cases and Scenarios A use case is a collection of interactions between external actors and a system In UML, a use case

More information

Agile Project Management with Scrum

Agile Project Management with Scrum Agile Project Management with Scrum Resource links http://www.agilealliance.org/ http://www.agilemanifesto.org/ http://www.scrum-master.com/ 1 Manifesto for Agile Software Development Individuals and interactions

More information

CSSE 372 Software Project Management: More Agile Project Management

CSSE 372 Software Project Management: More Agile Project Management CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu Learning Outcomes: Plan Create a plan for

More information

Agile Methods for Analysis

Agile Methods for Analysis Agile Methods for Analysis Lightweight Concepts for Team-Based Projects Sebastian Neubert CERN PH-LBD Sebastian Neubert Agile Analysis 1/22 Introduction: Data Analysis as a Continuous Improvement Loop

More information

Course Title: Planning and Managing Agile Projects

Course Title: Planning and Managing Agile Projects Course Title: Planning and Managing Agile Projects Course ID: BA15 Credits: 21 PDUs Course Duration: 3 days (Live in person class only) Course Level: Basic/Intermediate Course Description: This 3-day course

More information

G-Cloud Service Definition. Atos Software Development Services

G-Cloud Service Definition. Atos Software Development Services G-Cloud Service Definition Atos Software Development Services Atos Software Solution Development Services A flexible and robust software development service focussed on delivering maximum business value

More information

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM ) ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM ) Contents Homework Assignment for 2 PDUs... 1 Chapter Close-Out... 2 Terminology Matching Exercise...

More information

Is PRINCE 2 Still Valuable in an Agile Environment?

Is PRINCE 2 Still Valuable in an Agile Environment? Is PRINCE 2 Still Valuable in an Agile Environment? Amy Hongying Zhao Introduction Over the years, many organizations have invested heavily in creating or deploying project management frameworks. PRINCE

More information

Evaluation of agility in software development company

Evaluation of agility in software development company Evaluation of agility in software development company Gusts Linkevics Riga Technical University, Riga, Latvia, gusts@parks.lv Abstract Organization s and team s experience in agile methodology can be more

More information

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali

Software development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)

More information

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.

More information

Agile MDA A White Paper

Agile MDA A White Paper Agile MDA A White Paper By Stephen J. Mellor MDA is a broad church covering a number of different approaches to model-driven development. Most commonly, people think of models as blueprints that are filled

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

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering

Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.

More information

Agile Enterprise Data Warehousing Radical idea or practical concept?

Agile Enterprise Data Warehousing Radical idea or practical concept? Agile Enterprise Warehousing Radical idea or practical concept? Larissa T. Moss Method Focus Inc. methodfocus@earthlink.net TDWI South Florida Chapter March 11, 2011 Copyright 2011, Larissa T. Moss, Method

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

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations

Jairson Vitorino. PhD Thesis, CIn-UFPE February 2009. Supervisor: Prof. Jacques Robin. Ontologies Reasoning Components Agents Simulations CHROME: A Model-Driven Component- Based Rule Engine Jairson Vitorino PhD Thesis, CIn-UFPE February 2009 Supervisor: Prof. Jacques Robin Ontologies Reasoning Components Agents Simulations Contents 1. Context

More information

LECTURE 1. SYSTEMS DEVELOPMENT

LECTURE 1. SYSTEMS DEVELOPMENT LECTURE 1. SYSTEMS DEVELOPMENT 1.1 INFORMATION SYSTEMS System A system is an interrelated set of business procedures used within one business unit working together for a purpose A system has nine characteristics

More information

A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT

A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT A MODEL FOR RISK MANAGEMENT IN AGILE SOFTWARE DEVELOPMENT Abstract Author Ville Ylimannela Tampere University of Technology ville.ylimannela@tut.fi This paper researches risk management in agile software

More information

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012 Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow

More information

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software.

Agile Notetaker & Scrum Reference. Designed by Axosoft, the creators of OnTime the #1 selling scrum software. Agile Notetaker & Scrum Reference Designed by Axosoft, the creators of OnTime the #1 selling scrum software. Scrum Diagram: Team Roles: roduct Owner: Is responsible for what goes into the product backlog

More information

AGILE - QUICK GUIDE AGILE - PRIMER

AGILE - QUICK GUIDE AGILE - PRIMER AGILE - QUICK GUIDE http://www.tutorialspoint.com/agile/agile_quick_guide.htm Copyright tutorialspoint.com AGILE - PRIMER Agile is a software development methodology to build a software incrementally using

More information

The style is: a statement or question followed by four options. In each case only one option is correct.

The style is: a statement or question followed by four options. In each case only one option is correct. AGILE FOUNDATION CERTIFICATE SAMPLE FOUNDATION QUESTIONS WITH ANSWERS This document is a set of sample questions, in the style of the Agile Foundation Certificate Examination, which is a 60 question, 1

More information

Agile Based Software Development Model : Benefits & Challenges

Agile Based Software Development Model : Benefits & Challenges Agile Based Software Development Model : Benefits & Challenges Tajinder Kumar Assistant Professor, IT Department JMIT Radaur, Haryana Vipul Gupta Assistant Professor, IT Department JMIT Radaur, Haryana

More information

Agile SW Development @ Siemens

Agile SW Development @ Siemens CON ECT INFORMUNITY, 24.3.2014 Agile SW Development @ Siemens Corporate Development Center Unrestricted Siemens Aktiengesellschaft Österreich 2013 All rights reserved. Eva Kišo ová - that s me Faculty

More information

Models of Software Development

Models of Software Development October 28, 2015 Verification & Validation In many computer science courses, software is submitted once, graded, and thrown away. In real life, software development is an process. Some attempts to codify

More information

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012

Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 Certified ScrumMaster (CSM) Content Outline and Learning Objectives January 2012 The following pages present the CSM taxonomy as validated through the 2011 Scrum Alliance Validation Study. Each percentage

More information

Job Description Head of CRM

Job Description Head of CRM Date 10/15 Job Title Head of CRM Solutions Job Grade Management Location London/Solihull Department Client Services Reports to job title Managing Director Job purpose (A concise statement of why the job

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

IMQS TECHNOLOGY AGILE METHODOLOGY

IMQS TECHNOLOGY AGILE METHODOLOGY IMQS TECHNOLOGY AGILE METHODOLOGY OVERVIEW Agile software development refers to a group of software development methodologies that promotes development iterations, open collaboration, and process adaptability

More information