BJECTIVES. Comparing/Combining RUP, XP, and Scrum mixing the Process Cocktail. My Goal. Dan Rawsthorne.

Size: px
Start display at page:

Download "BJECTIVES. Comparing/Combining RUP, XP, and Scrum mixing the Process Cocktail. My Goal. www.netobjectives.com. Dan Rawsthorne. drdan@netobjectives."

Transcription

1 Comparing/Combining RUP, XP, and Scrum mixing the Process Cocktail Net BJECTIVES Dan Rawsthorne Net Objectives, 3/26/ My Goal Enlighten Teach Entertain Feed Net Objectives, 3/26/2003 2

2 Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/ THE SOFTWARE PROBLEM Net Objectives, 3/26/2003 4

3 The Purpose of a Project is To provide a solution for users That consists of quality code And doesn t cost too much Net Objectives, 3/26/ This Leads To Technical Problem building quality code that satisfies the Users needs Budget Problem managing the project so that it doesn t cost too much to do so Net Objectives, 3/26/2003 6

4 The Technical Problem has Three Parts Requirements Determine What the Software has to do Challenge: Satisfy the Users Production Actually Build the Software Challenge: Deliver Quality Product Maintenance Modify Software to satisfy new requirements Challenge: Maintain Quality Agility has changed the ways we do these Net Objectives, 3/26/ The Budget Problem has Many Issues How much do I want to spend to solve the Users problem? Do my developers know how to solve the problem? Are we making progress? Are we wasting money? Are we on schedule? Is the product good enough? CMM? Are other stakeholders going to be satisfied? How do we answer these questions? Net Objectives, 3/26/2003 8

5 Players User Community Has problems to be solved Usually disorganized, chaotic, group Customer Team Provides requirements and validation Should speak with one voice Developers Actually builds the stuff Lots of different roles here Business Owner Manages resources and money Often ignored in Development Process Net Objectives, 3/26/ Relationships Between the Players User Requirements Business Owner Reporting, Monitoring Customer Develop Product Developers Net Objectives, 3/26/

6 The Processes we are Discussing The three processes being discussed today are modern ones that enable agility Rational Unified Process (RUP) Rational extreme Programming (XP) Kent Beck Scrum Ken Schwaber, Mike Beedle These are not the only ones, but are some of the most common. Others include: Dynamic Systems Development Method (DSDM) Crystal Methodologies Alistair Cockburn Feature Driven Development (FDD) Peter Coad Adaptive Software Development Jim Highsmith... Net Objectives, 3/26/ Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/

7 Process Every software project has a process: somewhere between hack it out and Space Shuttle software Basically, processes tell you what to do, and when to do it. Plan-driven: you determine up-front what you re going to do, and follow it Evaluation-driven: at any given time figure out what the next thing to do is, and do it Combination: have an initial plan, continuously updating as needed Net Objectives, 3/26/ Why do We Need a Process? A process is needed because stakeholders have various expectations for a software project, and want some guarantee that they will get them Quality code Provide business value Follow-on work Correct code Quality product offering Training Help desk Etc Net Objectives, 3/26/ Management visibility Quality of life Accurate progress reports React to changing requirements CMM/ISO Test Coverage

8 Formal Process vs Team Discipline There is a natural tension between having a disciplined team and having formal process The more disciplined the team is, the less formal process you need Most people aren t disciplined enough, so some process is usually necessary Process is useful, but we must look at why we want the process Every Project is different Net Objectives, 3/26/ What Defines a Process? Principles/Fears what guides you? Activities what do you do? Roles who does it? Practices how do you do it? Products what gets produced (and persisted)? Net Objectives, 3/26/

9 Three Levels of Development Business Level Users Business Need Product Level Customers Development Level Developers Net Objectives, 3/26/ Evaluating a Process Understand the Process: what are the Principles/Fears, Activities, Roles, Practices, and Products? Determine the Coverage: how well does the process span the three levels of development? Use Your Judgment: does this process meet your needs, for this team, for this project, at this time? Always remember: there is no one size fits all, silver bullet, process out there Net Objectives, 3/26/

10 Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/ Agility is The ability to move faster than those things that can harm your project The ability to keep up with relevant changes In requirements In knowledge of our system In environment Agility is only relevant in a context Net Objectives, 3/26/

11 These Things Include Changing Requirements New Functionality Learn more about system Changing Priorities Different Stakeholders New Situations Changing Environment New OS, Languages, etc Changing Budgets Fewer Developers Do More with Less More How Can We Make This Work? Net Objectives, 3/26/ In Order to Succeed You Need Something to Work With All managers know that you need float in order to make a project work When developing software, where is the float that we have to work with? Let s think about this for a minute Net Objectives, 3/26/

12 Scope, Functionality and Robustness Scope measures how much is in the system the product of functionality and robustness Functionality is based on the problems being solved or goals being addressed some is more important than others Thought of as the width of the system Described mile wide inch deep Robustness measures the depth at which functionality is handled Secondary versions Error recovery Business Rules Refinements The actual depth Example: say you had to handle names in your system Net Objectives, 3/26/ Say You Need to Handle Names in Your System Names are how people identify themselves John A. Smith Prof. Frederick Martin Biedenweg III, PE Chuck O Reilly, Susan Walton-Smythe Albert van der Hoeven Frank O, Adolph Wolfeschlegelsteinhausenbergerdorft Cher, Madonna, Sting Nguyen Bich Frank Bich Nguyen Frank Bich Tchang Kai Chek, Chang Kai Chek, Chiang Kai-shek, Jiang Jieshi, (the artist formerly known as Prince) As you can imagine, there is a large cost difference between handling the basic functionality and handling it all This difference is the float you have to work with Net Objectives, 3/26/

