15. Agile introduction Flashcards

1
Q

Agile Charter

A
  • Authorize PM. Broad and high level (not specific)
  • Описывает: Who engaged, what is about, where, when start and end. Vision Statements, Team riles, Code of Conduct, Communication rules, DoD/Success factors.
  • Answers the questions: (1) Why are we doing the project (2) Who benefits and how (3) What does DONE mean for the project (4) How are we going to work together (non-colocated/colocated)
  • Often single page
  • Define success criteria
  • Team charter: Team values, Working agreements, Ground rules, Group norms, Servant leader принцип
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Agile Contracting

A

Procurement is always tricky in Agile. Обязательно обсуждать DoD, иначе попадешь в Gulf of Evaluation (имели в виду одно, получили другое)

  • Dynamic Systems Development Method (DSDM) contracting.
    Grew out of Rapid Application Development (RAD) Берет лучшее от RAD и Waterfall. DSDM Contracting - Creates a fixed schedule, cost and quality but follows agile framework
  • Graduated Fixed-Price Contract
    Both parties share some of the risk and reward. Если раньше закончит вендор - больше получит hourly rate и наоборот. Плюсы: focus on results, not hourly rate
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Agile Data Model

A
  • Screen Designs - избегаем разночтений между PO и Dev team
  • Wireframe - короткая диаграмма, скетч, о процессе. A quick mock-up of a product. Может содержать переход между экранами. Помогает clear understanding
  • User Personas - описывает несколько Key SH. Что хочет пользователь, biographical sketch, goal oriented. Focus on the users and who the users will be. Коротко, до 1 страницы. Focus on main usage. As <personal> I want <what?> so that <why?>.</personal>
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Agile Modeling

A

(?) Описание рабочего процесса или системы, которую команда может просмотреть, прежде чем превратить ее в код.

Общие тезисы

  • Defining data models determines the structure of data and is sometimes called a data structure.
  • Делать самыми простыми. Дополнительно к XP & Scrum frameworks. Сложно с большими распределенными командами.

XP & Modeling идут близко друг к другу:

  • Communication
  • Simplicity - лучше диаграмма, чем строчки кода
  • Feedback - посмотрели диаграму, дали быстрый фиитек
  • Courage - как говорить, так и делать изменения и пр. Safe environment
  • Humility - мы не можем всё знать и это ОК
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Agile Requirements Prioritization Model

A

Goal
* prioritized Backlog. Prior don’t change в течение iteration.

Общие statements и что нужно учитывать
* Value
* Cost - how much vs ROI
* Risk - riskiest req first
* Difficulty of implementation - safest first
* Success factors - high prob of success
* Regulatory compliance - laws and regulations
* Relationship to other requirements - linked to other requirements
* SH agreement - consensus on requirement
* Urgency - time-sensitive req

Simple prioritization - RAG
* .

Customer-Valued Prioritization
* .

MoSCoW Analysis
* An analysis used to help stakeholders understand the importance of each requirement delivered. MoSCoW is the acronym for Must have, Should have, Could have, and Would like to have.

Kano Analysis/Model
* An analysis of product development and customer satisfaction based on needs fulfilled/not fulfilled vs. satisfaction/dissatisfaction.
5 categories of Customer Preferences:
* Must-be quality - ignored when met, dissatisfied when not met
* One-dimensional quality - spoken attributes that are promises
* Attractive quality - nice-to-have fatures
* Indifferent quality - клиенту всё равно какой цвет выбрать
* Reverse quality - some customers will love, others will hate the feature

Dot Voting Or Multi Voting
* Все получают предопределенное кол-во dots. Можно класть на каждую features часть своих dots. Но нужно избегать большого кол-ва опций, убирать дубликаты, учитывать что люди следуют за толпой.

Monopoly Money
* Все получают деньги из монопологии в размере бюджета проекта. Каждый определяет во что вкладываемся

100-Point Method
* Каждый SH is alloted 100 points. Похоже на dots. Нужно определить public or private voting

Без названия
* От 1 до 9 шкала. Оценивается (?) benefit, penalty, cost and risk of every feature

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

Agile Project Performance

A

