SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Existing Agile Methods-
Feature Driven Development (FDD)
• Feature Driven Development (FDD) is an agile
and adaptive approach for developing systems.
• The FDD approach does not cover the entire
software development process, but rather
focuses on the design and building phases.
Feature Benefits
Feature Benefits (Cont.)
FDD Process
• FDD consists of five sequential processes and
provides the methods, techniques and guidelines
needed by the project stakeholders to deliver the
system.
• Further more, FDD includes the roles, artifacts, goals
and timelines needed in a project.
Process
Develop an
Overall
Model
Build a
Features
List
Plan by
Feature
Design by
Feature
Build by
Feature
Develop an Overall Model
• When the development of an overall model begins,
the domain experts are already aware of the scope,
context and requirements of the system to be built.
• Documented requirements such as use cases or
functional specifications are likely to exist at this
stage.
• The domain experts present a so called
“Walkthrough” in which the team members and the
chief architect are informed of the high level
description of the system.
• The development team then discusses and decides
upon the appropriate object models for each of the
domain areas.
• Simultaneously, an overall model shape is
constructed for the system.
Build a Featured List
• The walkthroughs, object models and existing
requirement documentation give a good basis for
building a comprehensive features list for the system
being developed.
• In the list, the development team presents each of
the client valued functions included in the system.
• The major feature sets are further divided into
feature sets. These represents different activities
within specific domain areas.
• The feature list is reviewed by the users and
sponsors of the system for their validity and
completeness.
Plan by Feature
• Planning by feature includes the creation of a high-
level plan, in which the feature sets are sequenced
according to their priority and dependencies and
assigned to Chief Programmers.
• Furthermore, the classes identified in the
development of an overall model process are
assigned to individual developers, i.e, class owners.
Design by Feature and Build by
Feature
• A small group of features is selected from the feature
set (s) and feature teams needed for developing the
selected features are formed by the class owners.
• The design by feature and build by feature processes
are iterative procedures, during which the selected
features are produced.
• One iteration should take from a few days to a
maximum of two weeks.
• There can be multiple feature teams concurrently
designing and building their own set of features.
• This iterative process include such tasks as design
inspection, coding, unit testing, integration and code
inspection.
• After a successful iteration, the completed
features are promoted to the main build while
the iteration of designing and building begins
with a new group of features taken from the
feature set.
Roles and Responsibilities
• The FDD classifies its roles into three categories:
– Key Roles (6)
– Supporting Roles (5)
– Additional Roles (3)
• The Six key roles in a FDD project are
– Project Manager
– Chief Architect
– Development Manager
– Chief Programmer
– Class Owner &
– Domain Expert.
• The five supporting roles are
– Release Manager
– Language Lawyer/Language Guru
– Build Engineer
– Toolsmith &
– System Administrator
• The three further roles that are needed in any
project are
– Testers
– Deployers &
– Technical Writers
• One team member can play multiple roles and a
single role can be shared by several people.
Project Manager
• Project Manager is the administrative and financial
leader of the project.
• One of his tasks is to protect the project team from
outside distractions and to enable the team to work
along with providing it with appropriate working
conditions.
Chief Architect
• The Chief Designer is responsible for the overall
design of the system and running the workshop
design sessions held with the team.
• The Chief Architect also makes the final decisions on
all design issues.
Development Manager
• The Development Manager leads daily
development activities and solves any conflicts
that may occur within the team.
• In addition, this role includes the responsibility
of solving resourcing problems.
Chief Programmer
• The Chief Programmer is an experienced developer,
who participates in the requirements analysis and
design of the projects.
• The Chief Programmer is responsible for leading
small teams in the analysis, design and
development of new features.
Class Owner
• Class Owners work under the guidance of the Chief
Programmer in the tasks of designing, coding,
testing, and documenting.
• He is responsible for the development of the class
he has been assigned to be the owner of.
Domain Expert
• The Domain Expert may be a user, a client, a
sponsor, a business analyst or a mixture of these.
• His task is to possess the knowledge of how the
different requirements for the system under
development should perform.
• Domain Experts pass this knowledge to the
developers in order to ensure that the developers
deliver a competent system.
Domain Manager
• Domain Manager leads the domain experts and
resolves their differences of opinion concerning
the requirements for the system.
Release Manager
• Release Manager controls the progress of the
process by reviewing the progress reports of Chief
Programmers and holding short progress meetings
with them.
• He reports the progress to the Project Manager.
Language Lawyer/Language Guru
• A Team Member responsible for possessing a
thorough knowledge of, for example, a specific
programming language or technology.
• This role is particularly important when the project
team is dealing with some new technology.
Build Engineer
• A person responsible for setting up, maintaining and
running the build process, including the tasks of
managing the version control system and publishing
documentation.
Toolsmith
• Toolsmith is a role for building small tools for
development, test and data conversion teams in the
project.
• Also a Toolsmith may be working with setting up
and maintaining databases and Websites for project
specific purposes.
System Administrator
• The task of a system administrator is to configure, to
manage and to troubleshoot the servers, network of
workstations and development and testing
environments used by the project team.
• The system administrator may be involved in the
productionizing of the system being developed.
Tester
• Testers verify that the system being produced
will meet the requirements of the customer.
• May be an independent team or a part of the
project team.
Deployer
• Deployers’ work is concerned with converting
existing data to the format required by the new
system and participating in the deployment of new
releases.
• May be an independent team or a part of the project
team.
Technical Writer
• The user documentation is prepared by technical
writers, who may form an independent team or be a
part of the project team.
Practices
• Domain Object Modeling:-
– Exploration and explanation of the domain of the
problem. Results in a framework where the
features are added
• Developing by Feature:-
– Developing and tracking the progress through a
list of small functionally decomposed and client-
valued functions.
• Individual Class Ownership:-
– Each class has a single person nominated to be the one
responsible for the consistency, performance and
conceptual integrity of the class.
• Feature Teams:-
– Refers to small, dynamically formed teams
• Inspection:-
– Refers to the use of the best-known defect-detection
mechanisms.
• Regular Builds:-
– Refers to ensuring that there is always a running,
demonstrable system available. Regular builds form the
baseline to which new features are added.
• Configuration Management:-
– Enables the identification and historical tracking of the
latest versions of each completed source code file.
• Progress Reporting:-
– Progress is reported based on complete work to all
necessary organizational levels.

