Agile Processes and Methods Flashcards
What is Feature Driven Development?
It is for mainly software development, and it is an iterative, incremental and lightweight process, designed to deliver tangible, working solutions in a repetitive and timely manner.
Who invented Feature Driven Development?
Jeff De Luca (IT Strategist) and Peter Coad (Computer Scientist and modeling expert) in 1997.
What is the definition of a feature?
A small client-valued function.
What Agile Manifesto Principle is connected to features?
Principle 1: The highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Value depends on the customer. What are the five common types customer values FDD can support?
- Monetary (e.g., increased revenue, sales or ROI)
- Competitive (e.g., distinguish products from competitors).
- Compliance (e.g., satisfy mandatory regulations to allow products to be used)
- Risk (e.g., mitigation of risk)
- Satisfaction (e.g., increasing employee or end user satisfaction)
What are the six key roles in FDD?
*Project Manager
*Chief Programmer
*Domain Experts/SMEs
*Chief Architect
*Development Manager
*Class Owners
What is the role of Project Manager in FDD?
Administrative head of the project that manages:
* Reporting
*Budgets
*Headcount
*Equipment
*Space
*Resources
What is the role of the Domain Expert / SMEs in FDD?
They are typically users, clients, sponsors and or business analysts that have a knowledge base that guides development.
What is the role of Chief Architect in FDD?
The Chief Architect is responsible for the overall design of the system, runs design workshops, and steers the project through technical obstacles.
What is the role of the Development Manager in FDD?
The Development Manager leads the day-to-day activities and facilitates conflict resolution. It is often combined with the PM or Chief Architect role.
What is the role of the class owner in FDD?
Under the Chief Programmers, the class owners are individual developers who work on small teams to design, implement, test and document features.
What is the role of the chief programmers in FDD?
Chief programmers are experienced developers who have been through the design process. They participate in the high-level requirements analysis and design activities. They lead the small teams of developers through low-level analysis, design and development of the new functionality.
What are the five FDD processes (overall model)
Project Wide (at Start up)
*Develop overall model
* Build Feature List
* Plan by feature
Per Feature (Construction)
*Design by Feature
*Build by Feature
What is typically involved in the project-wide activity “Develop Overall Model”
The Domain Experts, Chief Programmers, Development Staff and Chief Architect organize and conduct high-level workshops to walk through the system scope and context.
*These workshops will result in the development of a domain model for each system domain.
*Domain models are peer reviewed and progressively merged into the overall model for the FDD.
Project Domain Modelling includes these two main parts to help shape the project scope.
*A common glossary (non-technical business language)
*Object Diagrams that models relationships.
Objects for Domain Modelling typically include these four categories.
- Physical items
- People roles or organizations
- Places
- Core Concepts
What is part of the project-wide activity “Build Feature List”
*Identify requirement-supporting features
*Decompose the overall model into subject areas.
Note: Feature Lists represent the unique system features that form the basis for feature list prioritization.
Describe the FDD Hierarchy format.
*Each FDD project has domains.
*Each Domain has subject areas.
*Each subject area has feature list.
*Each feature list has features.
What is involved in the project-wide activity of “Plan by Feature”
The goal is to develop a project management plan. This will be the order for implementing the features that includes the feature dependencies, load across the development team and also feature complexity.
The plan will have class owners who are assigned feature ownerships and completion dates based on feature sizing.
What is feature sizing?
A feature should be small enough for a customer to describe that can be delivered in 1 to 3 days (maximum 10 days).
Describe Design by Feature in the FDD process.
Design by Feature is a per-feature activity that produces feature designs within a two week period.
*Chief programmers and Class Owners work out the detailed sequence diagrams for each feature.
*Development teams create technical diagrams as part of each feature design package.
*Create feature design packages are reviewed and approved through design inspection.
Describe the Build by Feature in FDD.
Build by feature is a per-feature activity to produce a completed client-valued function (feature).
The class owners start with the design package and implement the items necessary to support the feature design.
Developed features are then tested and released.
What is Minimal Marketable Feature (according to the agile alliance)
A MMF is a small, self-contained feature that can be developed quickly and that delivers significant value to the user. Key parts are:
*Addressing an essential user need.
*Providing the minimal amount of functionality.
*Can be marketed and sold successfully.
What is Frequent Verification and Validation?
Frequent Verification and Validation uses testing, checkpoints and reviews over a period from seconds to months that supports the verified code for the high-level release plan.