13 Delivering Functionality in an Agile Project What we know to start What we budget MaxROI What we deliver The Universe of Possibilities Net Objectives, 3/26/ Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/

14 RUP (Rational Unified Process) Process Framework Well Engineered Development Management Net Objectives, 3/26/ Perceptions of RUP Manageable, traceable, visible, the way things should be done Heavyweight, boring, waste of time Net Objectives, 3/26/

15 RUP Principles Use Case Driven Architecture Centric Iterative and Incremental Uses UML Can be Tailored to to a Project s needs Net Objectives, 3/26/ Develop Software Iteratively Manage Requirements Use component-based Architectures Visually Model Software Verify Software Quality Control Changes to to Software The Real Motivation of RUP My View Making mistakes is expensive, so make sure you know what you want to do before you do it A good solid system has a good solid architecture Plans and Budgets are hard to follow, so you need many interim deliverables to make sure you re on track (management touch points ) Things change, so be iterative and incremental so that you can modify your plans as necessary Net Objectives, 3/26/

16 RUP Activities Lifetime of a system is made up of Cycles Development, improvement, maintenance Phases Inception, Elaboration, Construction, Transition Iteration Project Management, Analysis, Requirements, Design, Code, Test Activity List later Net Objectives, 3/26/ Cycles/Phases/Iterations Net Objectives, 3/26/

17 Lifetime is made of Cycles Deliver v1.0 Deliver v2.0 Net Objectives, 3/26/ Phases Concentrate on Different Levels of Development kickoff delivery 1.0 delivery 2.0 Business Level Inception Product Level Elaboration Development Level Transition Construction Inception Elaboration Transition Construction Net Objectives, 3/26/

18 RUP Activities By Phase (Project Management) Project Management Inception Elaboration Construction Identify Risks * * Develop Project Plan * * Staff Project *** *** Develop Iteration Plan * ***** ***** Evaluate Iteration * *** ***** Revisit Risk List * *** ***** Net Objectives, 3/26/ RUP Activities By Phase (Business Modeling) Business Modeling Inception Elaboration Construction Capture a Common Vocabulary * Find Business Actors and UCs Structure Business UC Model Describe Business UC Find Business Workers/Entities * * Describe a Business Worker Describe a Business Entity Review the Business UC Model * Review the Business Object Mdl * Net Objectives, 3/26/

19 RUP Activities By Phase (Requirements) Requirements Inception Elaboration Construction Develop Vision Manage Dependencies ** ***** Elicit Stakeholder Requests * Capture a Common Vocabulary Find Actors and Use Cases ** *** Prioritize Use Cases *** *** Structure the Use Case Model ***** * Detail a Use Case ** **** * User Interface Modeling User Interface Prototyping *** ** *** *** ** * Review Requirements *** *** *** Net Objectives, 3/26/ RUP Activities By Phase (Analysis & Design) Analysis and Design Inception Elaboration Construction Architectural Analysis *** * Architectural Design * * Use Case Analysis * *** Describe Concurrency Describe Distribution *** *** Review Architecture * * Subsystem Design ** Class Design * Database Design Use Case Design * ** Review Design * Net Objectives, 3/26/

20 RUP Activities By Phase (Implementation) Inception Elaboration Construction Implementation Implementation Model Plan System Integration * ** **** Integrate System * Plan Subsystem Integration Implement Classes Fix A Defect * Perform Unit Test Review Code Integrate Subsystem Net Objectives, 3/26/ RUP Activities By Phase (Test) Test Inception Elaboration Construction Plan Test * ** Design Test * Implement Test Execute Integration Test Execute System Test Execute Performance Test Design Test Classes and Pkgs Implement Test Components and Subsystems Evaluate Test Net Objectives, 3/26/

21 RUP Roles Project Manager Business-Process Analyst Business Designer Business Reviewer System Analyst Use Case Specifier Architect User Interface Designer Requirements Reviewer Designer Database Designer Architecture Reviewer Design Reviewer System Integrator Implementor Code Reviewer Test Designer Integration Tester Performance Tester Net Objectives, 3/26/ RUP Practices The actual practices are pretty much left up to the developer However, there are lots of diagrams like these that show how the activities fit together Net Objectives, 3/26/

22 Some RUP Products Vision Document/ Business Case Glossary Software Development Plan Risk List Project Plan Measurement Plan CM Plan Integration Build Plan Test Plan Iteration Plans Iteration Assessments Use Case Model Analysis Model Design Model Deployment Model Implementation Model Test Model Net Objectives, 3/26/ Architecture Description (4+1) Use case view Analysis view Design view Deployment view Implementation view User Interface Prototype Interfaces Analysis Packages Design Subsystems Implementation Subsystems Components Test Cases Test Procedures Test Components Test Evaluations Defect Lists Discussion Questions Who s going to like RUP, and why? Who s going to hate RUP, and why? Net Objectives, 3/26/

23 Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/ XP (extreme Programming) Development Practices The Customer Drives It s all about the Code Net Objectives, 3/26/

24 Perceptions of XP Cool, trusts the developers, lets me do my thing Formalized hacking, waste of resources, no management control Net Objectives, 3/26/ XP Principles Rapid Feedback Assume Simplicity Incremental Change Quality Work Fine Scale Feedback Continuous Process Shared Understanding Programmer Welfare Communication Simplicity Feedback Courage/Aggression Net Objectives, 3/26/

25 The Real Motivation of XP My View Good clean code is easy to change Customers make all business decisions Developers make all technical decisions Make iterations as short as possible so that Customer can drive with rapid feedback Net Objectives, 3/26/ XP Activities Produce User Stories Release Planning Planning Game (iteration planning) Development Spike Solution Run Acceptance Tests Net Objectives, 3/26/