Общие сведения

  • PO responsible for monitor the progress of the project. At least once per Sprint Review
  • Sprint Performance измеряется на Daily Scrum. Используется для понимания достижения Sprint Goal. Плюс используется Sprint board

Monitoring and control прогресс спринта/проекта?

  • Kanban
  • Sprint goal

Дополнительные тулы для мониторинга

  • Information Radiator - big signboard (спидометры, диаграммы и пр.)
  • Features burnup/burndown charts - show that requirements grew during the project
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Agile Requirements

A

Workshops или Games

  • Remember the Future - 20мин написать репорт в будущем, как прошел проект. Все идеи раскидываются по доске. На выходе - define success
  • Prune The Product Tree - рисуем большое дерево. Ствол - что уже сделали. Ветки - что надо делать. Люди накидывают идеи, и чем ближе к стволу - тем более приоритетнее
  • Speed Boat Game - задаем вопрос “почему ветер дует - кто хочет что-то”, “что нас держит, останавливает”, “в каком направлении движемся”, “какие проблемы по пути”

Use Case Diagram.

  • How will the user use the solution. Use case diagram components include system, use case, actors, and relationships.

Coarse Grained Requirements

  • Не сильно погружаемся в детали implementation, until the last responsible moment
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Agile Sprint / Iterations

A

Продолжительность: Typically 2-4 weeks

Позволяет получить на выходе: iterations or increments. В случае с Increment - POTENTIALLY releasable part

Этапы:

  • Sprint Planning
  • Activities / Daily Scrum
  • Sprint Review (team делает, показывает demo)
  • Sprint Retrospective

Pre-sprint activities

  • Creating the vision statement
  • Creating the Product Roadmap
  • Developing the Product Backlog

Sprint planning:

  • одна или несколько встреч (8 hours in 4 weeks iteration)
  • Можно не ждать приоритезации всего backlog, начинать первый Sprint когда поймут что есть достаточно Stories в backlog
  • PO, Scrum Master, Dev team - встречаются. Dev выбирают сколько смогут сделать User Stories. Это становится Sprint Backlog, затем dev team estimates effort for stories - декомпозиция до Tasks (“post-its”?).
  • After Sprint Backlog, team drafts a Sprint Goal
  • Договариваемся что будет DoD
  • В итоге Sprint Backlog содержит следующие компоненты: (a) Sprint Goal, (b) Sprint Backlog (c) Detailed plan for turning stories into DONE Increment (d) Team capacity

Sprint Review / demo:

  • 4 hours for one-month Sprint
  • Возможность обсудить CR
  • Present and inspect the DONE items
  • PO смотрит ДО Scrum Review
  • Вся команда collaborates on Product Backlog

Sprint Retrospective

  • It is REQUIRED, can be skipped по решению team, но редко
  • 3 hours for one-month Sprint
  • Lessons learning, look for ways to process improvement

Особенности:

  • В начале проекта договариваемся о продолжительности спринта. Все спринты должны быть одинаковой продолжительности
  • Sprint backlog - не меняется после старта спринта. CHG заявляются только на Sprint review для следующего Sprint
  • Все должны договориться о Definition of Done (DoD)
  • PO can cancel a Sprint. Всё равно попадает на Sprint Review
  • Post-Its создаются как на этапе Sprint Planning, так и в течение Sprint
  • Декомпозиция: Product Backlog -> Sprint Backlog -> Task (smallest element)
  • Не после каждого инкремента мы делаем релиз. Это обсуждается PO с Key SH
  • SH привлекаются на Sprint Review, но не на leassons learned
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Agile Team

A

Состав:
* PO (one person, or committee with one representative) Represents the business.. Measures the performance of project, forecast completion date. Not even the CEO should try to override decision of the PO (!). Works to engage SH about requirements.
* Scrum Master (coach, проверяет следование процессу, учит организацию в т.ч.). Help PO со всякими фасилитациями. SM может быть среди dev team, но НЕ рекомендуется. Выступает щитом для команды, до Sprint Review. Keep SH в курсе. Может адресовать вопросы к PO Func manager, и при необходимости - обсуждать проблемы на Sprint Retrospective.
* Dev Team
* (not part of the team) Stakeholders and Users

