Feature-Driven Development

Slides:



Advertisements
Similar presentations
Project Management Concepts
Advertisements

Presentation by Prabhjot Singh
Quick Recap. Quick Recap The Project Plan Plan Your Work, then Work Your Plan.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
(Insert Title of Project Here) Kickoff Meeting (Month Date, Year)
Eric Nickell.  History  What is Feature Driven Development?  What is a Feature?  Feature Driven Development Roles ◦ Class Ownership  Feature Driven.
Jon Grommes Feature Driven Development. Overview What is Feature Driven Development History of FDD Defining a Feature FDD Roles FDD Reporting FDD Process.
Systems Analysis and Design 9th Edition
Feature Driven Development
Tietojärjestelmien peruskurssi Software engineering Malin Brännback.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
CATEGORIES OF INFORMATION There are three main categories of business information,and these are related to the purpose for which the information is utilized.
introduction to MSc projects
Feature Driven Development Reid S. Carlberg SE470
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
Project Management and Scheduling
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Houston 2015 COMFORTABLE SOFTWARE DEVELOPMENT FOR TEAMS FEATURE-DRIVEN DEVELOPMENT TM.
Current Trends in Systems Develpment
CPIS 357 Software Quality & Testing
BSBPMG402A Apply Time Management Techniques 1 Apply Time Management Techniques Week 6 Project Time Processes – Part 2 C ertificate IV in Project Management.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Information Technology Project Management by Jack T. Marchewka Power Point Slides by Jack T. Marchewka, Northern Illinois University Copyright 2006 John.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
© Copyright 2011 John Wiley & Sons, Inc.
BSBPMG402A Apply Time Management Techniques Apply Time Management Techniques Project Time Processes – Part 2 C ertificate IV in Project Management
Quality Software Project Management Software Size and Reuse Estimating.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Fall CS-EE 480 Lillevik 480f06-l10 University of Portland School of Engineering Senior Design Lecture 10 Webs Scheduling MS Project (Optional)
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
Develop Project Charter
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
The Software Development Process
Rational Unified Process Fundamentals Best Practices of Software Engineering Rational Unified Process Fundamentals Best Practices of Software Engineering.
Planning Extreme programming
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Meghe Group of Institutions Department for Technology Enhanced Learning 1.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software Engineering Lecture 10: System Engineering.
Use Case, Component and Deployment Diagrams University of Sunderland.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
BSBPMG503A Manage Project Time Manage Project Time Project Time Processes Part 2 Diploma of Project Management Qualification Code BSB51507 Unit Code.
Presented By : Prima Business Solutions. Agile Software Development Process.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Software Development Framework
Chapter 3 An Agile view of process.
Methodologies and Algorithms
Scrum.
Feature Driven Development
Appendix B Agile Methodologies
Software Quality Engineering
Software Quality Engineering
Chapter 2 SW Process Models
Using Kanban Techniques to Control Incremental Development
Decomposition.
How to Successfully Implement an Agile Project
Rational Unified Process
Information Technology Project Management
Coming up: What is Agile?
Teaching slides Chapter 13
Appendix B Agile Methodologies
Agile software development
(Insert Title of Project Here) Kickoff Meeting
Presentation transcript:

Feature-Driven Development Advanced Software Engineering 603 492

FDD FDD is a model-driven short-iteration process that consists of five basic activities. For accurate state reporting and keeping track of the software development project milestones that mark the progress made on each feature are defined Its main purpose is to deliver tangible, working software repeatedly in a timely manner.

FDD Created by Jeff De Luca for a 15 month, 50 person software development project at a large Singapore bank in 1997

Activities Process 1: Develop Overall Model The project starts with a high-level walkthrough of the scope of the system and its context. Next, detailed domain walkthroughs are held for each modeling area. The participation of the domain experts is mandatory

Activities Process 2: Build Feature List Identify a list of features. This is done by functionally decomposing the domain into subject areas. Subject areas each contain business activities Features are small pieces of client-valued functions expressed in the form <action> <result> <object>, ´Calculate the total of a sale´ or ´Validate the password of a user´. Features should not take more than two weeks to complete, else they should be broken down into smaller pieces. No weighting and prioritisation of features

Activities Process 3: Plan By Feature Class ownership is done by ordering and assigning features (or feature sets) as classes to chief programmers. "Determine the Development Sequence“: a task to bring forward complex or high risk business activities

Activities Process 4: Design By Feature A chief programmer selects a small group of features that are to be developed within two weeks. Together with the corresponding class owners, the chief programmer works out detailed sequence diagrams for each feature and refines the overall model. Next, the class and method prologue are written Finally a design inspection is held.

Activities Process 5: Build By Feature The class owners develop the actual code for their classes. Unit test Code inspection Add the feature to the main build.

Milestones FDD defines six milestones per feature Table 1: Milestones Domain Walkthrough Design Design Inspection Code Code Inspection Promote To Build 1% 40% 3% 45% 10%

Best practices Individual Class (Code) Ownership. Individual class ownership means that distinct pieces or grouping of code are assigned to a single owner. The owner is responsible for the consistency, performance, and conceptual integrity of the class. Visibility of progress and results. By frequent, appropriate, and accurate progress reporting at all levels inside and outside the project, based on completed work, managers are helped at steering a project correctly Regular Builds. Inspections

Process model for FDD

References Interview with Jeff DeLuca http://www.se-radio.net/2008/01/episode-83-jeff-deluca-on-feature-driven-development/ Wikipedia http://en.wikipedia.org/wiki/Feature_Driven_Development