26 XP Roles Programmer Customer Tester Coach Tracker Manager Net Objectives, 3/26/ XP Practices Business Level OnsiteCustomer Product Level SustainablePace Development CodingConventions Level SystemMetaphor AcceptanceTests SmallReleases SimpleDesign RefactorMercilessly ContinuousIntegration CollectiveCodeOwnership PlanningGame UnitTests TestDrivenDevelopment PairProgramming Net Objectives, 3/26/

27 XP Products Release Plan User Story Code Unit Tests Acceptance Tests Net Objectives, 3/26/ Use Case versus User Story Use Case: Describes how an Actor interacts with the system to achieve a Goal Focus is on user and validation Tells a complete story User Story: A bite-size bit of functionality that has business value and can be developed in a few days Focus is on developer and production Part of a complete story Net Objectives, 3/26/

28 Use Case versus User Story Use Case: Logon to System Actor: ATM Customer Scope: ATM Machine Description: After swiping the ATM Card, the user is asked for a password. The system verifies that the card is legitimate and that the password corresponds to the card. The user is then given access to all the other ATM commands. The user is given three chances to enter a correct password; after the third time the ATM Card is kept by the machine. Sample User Stories Display welcome screen until user swipes ATM Card Display login screen until password is entered Verify that ATM card is legitimate Verify the password is legitimate Implement three strikes algorithm for password entry Swallow card if card is illegitimate Swallow card if password fails Return Card if Network Goes Down Net Objectives, 3/26/ Another Version Story: Ok on Password screen gives full capability to anybody Story: fixed passwords for different capability suites Story: "three Strikes" algorithm Story: Screen Capabilities by ID still fixed password for each capability Story: Different Password for each ID Story: Full Password capability (different password per ID per capability suite) Net Objectives, 3/26/

29 Ever Unfolding Story Vision Use Case Requirements Model Goals/Constraints Scenario Extension Sub Use Case (sub)system Data Element UI Element Business Rule Other Models Net Objectives, 3/26/ Use Cases to User Stories 1 Use Cases Technical Sooner Later Net Objectives, 3/26/

30 Use Cases to User Stories 2 1 Use Cases Technical Sooner Later Net Objectives, 3/26/ Use Cases to User Stories 3 Use Cases 1 2 Technical Sooner Later Net Objectives, 3/26/

31 Use Cases to User Stories 4 Use Cases Technical Sooner Later Net Objectives, 3/26/ Discussion Questions Who s going to like XP, and why? Who s going to hate XP, and why? Net Objectives, 3/26/

32 Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/ Scrum Management Strategy Communication and Empowerment Team/Management Interactions Net Objectives, 3/26/

33 Perceptions of Scrum Huh?! Net Objectives, 3/26/ Scrum Principles Commitment Focus Openness Respect Courage Visibility Communications Remove Impediments No Interference Net Objectives, 3/26/ Built-in instability Change out of of Chaos Self-organizing project teams Overlapping development phases Multi-learning Subtle control Transfer of of learning

34 The Real Motivations of Scrum My View Changes may be hard to make, so identify them as soon as possible Developers know how to develop, so just stay out of their way and let them do it Make 30-day iterations for two reasons: Enough heft to allow Developers to believe they re doing something real Short enough so that Management doesn t feel abandoned Net Objectives, 3/26/ Scrum Activities Sprint Planning Sprint Daily Scrum Sprint Review Net Objectives, 3/26/

35 Scrum Roles Scrum Master Product Owner Scrum Team Not much detail, because Scrum is a lightweight management process, not a development process Net Objectives, 3/26/ Scrum Practices Identify and Remove Impediments Identify Product Backlog Define Sprint Backlog No Interference, no Intruders, no Peddlers Frequent, First-Hand Observations Net Objectives, 3/26/

36 Scrum Products Sprint Backlog Release Backlog Product Backlog Burndown Graph work remaining days Net Objectives, 3/26/ Discussion Questions Who s going to like Scrum, and why? Who s going to hate Scrum, and why? Net Objectives, 3/26/

37 Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combinations Additional Success Factors Net Objectives, 3/26/ Best of Breed Combinations My View of the Best Net Objectives, 3/26/

38 Best of Breed Practices/Concepts These are the practices/concepts that I look for in a Project s process Practice or Concept RUP XP Scrum Iterative and Incremental Architecture-Centric? Validation-Centric Developer/Customer Interaction Developer/Management Interaction Developer/Support Interaction Business Owner Buy-In Risk Management Quality Code Management Touch Points Large Teams Small Teams Complex Projects Use Cases Net Objectives, 3/26/ Two Sample Cocktails Top-Down Process Large, complex project Management centered, ceremony needed Bottom-Up Process Small e-commerce project Developer centered, keep as simple as possible Each project must mix its own cocktail Net Objectives, 3/26/

39 Cocktail 1 Large, Complex Project what I m thinking Start with RUP Use 1-month iterations, a la Scrum Use XP Practices as much as possible System Analyst or Architect acts as XP Customer for Construction Phase Adapt XP Practices as I can for other Phases Handle Team/Management interaction in Scrum fashion Tailor out as much else as I can, without running foul of any major Stakeholder s fears Call the process Tailored RUP because that s what it is Net Objectives, 3/26/ Cocktail 1 what it looks like Inception Elaboration Construction Transition Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 Inception Develop use cases in pairs (analyst/architect + user) Do just enough to develop a backlog to start with Elaboration Develop architecture in pairs (analyst/architect + lead developer) Continue to work on Use Cases Construction Multiple XP teams developing different parts of the architecture Scrum Master for each team with Project Manager over all Cross-team pairing for interface and infrastructure issues Transition Integration of different parts of the architecture Pairing to fix bugs and integrate Net Objectives, 3/26/