Правила:
* Dev team отвечает , а не каждый отдельный мембер (!)
* Нет роли PM! Распределена среди других ролей
* Self-organized and self-led
* Cross-Func team
* Servant leadership
* В идеале 3-9 человек
* В идеале 100% dedication
* В идеале 33 feet of each other, no physical barrier
* Encourage Emergent Leadership. Anyone can be a leader. Allow team members to take charge. Avoid zero sum rewards

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

Agile Team Self Assessments Scoring Model

A
  • Thinking
  • Collaborating
  • Releasing
  • Planning
  • Developing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Agile terms

A
  • Agile Industrial vs Knowledge Work projects agile best suited for SW development projects. Knowledge: invisible, Autonomy driven, Innovative, High-Uncertainity work, Empirical Processess
  • Agile Smells Symptoms of problems that affect Agile teams and projects.
  • Architectural Spikes - рано в проекте - тестируем environment, проверяем proof of concept. Чтоб в будущем не строить продукт на кривой архитектуре. It should always take LESS TIME than a Sprint.
  • Burn Rate The rate of resources consumed by the team; also cost per iteration.
  • CARVER An acronym to measure the goals and mission of the project with each letter meaning: Criticality, Accessibility, Return, Vulnerability, Effect, and Recognizability.
  • Cumulative Flow Diagram A chart that displays feature backlog, work-in-progress, and completed features.
  • DEEP The qualities of a product backlog include: detailed, estimate-able, emergent, and prioritized.
  • Emergent Stories that grow and change over time as other stories reach completion in the backlog.
  • Empiricism - knowledge come from experieence
  • Epic - большая User-Story, распределенная на несколько Спринтов
  • Feature anttibutes of the product
  • Five Whys The root causes analysis technique that asks WHY five times. The problem is looked into deeper each time WHY is asked. Toyota developed this technique.
  • Four themes to manage - There are four themes to manage when setting up large agile projects: people, product, project, and process.
  • Intrinsic Schedule Flaw Poor estimation occurs at the beginning of the iteration
  • Iteration H Iteration used to prepare the launch of software and to test software. Wrapping thins up
  • Iteration 0 Iteration to complete tasks before the development work occurs, for technical and architectural spikes, and to gather requirements into the backlog. Например установка системы управления релизами (что тоже должно быть частью Product Backlog). Но НЕ СУЩЕСТВУЕТ ПОНЯТИЯ “Sprint Zero” (как понимать?)
  • Lagging metrics - измерение past experience (в отличие от Leading metrics, где мы смотрим в будущее)
  • Little’s Law by limiting WIP teams complete work faster (концентрация на минимальном кол-ве задач)
  • Low Tech and High Touch Solutions - используется в Agile. Это лучше high-tech сложных решений
  • Minimal Marketing Feature (MMF) = MVP
  • Scrum of Scrums - для оч больших проектов, daily встреча скрам мастеров
  • Post-its - tasks created by breaking down each user story.
  • Project tweet (elevator statement) - на проект или итерацию пишется с SH, очень короткое описание, что хотим получить на выходе. Помогает быть involved
  • Risk-based spike - fail early, fail often. Проверяем риск , чтоб дальше не натыкаться на это
  • Silo Work that is isolated.
  • Swarming When the team collaborates to focus on a single user story.
  • Two-way Communication: (1) Dispatching model - top down communication (2) Collaborative model - interactive communication between sender and receiver
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Agile User Story

A

Общие принципы

  • small chunk of business func, ~1-3 days work (20 hours of work, 24 max). All in the Product Backlog
  • Porential stories = candidate
  • Format: Given (что делаю), When (action конкретный), Then (result)
  • Дополнительно: детали - обсуждаются в conversation. Подтверждение внедрения - на Sprint Review.

Effective user stories follow INVEST:

  • Independent
  • Negotiable - доступны к обсуждению командой (что-то поменять и пр.)
  • Valuable - иметь смысл
  • Estimate - доступны к оценке
  • Small - 4 to 40 hours of work
  • Testable - можно протестировать на соответствие DoD

Three C’s of user stories:

Card, Conversation, Confirmation

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

Agile Value-Based Analysis

A
  • Assessing and prioritizing the business value of work by subtracting the cost from the benefit.
  • Answers how often the item will generate business value.
  • Пример: Бенефит: 8000, Косты 5500, Value = 2500
  • Анализируем это + возможно что перед внедрением revenue-generating фишек надо внедрить что-то другое
  • Value-based decomposition includes requirements elicitation, grouping of like features, breaking down of features, ranking of requirements, and prioritization of requirements into development.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Agile Verification and Validation

A

Обычные виды тестирования:

  • Unit Testing - test of smallest testable portion of app code
  • Acceptance Testing - determine acceptability of results: конкретные требования/спека/требования контракта
  • Exploratory Testing - тестировщик пробует discover issues and unexpected behavior. Спонтанные эксперименты. Ответственный - тестер, не скрипт. On the fly.

User-Centered Interaction Design

  • Usability Testing - (a) как юзер отреагирует under realistic condition? (b) How easy is to use the system, как улучшить
  • Hallway testing - показываем рандомным людям попробовать
  • Expert review - нанимаем экспертов протестировать
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Continuous Integration (System)

A

Цель:

  • Храним и управляем кодом и поставками.

Плюсы:

  • Быстрый фитбек, помогает найти конфликт и несовместимый код - в этом польза frequent поставок и синхронизаций.

Минусы:

  • долго устанавливать, поэтому делается в Iteration 0, стоимость отдельного сервера

Что делает

  • Source code control system - version control
  • Build tools - тулы для компилирования
  • Test tools
  • Scheduler or trigger - builds are launched on a schedule or based on conditions
  • Notifications - an email or instant msg reporting on the resulsts of a build
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Empirical Processess

A

Used in Agile

17
Q

Estimation of stories

A

Подходы к голосованию

  • Simple Voting - team votes for/against the idea
  • Thumbs Up, Down or Sideways
  • Fist of Five Voting: пальцами от 1 до 5. If a team member holds up less than THREE fingers, they are allowed to share their objections
  • Highsmith Decision Spectrum: in favor / ok with reservation / mixed feelings / not in favor, but will commit / veto. It allows people to indicate support for a decision and air their reservations at the same time
18
Q

Nine Keys of Great Agile Projects

A
  1. Business people and devs must work together daily throughout the project
  2. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done
  3. The most efficient and effective method of conveying info to and within a dev team is face-2-face conversation
  4. Working software is the primary measure of progress
  5. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  6. Continuous attention to technical excellence and good design enhances agility
  7. Simplicity - the art of maximizing the amount of work not done - is essential
  8. The best architectures, requirements, and designs emerge from self-organizing teams
  9. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
19
Q

Product Roadmap and Release Planning

A

Product Roadmap

  • Vision depiction of where we can have releases
  • High-level picture

Release Planning meeting:

  • Присутсвуют все/key SH
  • Цель: какие стори в какой итерации/релиз будут выпускаться
  • Определяет соответствие будущих итераций будущим релизам
  • Access the backlog -> review story sizing -> sort the stories -> define the outline -> slice the stories as needed

Release Product

  • Не каждый increment or iteration создают релиз
20
Q

Test-Driven Development (TDD)

A

Three activities are interwoven: testing, design, and coding.

  • Также называется Red-Green-Clean: (a) create a unit tests that fails (b) Create code that passes test (c) Clean up the code
  • Test are written before the code is written.
  • Разрабы пишут код с чёткой целью пройти тесты
  • Плюсы: ранние тесты помогают выявить дефеты рано

Подвид?
Acceptance test-driven development

  • Workflow: Discuss requirements > distill test framework > develop code and run test > demo
  • In the first cycle of acceptance test-driven development, you discuss the requirements – developers as the product owner questions that are designed to gather acceptance criteria.
21
Q

Types of Life Cycles

A

Predictive:

  • Requirements: fixed
  • Activities performed: once
  • Delivery: single, LOW frequency
  • Changes: LOW degree
  • Дополнительно: одна из основных целей - manage cost