Weitere ähnliche Inhalte

Was ist angesagt?

Process model in SE
Process model in SEProcess model in SE
Process model in SEsuranisaunak
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven developmentRuhaim Izmeth
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesTEJVEER SINGH
 
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop introBeit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop introbabak danyal
 
Software management framework
Software management frameworkSoftware management framework
Software management frameworkKuppusamy P
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development MethodologiesDamian T. Gordon
 
Unified Process
Unified ProcessUnified Process
Unified Processguy_davis
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)ShudipPal
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةAhmed Alageed
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile modelsGolda Margret Sheeba J
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)ShudipPal
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineeringInocentshuja Ahmad
 
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Rasan Samarasinghe
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles sathish sak
 
Yogesh_Fegade_Profile
Yogesh_Fegade_ProfileYogesh_Fegade_Profile
Yogesh_Fegade_ProfileYogesh Fegade
 
WORKFLOW OF THE PROCESS IN SPM
 WORKFLOW OF THE PROCESS IN SPM WORKFLOW OF THE PROCESS IN SPM
WORKFLOW OF THE PROCESS IN SPMgarishma bhatia
 

Was ist angesagt? (20)

Process model in SE
Process model in SEProcess model in SE
Process model in SE
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
Feature Driven Development
Feature Driven DevelopmentFeature Driven Development
Feature Driven Development
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop introBeit 381 se lec 3 - 46  - 12 feb14 - sd needs teams to develop intro
Beit 381 se lec 3 - 46 - 12 feb14 - sd needs teams to develop intro
 