40 Cocktail 2 Small e-commerce project Start with XP Use 1-month iterations, a la Scrum (shorter if your tools can handle it and the team wants to ) Add other Scrum practices to manage the team s relations to management Scrum Master Protect/Insulate the team Add Use Cases from RUP Architect pairs with Marketing Staff to develop them Marketing sells use cases to the world Architect converts use cases to user stories for the developers Call the process XP++ or Scrum with an XP Center Net Objectives, 3/26/ Cocktail 2 what it looks like Business Level OnsiteCustomer Product PlanningGame Level Identify and and Remove Impediments SustainablePace Development CodingConventions Level SystemMetaphor AcceptanceTests SimpleDesign RefactorMercilessly ContinuousIntegration CollectiveCodeOwnership Use Cases Small Releases No No Interference, no no Intruders, no no Peddlers UnitTests TestDrivenDevelopment PairProgramming Net Objectives, 3/26/

41 Needs to Tasks Problem No matter what process you use, the fundamental technical problem is to analyze the user s needs in order to determine development tasks Business Level Need Product Level Development Level Task Task Task Task Task Task Net Objectives, 3/26/ Needs to Tasks - RUP Here are the major steps in moving from a User s need to a collection of Developer Tasks in RUP Business Level Product Level Need Use Case Realization Detail a Use Case Analyze a Use Case Analyze a Class Use Case Analysis Classes Development Level Task Task Task Task Task Task Net Objectives, 3/26/

42 Needs to Tasks - XP Here are the major steps in moving from a User s need to a collection of Developer Tasks in XP Business Level Need Magic Performed by Customer Product Level Iteration Planning Game User User Story User Story User Story Story Development Level Task Task Task Task Task Task Net Objectives, 3/26/ Needs to Tasks Combined Here s what I recommend for the major steps in moving from a User s need to a collection of Developer Tasks Business Level Product Level Use Case Detail a Use Case Ever-Unfolding Story Iteration Planning Game Need User User Story User Story User Story Story Development Level Task Task Task Task Task Task Net Objectives, 3/26/

43 Agenda The Software Problem What is Process? Why Agility Works Description of RUP Description of XP Description of Scrum Best of Breed Combination Additional Success Factors Net Objectives, 3/26/ Team Values Cooperation Communication Trust Honesty Respect Courage/Aggression Quality work Play to win Net Objectives, 3/26/

44 Environment Available Customer Source Code Management Coding Standards Continuous Integration Facilitate Communications Information Radiators Team Room Net Objectives, 3/26/ Please Fill Out Evaluations Net Objectives, 3/26/

45 Net Objectives Who We Are Mission: Guiding and empowering our customers in their software development efforts via courses and coaching. Vision: Effective and efficient software development without suffering. We provide training, mentoring and consulting for all phases of object-oriented software development. We assist companies transitioning to object-oriented development by providing mentoring throughout the entire development process. Net Objectives, 3/26/ Use Cases and Analysis Writing Effective Use Cases. Capturing functional requirements with Use Cases is a software development best practice. This two-day course provides theory and practice in writing use cases, an understanding of how use cases fit into software development, and a variety of optional topics. The course is largely based on Alistair Cockburn's book "Writing Effective Use Cases" - winner of the Jolt Productivity Award for As a certified member of Cockburn and Associates, we are one of the few companies authorized to teach it. Use Case Based Requirements Analysis. Use Cases are the best tool known for capturing and documenting the functional requirements for a system. Unfortunately, trying to capture a system's use cases all at once often leads to a severe case of "analysis paralysis". The Ever-Unfolding Story is an incremental technique for developing use cases and refining them into more detailed requirements. Because it's incremental, the Ever- Unfolding Story allows for frequent validation of the requirements, and supports both artifact-driven and agile development processes. The course consists of lecture and hands-on exercises, and the use case portion is largely based on Alistair Cockburn's book "Writing Effective Use Cases" - winner of the Jolt Productivity Award for Net Objectives, 3/26/

46 Agile Development and OOA/UML Agile Development Best Practices. In simple terms, an Agile Project is one that is predicated on making sure it is always doing the right thing, not merely following a plan that has since gone out of date. The cornerstone of this approach is getting and adapting to feedback as the project progresses. Most projects can't do this, so they fall further behind and either fail or provide inferior products. Changes are of many types, but the most common (and important) changes are to the system's requirements. This course analyzes what it means to be an agile project, and provides a number of best practices that provide and/or enhance agility. Different agile practices (including RUP, XP and Scrum) are discussed. Object-Oriented Analysis With the UML. The word "analysis" means many things when discussing software development. In this two-day course you will learn about three different kinds of analysis: Domain Analysis, Requirements Analysis, and Architectural Analysis. The course consists of lecture and many hands-on exercises; you will learn a number of different modeling techniques, and use many common Unified Modeling Language (UML) diagrams. Throughout the course the focus is on the Analyst's job - providing information that will give other developers a "fighting chance" to develop the correct software. Net Objectives, 3/26/ Design Patterns and Refactoring Design Patterns Explained: A New Perspective on Object-Oriented Design. This course goes beyond merely teaching several design patterns. It also teaches the principles and strategies that make design patterns good designs. This enables students to use these advanced design techniques in their problems whether design patterns are even present. After teaching several patterns and the principles underneath them, the course goes further by showing how patterns can work together to create robust, flexible, maintainable designs. Refactoring and Unit Testing Key Skills for Agile Development. The practice of Agile Software Development requires, among other things, a high degree of flexibility in the coding process. As we get feedback from clients, stakeholders, and end users, we want to be able to evolve our design and functionality to meet their needs and expectations. This implies an incremental process, with frequent (almost constant) change to the code we're working on. Refactoring, the discipline of changing code without harming it, is an essential technique to enable this process. Unit testing, which ensures that a given change has not caused an unforeseen ripple effect in the system, is another. Net Objectives, 3/26/

