Agile Processes and Methods Flashcards

1
Q

What is Feature Driven Development?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Who invented Feature Driven Development?

A

Jeff De Luca (IT Strategist) and Peter Coad (Computer Scientist and modeling expert) in 1997.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the definition of a feature?

A

A small client-valued function.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What Agile Manifesto Principle is connected to features?

A

Principle 1: The highest priority is to satisfy the customer through early and continuous delivery of valuable software.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Value depends on the customer. What are the five common types customer values FDD can support?

A

*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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the six key roles in FDD?

A

*Project Manager
*Chief Programmer
*Domain Experts/SMEs
*Chief Architect
*Development Manager
*Class Owners

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the role of Project Manager in FDD?

A

Administrative head of the project that manages:
* Reporting
*Budgets
*Headcount
*Equipment
*Space
*Resources

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the role of the Domain Expert / SMEs in FDD?

A

They are typically users, clients, sponsors and or business analysts that have a knowledge base that guides development.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is the role of Chief Architect in FDD?

A

The Chief Architect is responsible for the overall design of the system, runs design workshops, and steers the project through technical obstacles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the role of the Development Manager in FDD?

A

The Development Manager leads the day-to-day activities and facilitates conflict resolution. It is often combined with the PM or Chief Architect role.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the role of the class owner in FDD?

A

Under the Chief Programmers, the class owners are individual developers who work on small teams to design, implement, test and document features.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the role of the chief programmers in FDD?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are the five FDD processes (overall model)

A

Project Wide
*Develop overall model
* Build Feature List
* Plan by feature

Per Feature Construction
*Design by Feature
*Build by Feature

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is typically involved in the project-wide activity “Develop Overall Model”

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Project Domain Modelling includes these two main parts to help shape the project scope.

A

*A common glossary (non-technical business language)
*Object Diagrams that models relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Objects for Domain Modelling typically include these four categories.

A

*Physical items
*People roles or organizations
*Places
*Core Concepts

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is part of the project-wide activity “Build Feature List”

A

*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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Describe the FDD Hierarchy format.

A

*Each FDD project has domains.
*Each Domain has subject areas.
*Each subject area has feature list.
*Each feature list has features.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What is involved in the project-wide activity of “Plan by Feature”

A

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.

20
Q

What is feature sizing?

A

A feature should be small enough for a customer to describe that can be delivered in 1 to 3 days (maximum 10 days).

21
Q

Describe Design by Feature in the FDD process.

A

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.

22
Q

Describe the Build by Feature in FDD.

A

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.

23
Q

What is Minimal Marketable Feature (according to the agile alliance)

A

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.

24
Q

What is Frequent Verification and Validation?

A

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.

25
Q

What is the goal of testing in agile methodologies?

A

To automate as many tests as possible, so that we can test more frequently and at a lower cost.

26
Q

What is the focus of testing?

A

Common testing focuses on:
*Exploratory or “search and destroy” testing to discover issues and unexpected behaviours.
*Usability testing to diagnose the ease to use the solution or system to help identify areas of redesign or change.

27
Q

What is Test Driven Development (TDD)?

A

TDD is a style of programming that interweaves these three activities:
*Coding (implementing functionality)
*Testing
*Design (in the form of refactoring)

28
Q

What are the benefits of TDD?

A

TDD helps to reduce:
*Defect rates (with a moderate increase in initial development effort)
*Efforts in project final phases (offset by initial development effort)
*Code dependencies and coupling thereby improving design qualities in the code.

29
Q

What are the main TDD process steps?

A

*Write the automated tests before developing code.
*Run the initial test. It should fail, a red status, indicating the code is not ready.
*Begin Programming. Code will continue to fail until it is read.
*Continue to make code rewrites until code passes (Green status). Restart for new functionality.
*Will all tests passed, refactor and clean up the code (Clear status).

30
Q

Define Dynamic Systems Development Method (DSDM).

A

According to the Agile Business Consortium, DSDM is:
*A vendor independent model that covers the entire lifecycle of a project.
*Provides the best practice guidance for on-time, in-budget delivery.
*has proven scalability to address projects of all sizes and for any business sector.

31
Q