Software management framework
Software management frameworkSoftware management framework
Software management framework
 
"X" Driven-Development Methodologies
"X" Driven-Development Methodologies"X" Driven-Development Methodologies
"X" Driven-Development Methodologies
 
Unified Process
Unified ProcessUnified Process
Unified Process
 
The unified process
The unified processThe unified process
The unified process
 
Software Engineering (Process Models)
Software Engineering (Process Models)Software Engineering (Process Models)
Software Engineering (Process Models)
 
المحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسةالمحاضرة الرابعة والخامسة
المحاضرة الرابعة والخامسة
 
Software Processes
Software Processes Software Processes
Software Processes
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile models
 
Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)Software Engineering (Software Process: A Generic View)
Software Engineering (Software Process: A Generic View)
 
A generic view of software engineering
A generic view of software engineeringA generic view of software engineering
A generic view of software engineering
 
Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...Advanced Web Development in PHP - Understanding Project Development Methodolo...
Advanced Web Development in PHP - Understanding Project Development Methodolo...
 
Software Development
Software DevelopmentSoftware Development
Software Development
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
Yogesh_Fegade_Profile
Yogesh_Fegade_ProfileYogesh_Fegade_Profile
Yogesh_Fegade_Profile
 
WORKFLOW OF THE PROCESS IN SPM
 WORKFLOW OF THE PROCESS IN SPM WORKFLOW OF THE PROCESS IN SPM
WORKFLOW OF THE PROCESS IN SPM
 

Andere mochten auch

Project / Program / Portfolio Management and Processes Groups
Project / Program / Portfolio Management and Processes GroupsProject / Program / Portfolio Management and Processes Groups
Project / Program / Portfolio Management and Processes GroupsAhmed Alageed
 
Project Scope Management
Project Scope ManagementProject Scope Management
Project Scope ManagementAhmed Alageed
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project ManagmentAhmed Alageed
 
Project Management Course slide 1
Project Management Course slide 1Project Management Course slide 1
Project Management Course slide 1Ahmed Alageed
 
Project Management slide 2
Project Management slide 2Project Management slide 2
Project Management slide 2Ahmed Alageed
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Ahmed Alageed
 
Project Time Management
Project Time Management Project Time Management
Project Time Management Ahmed Alageed
 

Andere mochten auch (11)

Ch04
Ch04Ch04
Ch04
 
Ch07
Ch07Ch07
Ch07
 
Lecture 2
Lecture 2 Lecture 2
Lecture 2
 
Project / Program / Portfolio Management and Processes Groups
Project / Program / Portfolio Management and Processes GroupsProject / Program / Portfolio Management and Processes Groups
Project / Program / Portfolio Management and Processes Groups
 
Project Scope Management
Project Scope ManagementProject Scope Management
Project Scope Management
 
Software Project Managment
Software Project ManagmentSoftware Project Managment
Software Project Managment
 
Ch06
Ch06Ch06
Ch06
 
Project Management Course slide 1
Project Management Course slide 1Project Management Course slide 1
Project Management Course slide 1
 
Project Management slide 2
Project Management slide 2Project Management slide 2
Project Management slide 2
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
 
Project Time Management
Project Time Management Project Time Management
Project Time Management
 

Ähnlich wie Lecture 5

Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfavishekpradhan24
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)andyr91
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Raj vardhan
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03YousefYassin5
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process ModelsEducation Front
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system developmentcymark09
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
ISBB_Chapter10.pptx
ISBB_Chapter10.pptxISBB_Chapter10.pptx
ISBB_Chapter10.pptxAronBalais1
 

Ähnlich wie Lecture 5 (20)

Software vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdfSoftware vjhghjjkhjkkkghhjhEngineering.pdf
Software vjhghjjkhjkkkghhjhEngineering.pdf
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)
 