47 Java: On-site and Instructor Led Web- Based Training Object-Oriented Programming: Java Edition. Java is a powerful programming language, but its true value emerges only when a solid understanding of Object Oriented Programming techniques are applied. This two-day course focuses on the essential concepts of OO: Encapsulation, Inheritance, and Polymorphism, and includes practical examples and exercises using Java code. Emphasis is placed on implementation issues such as strong cohesion, loose coupling, and eliminating redundancy. Best practices, as illustrated by common design patterns are also discussed. On-line/instructor led Java Training. This is our on-line equivalent of our 5-day Java training. This is not a self-study program where you get e- mail answers to your question. This is a high-touch training program where you work in frequent (albeit remote) contact with both the instructor and your student community. The core of the Java language is taught as well as some SWING and many of the core Java classes. It requires about 4 hours a week from each participant and takes place over 12 weeks. Net Objectives, 3/26/ C#: On-site and Instructor Led Web- Based Training C# for C++ and Java Developers. C# is the flagship language for.net, and despite what many have suggested, it is neither Java with enhanced syntax. nor is it C++ with better manners. C# is a new language, with many new syntactic elements. Also, programming in.net requires an understanding of the framework and the development process it is designed to support. This 1-day course is intended to elucidate the C# language in terms of syntax, process, and some early-adopter best practices, making the transition for Java and C++ developers as smooth as possible. On-line/Instructor Led C# Training. This course teaches the basics of the C# language as well as many of the standard C# classes that support the language. It is equivalent to a 5-day C# training class. It requires about 4 hours a week from each participant and takes place over 12 weeks. Net Objectives, 3/26/

48 Object-Oriented Programming in.net Object-Oriented Programming: C# Edition. The emergence of.net for distributed computing has brought along with it a new flagship language: C# (C-Sharp). Those who are familiar with C, C++, and Java will find the syntax of C# relatively easy to absorb, but using the language properly will require a firm grounding in OO concepts and practices. This two-day course focuses on the essential concepts of OO: Encapsulation, Inheritance, and Polymorphism, and includes practical examples and exercises using C# code. Emphasis is placed on implementation issues such as strong cohesion, loose coupling, and eliminating redundancy. Best practices, as illustrated by common design patterns are also discussed. Object-Oriented Programming: VB.NET Edition. Visual Basic (VB) has undergone a major transformation with the new version for.net. What was once an object-based, procedural language has now become an Object Oriented language akin to C++, Java, and C#. While the primary aspects of its syntax has not changed, this shift to a true Object Orientation will require those with an investment in VB knowledge to learn new concepts such as inheritance, polymorphism, designing to interfaces, and object composition. This 2-day course will take the experienced VB 5.0 or VB 6.0 developer and teach them the OO concepts they need to move to VB.Net. Net Objectives, 3/26/ C++ and XML Object-Oriented Programming: C++ Edition. C++ is a powerful programming language, but its true value emerges only when a solid understanding of Object Oriented Programming techniques are applied. This two-day course focuses on the essential concepts of OO: Encapsulation, Inheritance, and Polymorphism, and includes practical examples and exercises using C++ code. Emphasis is placed on implementation issues such as strong cohesion, loose coupling, and eliminating redundancy. Best practices, as illustrated by common design patterns are also discussed. XML and Its Family of Technologies. XML is a powerful new standard for data modeling and communication, controlling presentation, and inter/intra-process communication. As XML is a cross-platform tool, it is a natural fit for the Java programming language, which is also operating system independent. This course introduces the student to XML and its primary supportive technologies such as SAX/DOM, DTD/Schema, JDOM, and XSLT, with an emphasis on the motivations behind these tools and the way they interrelate. The instructor will then provide detailed, practical examples of how these tools can be used in a Java-based project. Net Objectives, 3/26/

49 Bibliography Best place to buy books: Full bibliography at Net Objectives, 3/26/ Net Objectives Community of Practice We provide a public forum for discussion of topics including: Design patterns Agile methods (including XP, Scrum, RUP) Use cases Emergent design We also have several books under development on-line for review by the community. Go to for more information. To subscribe to our e-zine, send an to info@netobjectives.com with subscribe in the subject line Net Objectives, 3/26/

50 Bibliography Patterns - Core Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helms, Johnson, Vlissides (still the best reference book on patterns) Design Patterns Explained: A New Perspective on Object- Oriented Design, Shalloway, Trott Design Pattern Java Workbook, Metsker (good for Java implementation) Pattern Oriented Software Architecture: A System of Patterns, Bushmann, (a little dated, but still useful) Timeless Way of Building, Christopher Alexander (a classic. The only book in my top ten personal and top ten business) Net Objectives, 3/26/ Bibliography Patterns - Specialized Patterns Of Enterprise Application Architecture, Fowler, et. al. Pattern Oriented Software Architecture Vol 2: Patterns for Concurrent and Networked Objects, Schmidt, Stal, Rohnert, Buschmann, (great book for multithreaded, distributed patterns) Net Objectives, 3/26/

