Lesson 3 - Agile development and agile process models (video, ch 5) Flashcards

1
Q
  • It is difficult to predict in advance which requirements or customer, priorities will change and which will not
  • for many types of s/w design and construction activities are interleaved (construction is used to prove the design)
  • analysis, design, and testing are not as predictable from a planning perspective as one might like them to be
A

Key assumptions associated with agile development

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

Agility principles

highest priority is to satisfy customer through _____ and _____ delivery of valuable software

A

early and continuous

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

Agility principles

welcome changing _____ even late in development, accommodating change is viewed as increasing the customer’s competitive advantage

A

requirements

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

Agility principles

delivering working s/w _____ with a preference for shorter delivery schedules (e.g. every 2 or 3 weeks)

A

frequently

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

Agility principles

business people and developers must __________ daily during the project

A

work together

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

Agility principles

build projects around _____ individuals, given them the environment and support they need, trust them to get the job done

A

motivated

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

Agility principles

face-to-face communication is the most _____ method of conveying information within the development team

A

effective

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

agility principles

working s/w is the primary _____ of progress

A

measure

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

agility principles

agile process support sustainable development, developers and customers should be able to _____ development indefinitely

A

continue

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

agility principles

continuous attention to technical excellence and good design enhances _____

A

agility

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

agility principles

simplicity (defined as _____ the work not done) is essential

A

maximizing

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

agility principles

the best architectures, requirements, and design emerge from __________ teams

A

self-organizing

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

agility principles

at regular intervals teams reflects how to become more effective and _____ its behavior accordingly

A

adjusts

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

Extreme programming (XP), Scrum, dynamic systems development method (DSDM), agile modeling (AM), agile unified process (AUP)

A

Agile Process Models

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  • relies on object-oriented approach
  • values
    • communication (informal between developers and stakeholders)
    • simplicity (design for cuurent needs, not future)
    • feedback
    • courage (design for today not tomorrow)
    • respect (stakeholders and tm mbrs for the s/w product)
  • Key activites
    • planning (user stories/ordered by customer values)
    • design (simple design)
    • coding (continuous integration and smoke testing)
    • testing (unit tests created before coding are implemented using automated testing framework…)
A

Extreme Programming

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
  • Scrum principles
    • Small working team used to maximize communication, minimize overhead, and maximize sharing of informal knowledge
    • Process must be adaptable to both technical and business challenges to ensure bets product produced
    • Process yields frequent increments that can be inspected, adjusted, tested, documented and built on
    • Development work and people performing it are partitioned into clean, low coupling partitions
    • Testing and documentation is performed as the product is built
    • Provides the ability to declare the product done whenever required
  • Process patterns defining development activities
    • Backlog (prioritized list of requirements or features the provide business value to customer, items can be added at any time)
    • Sprints (work units required to achieve one of the backlog items, must fir into a predefined time-box, affected backlog items frozen)
    • Scrum meetings (15 minute daily meetings)
  • – What was done since last meeting?
  • – What obstacles were encountered?
  • – What will be done by the next meeting?
    • Demos (deliver software increment to customer for evaluation)
A

Scrum

17
Q
  • Provides a framework for building and maintaining systems which meet tight time constraints using incremental prototyping in a controlled environment
  • Uses Pareto principle (80% of project can be delivered in 20% required to deliver the entire project)
  • Each increment only delivers enough functionality to move to the next increment
  • Uses time boxes to fix time and resources to determine how much functionality will be delivered in each increment
  • Guiding principles
    • Active user involvement
    • Teams empowered to make decisions
    • Fitness foe business purpose is criterion for deliverable acceptance
    • Iterative and incremental develop needed to converge on accurate business solution
    • All changes made during development are reversible
    • Requirements are baselined at a high level
    • Testing integrates throughout life-cycle
    • Collaborative and cooperative approach between stakeholders
  • Life cycle activities
    • Feasibility study (establishes requirements and constraints)
    • Business study (establishes functional and information requirements needed to provide business value)
    • Functional model iteration (produces set of incremental prototypes to demonstrate functionality to customer)
    • Design and build iteration (revisits prototypes to ensure they provide business value for end users, may occur concurrently with functional model iteration)
    • Implementation (latest iteration placed in operational environment)
A

Dynamic Systems Development Method

18
Q
  • Practice-based methodology for effective modeling and documentation of software systems in a light-weight manner
  • Modeling principles
    • Model with a purpose
    • Use multiple models
    • Travel light (only keep models with long-term value)
    • Content is more important than representation
    • Know the models and tools you use to create them
    • Adapt locally
  • Requirements gathering and analysis modeling
    • Work collaboratively to find out what customer wants to do
    • Once requirements model is built collaborative analysis modeling continues with the customer
  • Architectural modeling
    • Derives preliminary architecture from analysis model
    • Architectural model mist be realistic for the environment and must be understandable by developers
A

Agile Modeling

19
Q
  • Adopts classic UP phased activities (inception, elaboration, construction, transition) to enable team to visualize overall software project flow
  • Within each activity team iterates to achieve agility and delivers meaningful software increments to end-users as rapidly as possible
  • Each AUP iteration addresses
    • Modeling (UML representations of business and problem domains)
    • Implementation (models translated into source code)
    • Testing (uncover errors and ensure source code meets requirements)
    • Deployment (software increment delivery and acquiring feedback)
    • Configuration and project management (change management, risk management, persistent work product control)
    • Environment management (standards, tools, technology)
A

Agile Unified Process