Seminar on Project Management by Rj
Seminar on Project Management by RjSeminar on Project Management by Rj
Seminar on Project Management by Rj
 
Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2Introduction To Software Concepts Unit 1 & 2
Introduction To Software Concepts Unit 1 & 2
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
Introduction to Software engineering ch03
Introduction to Software engineering ch03Introduction to Software engineering ch03
Introduction to Software engineering ch03
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
Generic Software Process Models
Generic Software Process ModelsGeneric Software Process Models
Generic Software Process Models
 
S.E Lec #1.pptx
S.E Lec #1.pptxS.E Lec #1.pptx
S.E Lec #1.pptx
 
2 approaches to system development
2 approaches to system development2 approaches to system development
2 approaches to system development
 
Software process models
Software process modelsSoftware process models
Software process models
 
sdlc.pptx
sdlc.pptxsdlc.pptx
sdlc.pptx
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
ISBB_Chapter10.pptx
ISBB_Chapter10.pptxISBB_Chapter10.pptx
ISBB_Chapter10.pptx
 
Introduction Software engineering
Introduction   Software engineeringIntroduction   Software engineering
Introduction Software engineering
 

Mehr von Ahmed Alageed

Mehr von Ahmed Alageed (7)

Lecture4
Lecture4Lecture4
Lecture4
 
Lecture 4
Lecture 4Lecture 4
Lecture 4
 
Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3Requirement Engineering Lec.1 & 2 & 3
Requirement Engineering Lec.1 & 2 & 3
 
Ch05
Ch05Ch05
Ch05
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Lecture 3
Lecture 3Lecture 3
Lecture 3
 
1 se-introduction
1 se-introduction1 se-introduction
1 se-introduction
 