Agile (в целом)

  • Requirements: dynamic
  • Activities performed: repeated until correct
  • Delivery: small FREQUENT deliveries
  • Changes: HIGH degree
  • Дополнительно: goal is customer value via feedback

Agile Iterative

  • Requirements: dynamic
  • Activities performed: repeated until correct
  • Delivery: SINGLE at the end of the projects, possibility to correctness of solution (например лекарство выпускаем)
  • Changes: LOW degree

Agile Incremental

  • Requirements: dynamic
  • Activities performed: ONCE PER INCREMENT
  • Delivery: small FREQUENT deliveries
  • Changes: HIGH degree
  • Дополнительно: упор - SPEED. Opportunity for an early ROI. Разделяем систему на мини-проекты, берем в работу самые приоритетные, когда что-то на бою - не можем изменять (возвращается в Product Backlog).
    Плюсы: быстро фитбек клиента, возможность быстрого выявления дефентов, быстрее деливери.
22
Q

Self-organizing / Self-directing team

A

Self-organizing team
* Not command and control
* Uses their own knowledge to organize work
* Responsibility delegated to the team

Self-directing teams
* Empowered to work collectively
* Make local decisions
* Estimate and decide the project work
* Make mistakes but learn from mistakes.

23
Q

Agile Lead Time, Cycle Time, Defect Cycle Time

A
  • Lead Time - how long something takes to go through the entire process (например от дизайна концепта до доставки)
  • Cycle Time - подмножество of lead time - как долго занимает часть процесса
  • Project Cycle Time - cycle time for the entire project (что имеется в виду?)
  • Defect Cycle Time - время от обнаружения до фикса. Чем дольше не исправляем, тем дороже стоим
24
Q

Agile Setting the Stage for a Retrospective

A

Организация встречи
* Encourage participation
* Set the ground rules
* Define what people want from the retro
* Have people checking in with one or two words
* Ask the team to commit to focus
* Explorer shopper/vacationer/prisoner
* Working agreements for the retro

Затем Gather Data in the Retro
* .

Methods For Gathering Data
* Triple nickels - groups spending five minutes on 5 ideas 5 times
* Color-coded dots - used color-coded dots to track your energy was high and low throughout the duration
* Mad, sad, or glad - track emotions throughout the timeline
* Satisfaction histogram - a bar chart showing satis about particular areas or issues
* Team Radar - an assessment of performance improvement
* Locates strengths - what went well or not well, in the iteration
* Like to like - compares reactions to different iteration events
* Five Whys - спросить 5 раз. Ищем root cause. Дальше можно Fishbone / Ишикава диаграмму

Decide What To Do
* Create an action plan
* Short subject - keep, drop, add
* Smart goals
* Circle of questions - каждый спрашивает задает вопрос, как исправить конкретную проблему, следующий по очереди - отвечает
* Retrospective planning gave - how to reach process improvement goals

Close the Retro
* Plus / delta - what to do more of and what to do less of
* Help, hindered, hypotheses - feedback on the retrospective
* Return on time invested - the team discuss the benefits of the retrospective and gives a great
* Appreciation - the team gives appreciation to other team members based on efforts from the last iteration

25
Q

Scrum Pillars - Transparency, Inspection, and Adaptation (TIA)

A

Transparency
By transparency, we mean that everyone in the agile team should have a clear understanding of the Scrum goals and their individual roles and responsibilities.

Inspection
example is when the Scrum team shows the progress of the product outcome to the customer (client) at the end of each sprint to get their feedback. When there are changes proposed by the customer or the stakeholder, the team adapts to these changes until they all agree with the final product.

Adaptation
Unlike the waterfall process model wherein changes and adjustments are really difficult to make, the Scrum framework is widely used by many organisations because of its adaptability. Of course, adaptation is not possible without the first two pillars. It is only when the team practices transparent workflow and inspection can they figure out whether things have to be adjusted or changed.

26
Q

Boundary Authority Role Task (BART) analysis

A

A BART analysis evaluates four dimensions of team dynamics: boundary, authority, role, and task analysis. Agile coach Dan Mezick (Mezick, 2009) applied BART to Scrum.
Одна из рекомендаций: it is necessary to identify the BART between all of the project components, deliverables and teams.