51 Bibliography - Agile Methodologies Agile Software Development, Cockburn Agile Software Development With Scrum, Schwaber, Beedle Extreme Programming Explained: Embrace Change, Beck Extreme Programming Installed, Jeffries Extreme Programming Applied: Playing to Win, Auer, Miller Bibliography - The UML and Use Cases Writing Effective Use-Cases, Cockburn Patterns for Effective Use Cases, Adolph&Bramble, et. al. with contributions from our own Dr. Dan Rawsthorne UML Distilled, Martin Fowler (easiest and best way to learn what the UML is) Net Objectives, 3/26/ Bibliography - Java Effective Java, Bloch Java Design, Coad (best book on how to do OO in Java by far) Thinking in Java (3 rd Ed), Eckel. Great book to learn Java and object-oriented programming from. Bibliography - Miscellaneous (The) CRC Card Book, Bellin, Simone (CRC cards are a great way to verify initial designs) Multi-Paradigm Design for C++, Coplien (excellent description of commonality/variability analysis -- I even recommend the first part for Java programmers. See for the book s equivalent on the web) Net Objectives, 3/26/

52 Bibliography Refactoring/XP Related Emergent Design: Refactoring and Design Patterns for Agile Development, by Scott L. Bain, Alan Shalloway, Dr. Dan Rawsthorne. Late For previews: Java Tools for Extreme Programming: Mastering Open Source Tools Including Ant, JUnit, and Cactus, Richard Hightower, Nicholas Lesiecki Refactoring, Martin Fowler (most in depth book on this old practice) Test Driven Development: By Example, Kent Beck. Not as great as we were hoping, but very useful. Net Objectives, 3/26/ On-Line Books Many books are available on-line at: Specific Articles of Great Interest Test Infected: Programmers Love Writing Tests A great article on doing test driven development with Junit by Gamma and Beck - the authors of JUnit. Net Objectives, 3/26/

53 Famous Sayings The check is in the mail. I ll respect you in the morning. We ve got all the requirements. That ll never happen. That always happens. I'll write the tests later. I can write bad code because I know refactoring. Yes, I m sure. We ll integrate it in later. I ll fix it later. Net Objectives, 3/26/

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda

Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or

More information

MANAGEMENT S ROLE 1/16/2002 152. Copyright 2001, Net Objectives

MANAGEMENT S ROLE 1/16/2002 152. Copyright 2001, Net Objectives MANAGEMENT S ROLE 1/16/2002 152 Continuous Overtime Is Counterproductive Working more hours does not increase productivity Overwork is usually an indication of something wrong - working more doesn t fix

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

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

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

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

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

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

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

History of Agile Methods

History of Agile Methods Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software

More information

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories

XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories XP & Scrum Beatrice Åkerblom beatrice@dsv.su.se extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or

More information

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson

Development Methodologies. Types of Methodologies. Example Methodologies. Dr. James A. Bednar. Dr. David Robertson Development Methodologies Development Methodologies Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm

More information

"Bezpieczny Projekt"

Bezpieczny Projekt Konferencja "Bezpieczny Projekt" Wrocław 22 czerwca 2010 www.omec.pl Software Development with Agile SCRUM Chandrashekhar Kachole 22 nd of June 2010 1 Let s keep the cell phones in Silent mode 2 Agenda

More information

Agile Testing and Extreme Programming

Agile Testing and Extreme Programming Agile Testing and Extreme Programming bret@pettichord.com www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development

Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort

More information

Introduction to Agile Software Development

Introduction to Agile Software Development Introduction to Agile Software Development Word Association Write down the first word or phrase that pops in your head when you hear: Extreme Programming (XP) Team (or Personal) Software Process (TSP/PSP)

More information

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

CS435: Introduction to Software Engineering!  Software Engineering: A Practitioner s Approach, 7/e  by Roger S. Pressman CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

More information

Agile Software Development

Agile Software Development Agile Software Development Application in the Medical Device Industry Kelly Weyrauch Medtronic, Inc. (29 April 2008) Introduction Purpose Provide an introduction to Agile Software Development as it applies

More information

Agile Software Development in the Large

Agile Software Development in the Large Agile Software Development in the Large GI-Vortrag Braunschweig Jutta Eckstein Nicolai Josuttis What Does Large Mean? Large in... scope time people money risks We focus on Large Teams which implies everything

More information

Plan-Driven Methodologies

Plan-Driven Methodologies Plan-Driven Methodologies The traditional way to develop software Based on system engineering and quality disciplines (process improvement) Standards developed from DoD & industry to make process fit a

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

More information

Managing the Work in an Agile Project Dan Rawsthorne, PhD, CSM Senior Consultant, Net Objectives

Managing the Work in an Agile Project Dan Rawsthorne, PhD, CSM Senior Consultant, Net Objectives Managing the Work in an Agile Project Dan Rawsthorne, PhD, CSM Senior Consultant, Net Objectives Abstract: This article introduces the ideas functional Work Breakdown Structure (WBS), Business Value (BV),

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

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

Introduction to Agile and Scrum

Introduction to Agile and Scrum Introduction to Agile and Scrum Matthew Renze @matthewrenze COMS 309 - Software Development Practices Purpose Intro to Agile and Scrum Prepare you for the industry Questions and answers Overview Intro

More information

How To Plan A Project

How To Plan A Project Software Engineering: A Practitioner s Approach, 6/e Chapter 4 Agile Development copyright 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May be reproduced ONLY for student use

More information

RUP and XP, Part I: Finding Common Ground

RUP and XP, Part I: Finding Common Ground RUP and XP, Part I: Finding Common Ground by Gary Pollice Evangelist, The Rational Unified Process Rational Software extreme Programming (XP) is hot! Attend any software development conference today and

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

Moonzoo Kim CS Division of EECS Dept. KAIST

Moonzoo Kim CS Division of EECS Dept. KAIST Chapter 4 Agile Development Moonzoo Kim CS Division of EECS Dept. KAIST 1 Ex. UP Work Products Inception phase Vision document Init ial use-case model Init ial project glossary Init ial business case Init