Kürzlich hochgeladen

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Kürzlich hochgeladen (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Lecture 5

  • 1. Existing Agile Methods- Feature Driven Development (FDD)
  • 2. • Feature Driven Development (FDD) is an agile and adaptive approach for developing systems. • The FDD approach does not cover the entire software development process, but rather focuses on the design and building phases.
  • 5. FDD Process • FDD consists of five sequential processes and provides the methods, techniques and guidelines needed by the project stakeholders to deliver the system. • Further more, FDD includes the roles, artifacts, goals and timelines needed in a project.
  • 6. Process Develop an Overall Model Build a Features List Plan by Feature Design by Feature Build by Feature
  • 7. Develop an Overall Model • When the development of an overall model begins, the domain experts are already aware of the scope, context and requirements of the system to be built. • Documented requirements such as use cases or functional specifications are likely to exist at this stage.
  • 8. • The domain experts present a so called “Walkthrough” in which the team members and the chief architect are informed of the high level description of the system. • The development team then discusses and decides upon the appropriate object models for each of the domain areas. • Simultaneously, an overall model shape is constructed for the system.
  • 9. Build a Featured List • The walkthroughs, object models and existing requirement documentation give a good basis for building a comprehensive features list for the system being developed. • In the list, the development team presents each of the client valued functions included in the system.
  • 10. • The major feature sets are further divided into feature sets. These represents different activities within specific domain areas. • The feature list is reviewed by the users and sponsors of the system for their validity and completeness.
  • 11. Plan by Feature • Planning by feature includes the creation of a high- level plan, in which the feature sets are sequenced according to their priority and dependencies and assigned to Chief Programmers. • Furthermore, the classes identified in the development of an overall model process are assigned to individual developers, i.e, class owners.
  • 12. Design by Feature and Build by Feature • A small group of features is selected from the feature set (s) and feature teams needed for developing the selected features are formed by the class owners. • The design by feature and build by feature processes are iterative procedures, during which the selected features are produced.
  • 13. • One iteration should take from a few days to a maximum of two weeks. • There can be multiple feature teams concurrently designing and building their own set of features. • This iterative process include such tasks as design inspection, coding, unit testing, integration and code inspection.
  • 14. • After a successful iteration, the completed features are promoted to the main build while the iteration of designing and building begins with a new group of features taken from the feature set.
  • 15.
  • 16. Roles and Responsibilities • The FDD classifies its roles into three categories: – Key Roles (6) – Supporting Roles (5) – Additional Roles (3)
  • 17. • The Six key roles in a FDD project are – Project Manager – Chief Architect – Development Manager – Chief Programmer – Class Owner & – Domain Expert.
  • 18. • The five supporting roles are – Release Manager – Language Lawyer/Language Guru – Build Engineer – Toolsmith & – System Administrator
  • 19. • The three further roles that are needed in any project are – Testers – Deployers & – Technical Writers
  • 20. • One team member can play multiple roles and a single role can be shared by several people.
  • 21. Project Manager • Project Manager is the administrative and financial leader of the project. • One of his tasks is to protect the project team from outside distractions and to enable the team to work along with providing it with appropriate working conditions.
  • 22. Chief Architect • The Chief Designer is responsible for the overall design of the system and running the workshop design sessions held with the team. • The Chief Architect also makes the final decisions on all design issues.
  • 23. Development Manager • The Development Manager leads daily development activities and solves any conflicts that may occur within the team. • In addition, this role includes the responsibility of solving resourcing problems.
  • 24. Chief Programmer • The Chief Programmer is an experienced developer, who participates in the requirements analysis and design of the projects. • The Chief Programmer is responsible for leading small teams in the analysis, design and development of new features.
  • 25. Class Owner • Class Owners work under the guidance of the Chief Programmer in the tasks of designing, coding, testing, and documenting. • He is responsible for the development of the class he has been assigned to be the owner of.
  • 26. Domain Expert • The Domain Expert may be a user, a client, a sponsor, a business analyst or a mixture of these. • His task is to possess the knowledge of how the different requirements for the system under development should perform. • Domain Experts pass this knowledge to the developers in order to ensure that the developers deliver a competent system.
  • 27. Domain Manager • Domain Manager leads the domain experts and resolves their differences of opinion concerning the requirements for the system.
  • 28. Release Manager • Release Manager controls the progress of the process by reviewing the progress reports of Chief Programmers and holding short progress meetings with them. • He reports the progress to the Project Manager.
  • 29. Language Lawyer/Language Guru • A Team Member responsible for possessing a thorough knowledge of, for example, a specific programming language or technology. • This role is particularly important when the project team is dealing with some new technology.
  • 30. Build Engineer • A person responsible for setting up, maintaining and running the build process, including the tasks of managing the version control system and publishing documentation.
  • 31. Toolsmith • Toolsmith is a role for building small tools for development, test and data conversion teams in the project. • Also a Toolsmith may be working with setting up and maintaining databases and Websites for project specific purposes.
  • 32. System Administrator • The task of a system administrator is to configure, to manage and to troubleshoot the servers, network of workstations and development and testing environments used by the project team. • The system administrator may be involved in the productionizing of the system being developed.
  • 33. Tester • Testers verify that the system being produced will meet the requirements of the customer. • May be an independent team or a part of the project team.
  • 34. Deployer • Deployers’ work is concerned with converting existing data to the format required by the new system and participating in the deployment of new releases. • May be an independent team or a part of the project team.
  • 35. Technical Writer • The user documentation is prepared by technical writers, who may form an independent team or be a part of the project team.
  • 36. Practices • Domain Object Modeling:- – Exploration and explanation of the domain of the problem. Results in a framework where the features are added • Developing by Feature:- – Developing and tracking the progress through a list of small functionally decomposed and client- valued functions.
  • 37. • Individual Class Ownership:- – Each class has a single person nominated to be the one responsible for the consistency, performance and conceptual integrity of the class. • Feature Teams:- – Refers to small, dynamically formed teams
  • 38. • Inspection:- – Refers to the use of the best-known defect-detection mechanisms. • Regular Builds:- – Refers to ensuring that there is always a running, demonstrable system available. Regular builds form the baseline to which new features are added.
  • 39. • Configuration Management:- – Enables the identification and historical tracking of the latest versions of each completed source code file. • Progress Reporting:- – Progress is reported based on complete work to all necessary organizational levels.