Skip to main content

SCRUM: A BREATHTAKING BRIEF AND AGILE INTRODUCTION - book summary

---

# book summary

Title: 'SCRUM: A BREATHTAKING BRIEF AND AGILE INTRODUCTION'

Authors:
  - Chris Sims
  - Hillary Louise Johnson

Scrum Definition: >
  Is a framework designed to help small teams of people develop complex products,
  the framework is not technical and can easily adapt the tools and practices to
  other industries.

more: >
  A Scrum team typically consists of seven (+-2) people who work together in short,
  sustainable bursts of activity called sprints, one of the mantras of scrum are
  “inspect and adapt” both the process and product.

# chapter 1: Roles
Roles:
  - Product-Owner
  - Scrum-Master
  - Team-Member

Product-Owner::responsibilities:
  - looks at ROI (product vision)
  - controls priority of work
  - responsible for user stories (business interests, customer, acceptance criteria, answer questions)

Scrum-Master::responsibilities:
  - facilitator (between team and stockholder)
  - team impediment resolver

Team-Member::responsibilities:
  - provides estimates
  - completes user stories

Team-size-significance:
  - few: fewer skills to finish the job
  - more: communication overhead

# Chapter 2: Artifacts
Scrum-Artifacts (tools):
  - Product Backlog: Todo List of prioritized work items or user stories (e.g. features, bugs, doc etc)

Sprint-Backlog:
  - todo list (current sprint)

Story:
  - team deliverable unit
  - contains one or more task.
  - user (customer or owner to who the story will benefit)
  - description
  - value
  - estimate (size)
  - acceptance criteria (how to know that it was implemented correctly)

Task: 
  - person deliverable unit

BurnCharts: 
  - represents time(x-axis) and scope(y-axis), i.e. scope reduces with time.

Task-Board:
  - visible to all
  - contains todo, doing, done items
  - helps team and stakeholders see progress

Done-Definition: Team should define the definition to avoid confusion (code complete is not done may require other tasks like testing and releasing etc)

# chapter 3: Cycles
Sprint-Cycle-Meetings:
  - Sprint-Planning  (2 hrs)
  - Daily-Scrum       (15 mins)
  - Story-Time         (1 hr)
  - Sprint-Review     (30 mins)
  - Retrospective     (90 mins)

Sprint-Planning:
  - commit to stories and tasks

Daily-Scrum:
  - tasks completed
  - task expect to complete
  - any obstacles
  - problems are solved out site the meeting

Story-Time: discuss and improve product backlog

Sprint-Review:
  - show accomplishments to all including stakeholders
  - highlight any work not done
  - feedback

Retrospective:
  - what went well
  - what did not go well?

Frequent-demo: inspect and feedback

Notes:
  - Terminating a sprint halfway is a business decision.

Comments

Popular posts from this blog

JPA 2 new feature @ElementCollection explained

@ElementCollection is new annotation introduced in JPA 2.0, This will help us get rid of One-Many and Many-One shitty syntax. Example 1: Stores list of Strings in an Entity @Entity public class Users implements Serializable {     private static final long serialVersionUID = 1L;     @Id     @GeneratedValue(strategy = GenerationType.AUTO)     private Long id;     @ElementCollection     private List<String> certifications = new ArrayList <String> ();     public Long getId() {         return id;     }     public void setId(Long id) {         this.id = id;     }     public List <String> getCertifications() {         return certifications;     }     pub...

Access multiple Databases in JPA

According to JPA specification we can define multiple "persistence-unit" elements (i.e. like below) in persistence.xml file and can easily refer them inside Dao layers as this. public class PolarDaoImpl {     @PersistenceContext(unitName="PolarPU")     protected EntityManager entityManager; -- } public class BearDaoImpl {     @PersistenceContext(unitName="BearPU")     protected EntityManager entityManager; -- } Checkout sample persistence.xml <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">     <!-- Database 1 -->     <persistence-unit name="PolarPU" transaction-type="RESOURCE_LOCAL">        ...

Validating CSV Files

What is CsvValidator ?   A Java framework which validates any CSV files something similar to XML validation using XSD. Why should I use this ?   You don't have to use this and in fact its easy to write something your own and also checkout its source code for reference. Why did I write this ?   Some of our projects integrate with third party application which exchanges information in CSV files so I thought of writing a generic validator which can be hooked in multiple projects or can be used by QA for integration testing. What is the license clause ?   GNU GPL v2 Are there any JUnit test cases for me checkout ?  Yes,  source How to integrate in my existing project ? Just add the Jar which can be downloaded from here  CsvValidator.jar  and you are good. Instantiate  CsvValidator c onstructor which takes these 3 arguements          // filename is the the file to be validated and here ...