What is the DSDM Philosophy?

A

Best business value emerges when projects are
*Aligned to clear business goals
*Deliver frequently
*Involve collaboration of motivated and empowered people.

32
Q

What are the eight DSDM principles?

A

*Focus on the business need.
*Never compromise quality
*Deliver on time.
*Build Incrementally from firm foundations.
*Collaborate
*Develop Iteratively
*Communicate continuously and clearly.
*Demonstrate control (usually through a plan aligned with clear business objectives).

33
Q

What are the three DSDM role categories?

A

*Project Level
*Solutions Level
*Supporting

34
Q

Which roles are part of the Project Level in DSDM?

A

*Business Sponsor: Most senior, project champion. Responsible for the business case and project budget.
*Business Visionary: Senior project level role, interprets the needs of the business sponsor and communicates to the team.
*Business Analyst: facilitates the relationship between the business and technical roles, ensures accurate and appropriate decision making and ensures business needs are properly modeled.
*Technical Coordinator: ensures that the solution and technical roles work together consistently, ensures project is coherent and meets technical standards.
*Project Manager: Manages the work environment, coordinates all management of the project at a high-level and leaves the detailed planning of the actual delivery of the project to the members of the solution development team.

35
Q

What are the solutions development roles in DSDM?

A

*Business Ambassador: Represents business needs on the development team.
*Solution Tester: Empowered solution development role. Performs testing in accordance with the strategy.
*Solution Developer: Interprets business requirements and translates them into a solution.
*Team Leader: Acts as the servant leader to ensure the team functions and meets their objectives. (leadership not management - is elected).

36
Q

What are the supporting roles in DSDM?

A

*Business Advisor: provides specific and specialist input to solution development. May be legal or regulatory advice.
*Technical Advisor: Provides specific technical guidance/input.
*Workshop Facilitator: Manages workshop process, organizes and facilitates sessions to achieve workshop objectives.
*DSDM Coach: ideally certified, supports team members to get the most out of DSDM.

37
Q

What are the three phase of DSDM Processes?

A

*Pre-Project
*Project
*Post-Project

Note: Each phase is a collection of Feasibility, Foundations, Evolutionary Development, and Deployment.

38
Q

What is “Agile Modelling”

A

Agile Modeling is an practiced based methodology for effective documentation of software-based systems. It was developed by Scott Ambler in 2000 (originally called Extreme Modelling).

39
Q

What are the five core values of Agile Modelling?

A

*Courage: to make important decisions and changing direction.
*Communication
*Simplicity: Models are critical for simplifying software and the software process.
*Humility: to recognize you don’t know everything.
*Feedback: quickly gain feedback through diagrams.

40
Q

What is Agile Unified Process (AUP)

A

AUP is a simple, easy to understand approach to developing business application software using agile techniques and concepts. Invented by Scott Ambler, it is a simplified version of IBM’s Rational Unified Process.

41
Q

What are the four phases of AUP?

A

*Inception: identify scope, potential architecture of the system, and to obtain acceptance and funding.
*Elaboration: prove the architecture of the system.
*Construction: build software on an incremental basis that meets the highest priority needs.
*Transition: validate and deploy into the production environment.

42
Q

What are the seven disciplines of AUP?

A

*Model: understand the business, understand the problem, and identify a viable solution.
*Implementation: transform into executable code and perform basic testing.
*Test: perform objective evaluation.
*Deployment: plan for the delivery of the system and execute the plan.
*Configuration management: to manage access to project artifacts.
*Project Management: direct activities of the project, including managing risks, directing people and coordinating with people and systems.
*Environment: to support the effort through proper process, guidance, tools and infrastructure.

43
Q

Define Crystal Methods?

A

Defined by Alistair Cockburn, Crystal Methods catalogue what teams do to deliver successful projects. Crystal Methods are:
*Human Powered
*Adaptive
*Ultra-Light
*Stretch to fit.

44
Q

What are the seven common properties of Crystal Methods?

A

*Frequent Delivery
*Reflective Improvement.
*Close or Osmotic Communication.
*Personal Safety
*Focus
*Easy Access to expert users.
*Technical environment.

45
Q
A