More information

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield Agile Software Development with Scrum Jeff Sutherland Gabrielle Benefield Agenda Introduction Overview of Methodologies Exercise; empirical learning Agile Manifesto Agile Values History of Scrum Exercise:

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

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?

What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue? Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What

More information

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS.

WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS. WE ARE FOCUSED ON HELPING OUR CLIENTS WORK SMARTER AND MORE EFFICIENTLY SO THAT TOGETHER, WE CAN EMPOWER PEOPLE TO DELIVER GREAT RESULTS. We believe that people working towards common goals are capable

More information

Introduction to Agile Scrum

Introduction to Agile Scrum Introduction to Agile Scrum by Julia M. Lobur Penn State Harrisburg CMPSC 487W Fall 2015 Introduction to Scrum Learning Goals Relationship of Scrum to other Agile methods Scrum Framework Scrum Roles Scrum

More information

Quality Assurance Software Development Processes

Quality Assurance Software Development Processes Quality Assurance Software Development Processes Part II - Lecture 3 1 The University of Auckland New Zealand 254 12/09/ /2012 The FBI Virtual Case File 254 12/09/ /2012 Database application developed

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

Software Life Cycles and Configuration Management

Software Life Cycles and Configuration Management Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction

More information

Making the Most of the Software Development Process

Making the Most of the Software Development Process Making the Most of the Software Development Process Dr Graham Stone, Dunstan Thomas Consulting http://consulting.dthomas.co.uk Organisations are under increased pressure to look at development initiatives

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

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

An Introduction to Extreme Programming

An Introduction to Extreme Programming An Introduction to Extreme Programming Ken Auer kauer@rolemodelsoft.com http://www.rolemodelsoft.com RoleModel Software, Inc. 5004 Rossmore Dr. Fuquay-Varina, NC 27526 919-557-6352 Page 1 The Joy of Software

More information

Agile and Secure: OWASP AppSec Seattle Oct 2006. The OWASP Foundation http://www.owasp.org/

Agile and Secure: OWASP AppSec Seattle Oct 2006. The OWASP Foundation http://www.owasp.org/ Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Dan Cornell, OWASP San Antonio Leader Principal, Denim Group Ltd. dan@denimgroup.com (210) 572-4400 Copyright 2006 - The OWASP Foundation

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

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

More information

Introduction to Agile Software Development. EECS 690 Agile Software Development

Introduction to Agile Software Development. EECS 690 Agile Software Development Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into

More information

Agile Methodologies XP and Scrum

Agile Methodologies XP and Scrum Agile Methodologies XP and Scrum Introduction into Software Engineering Lecture 22 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Problem: How to we Control Software Development?

More information

Contents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31

Contents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31 Contents 1 Introduction 1 1.1 WhyThisBook? 1 1.2 A Bit of History 1 1.3 What Is Agile Software Development? 2 1.4 WhyBe Agile? 3 1.5 What This Book Is About? 3 1.6 Implementation Languages 3 1.7 The Structure

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

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

Introduction to Agile Methods

Introduction to Agile Methods Introduction to Agile Methods Chennai Agile User Group Kickoff Sanjiv Augustine July 08, 2006 www.ccpace.com Introduction to Agile Methods Page 1 Agenda Agile at a Glance Landscape Basics Typical Benefits

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

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL

Abstract. Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL Heavy vs Light Methodologies: Bulimic or Anorexic? Fernando Brito e Abreu FCT/UNL ISCTE, 15 April 2005 Abstract 2 From anorexic to bulimic Overview of heavy-weight methodologies Origins of light-weight

More information

Scrum for Managers, Zurich March 2010

Scrum for Managers, Zurich March 2010 Scrum for Managers Microsoft Corporation / TechTalk Zurich Switzerland March 2010 About Mitch Lacey Mitch Lacey 13+ years of program and project management experience Microsoft Program Manager 2001 2006

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

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

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project.

Atern The latest version of the DSDM approach which makes DSDM appropriate to all types of project. THE AGILE PROJECT LEADER S DICTIONARY This dictionary attempts to de-mystify the jargon around the world of Agile projects. Part 1 translates common Agile terms into more traditional words. Part 2 translates

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

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden

Learning and Coaching Agile Methods. Görel Hedin Computer Science Lund University, Sweden Learning and Coaching Agile Methods Görel Hedin Computer Science Lund University, Sweden Background Two undergraduate courses at Lund University XP course (mandatory, 2nd year, around 100 students) Coaching

More information

Agile Software Project Management Methodologies

Agile Software Project Management Methodologies Economy Informatics, 1-4/2005 27 Agile Software Project Management Methodologies Prof. Constanţa-Nicoleta BODEA, PhD Economic Informatics Department, Academy of Economic Studies, Bucharest Successfully

More information

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre

Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre Distributed Agile Development Bapiraju Nandury Product Development Manager Bangalore Development Centre Agenda Distributed / offshore Development Agile Methods Distributed Agile Development Goals of this

More information

Agile Methodologies and Its Processes

Agile Methodologies and Its Processes International Journal of Computational Engineering Research Vol, 03 Issue, 9 Agile Methodologies and Its Processes 1, Akanksha, 2, Akansha Rakheja, 3, Latika Kapur, 4, Kanika Ahuja 1,2,3,, Information

More information

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca

Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal alain.april@etsmtl.ca Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC

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

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

Web Application Development Process

Web Application Development Process Web Engineering Web Application Development Process Copyright 2013 Ioan Toma & Srdjan Komazec 1 Where we are? # Date Title 1 5 th March Web Engineering Introduction and Overview 2 12 th March Requirements

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

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT

REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT REVIEW OF AGILE METHODOLOGIES IN SOFTWARE DEVELOPMENT 1 MALIK HNEIF, 2 SIEW HOCK OW 1 Department of Software Engineering, University of Malaya, Kuala Lumpur, Malaysia-50603 2 Assoc. Prof., Department of

More information

Agile processes. Extreme Programming, an agile software development process

Agile processes. Extreme Programming, an agile software development process Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development

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

Software Development with Agile Methods

Software Development with Agile Methods Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating

More information

INF5120 Modellbasert Systemutvikling

INF5120 Modellbasert Systemutvikling INF5120 Modellbasert Systemutvikling Forelesning 17.03.2005 Agile Methods & Architecture QVT ATL, MOF2Txt Arne-Jørgen Berre 1 INF5120 - Forelesninger - 2005 M: MDA, T: Eclipse, IBM tool, C: COMET, U: U

More information

Comparison between Agile and Traditional software development methodologies

Comparison between Agile and Traditional software development methodologies Cumhuriyet Üniversitesi Fen Fakültesi Fen Bilimleri Dergisi (CFD), Cilt:36, No: 3 Özel Sayı (2015) ISSN: 1300-1949 Cumhuriyet University Faculty of Science Science Journal (CSJ), Vol. 36, No: 3 Special

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

The Role of Software Quality in Agile Software Development Methodologies Osama Sohaib and Khalid Khan Abstract he various agile software development methodologies have promoted since their inception and

More information

INTRODUCTION TO AGILE METHODS

INTRODUCTION TO AGILE METHODS Chapter 1 INTRODUCTION TO AGILE METHODS Agile methods are revolutionizing the approach to software development. ACHIEVING COMPETITIVE ADVANTAGE IN A SOFTWARE ECONOMY The software industry has evolved to

More information

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007

Agile and Secure Can We Be Both? Chicago OWASP. June 20 th, 2007 Agile and Secure Can We Be Both? Chicago OWASP June 20 th, 2007 The Agile Practitioner s Dilemma Agile Forces: Be more responsive to business concerns Increase the frequency of stable releases Decrease

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

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson 23.11.2005 Jyväskylä Fact corner: SME of 250 developers Mobile & desktop sw Products sold globally EXAMPLE OF AN INNOVATIVE

More information

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations

Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations International Journal of Recent Research and Review, Vol. VI, June 2013 Comparative Study of Agile Methods and Their Comparison with Heavyweight Methods in Indian Organizations Uma Kumari 1, Abhay Upadhyaya

More information

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India

Tamanna Assistant Professor Chandigarh University Gharuan, Mohali,India Volume 4, Issue 6, June 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com An Agile Methodology

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

The Basics of Scrum An introduction to the framework

The Basics of Scrum An introduction to the framework The Basics of Scrum An introduction to the framework Introduction Scrum, the most widely practiced Agile process, has been successfully used in software development for the last 20 years. While Scrum has

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

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries

Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum

More information

Comparison and problems between Traditional and Agile software development methods

Comparison and problems between Traditional and Agile software development methods Lappeenranta University of Technology School of Industrial Engineering and Management Software Engineering and Information Management Department of Master Degree Program in Computer Science Mehar Ullah

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

Comparative Analysis of Agile Software Development Methodologies-A Review

Comparative Analysis of Agile Software Development Methodologies-A Review RESEARCH ARTICLE OPEN ACCESS Comparative Analysis of Agile Software Development Methodologies-A Review Kiran Hiwarkar 1, Aditya Doshi 2, Rahul Chinta 3, Manjula R 4 1,2,3 ( Post Graduate Students Department

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

Digital Transformation of the Enterprise for SMAC: Can Scrum help?

Digital Transformation of the Enterprise for SMAC: Can Scrum help? Digital Transformation of the Enterprise for SMAC: Can Scrum help? Scope of this Report October 2015 In this paper, we consider the impact of the digital transformation on software development and whether

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

Integrating Requirements Engineering into Software Engineering Processes

Integrating Requirements Engineering into Software Engineering Processes SEG3101 (Fall 2010) Integrating Requirements Engineering into Software Engineering Processes Gregor v. Bochmann, University of Ottawa Based on Powerpoint slides by Gunter Mussbacher (2009) and material

More information

An Overview of Quality Assurance Practices in Agile Methodologies

An Overview of Quality Assurance Practices in Agile Methodologies T-76.650 SEMINAR IN SOFTWARE ENGINEERING, SPRING 2004 1 An Overview of Quality Assurance Practices in Agile Methodologies Olli P. Timperi Abstract The focus of literature and debates of agile methodologies

More information

PMP vs. Scrum Master

PMP vs. Scrum Master PMP vs. Scrum Master Compatible or Incompatible? Presented by: Karen Little, PMP, CSM, CBAP, ITIL, MCP, MBA Copyright 2007 by Karen Little 1 Agenda Introductions Background on Agile and SCRUM Methodologies

More information

Extreme Programming, an agile software development process

Extreme Programming, an agile software development process Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled

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

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.

Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D. An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software

More information

How To Develop A Telelogic Harmony/Esw Project

How To Develop A Telelogic Harmony/Esw Project White paper October 2008 The Telelogic Harmony/ESW process for realtime and embedded development. Bruce Powel Douglass, IBM Page 2 Contents 3 Overview 4 Telelogic Harmony/ESW core principles 6 Harmony/ESW

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development

More information

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012

Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012 Scrum and Testing The end of the test role Bryan Bakker 20 maart 2012 voordracht georganiseerd door Discussiegroep Software Testing met de steun van Ingenieurshuis, Antwerpen Scrum and Testing... The end

More information