SWE II: SCRUM Flashcards
Software + Engineering
Software: the invisible language that whispers stories of possibility to the hardware
Engineering: “Creative application of scientific principles to design, develop, machines, structurs, processes, or work utilizing them singly or in combination.
- Design: intentional solution to a problem given its contraints
- Construction: planning, monitoring, controlling the activities to achieve a solution, + tools and techniques
- for SW:
- Effort estimation
- planning development and release
- day-by-day practices
- customer relationship
- quality assurance
- acquisition
- for SW:
- Operation: conduction of the solution and adaptation, within its limits
Agile manifesto - values
Individuals and interatction > processes and tools
Working software > comprehensive documentation
Customer collaboration > contract negotiation
Responding to change > following a plan
In practice:
- tight collaboration between developers and stakeholders over the entire duration of the project.
- self-organizing teams
- SCRUM is the most used methodology today, Kanban and eXtreme Programming are less in vogue
SCRUM
- User stories
- estimation
- planning
- tight feedback loops
- reflection
Software Quality
Quality is a key component in any engineering practice.
In SWE:
- SW analytics allow measuring and controlling SW projects
- Code smells indicate possible problems
- Technical debt
SCRUM def.
An ordered formation of players used to restart play in rugby.
Also a team-based framework to develop complex systems and products.
Why SCRUM?
- Old sequential approach doesn’t work in today’s fast-paced, competive world => speed and flexibility are essential.
- Using a holistic method seems to work better (from rugby), with 6 characteristics
- instability is factored in
- self-organizing project teams
- overlapping development phases
- “multi-learning”
- subtle control
- organizational transfer of learning
- The above allow to have a fast and flexible process.
- As a new approach can act as a change event to introduce creative (market-driven) ideas and processes into an old, rigid org.
Agile Development Principles
- Test as you go
- Deliver product early on and often, and work on the feedback given
- Document as you go, only as required
- Build cross-functional teams
Theoretical foundations of Agile SW Dev.
- Empirical Process control theory
- Iterative and incremental approach:
- optimizes predictability
- controls risk
SCRUM pillars, and relative events to adhere to them
- Transparency: Process visible to whom is responsible
- Inspection: On artifacts and objectives to detect differences
- Adaptation: to meet goals
This are respected using:
- Sprint planning
- Daily scrum
- Sprint review
- Sprint retrospective
SCRUM process
SCRUM roles
- Product owner
- Scrum master
- Team member
These 3 are committed to the project (Pigs), other parties are just involved (end-users, stakeholders)
SCRUM Product owner
- Controls priority order of items in the backlog:
- Interacts with stakeholders to deliver max. (business) value
- What needs to be built and when
- Interacts with stakeholders to deliver max. (business) value
- Ensures the team understands the needs of end-users: knows requirements, and is available to answer team questions
- Creates acceptance criteria for stories
- Knows customers
- Responsible of staying true to the product vision: keeps in mind who’s the product built for, why, and its intended use.
SCRUM Master
- Coach: with goal of making team self-organizing
- Facilitator, not a boss (SCRUM expert, good shepherd, guardian)
- Adjust itself to the team experience: steps back when the teams starts to self-manage
- Removes impediments for the team (Impediment bulldozer)
- External (escalates issues to relevant people, help solving issues (e.g. HW))
- Internal (Helps the team see problems, encourges them to find solutions)
SCRUM Team member
- The team is self-organizing: they decide tools, techniques and how to assign tasks.
- Team member estimate the effort required for a stories/feature/tasks
- Team size: from 5 to 9
- Has enough variaty of skills
- Communication overhead must be low
- Cooperate to get to the goal
- Willing to work outside comfort zone if the team needs it
SCRUM team: P. owner + SCRUM master + team mambers
Team: SCRUM team - P. owner - SCRUM master
Scrum Sprint
- Sprint
- Sprint planning
- Spring Backlog
- Effort estimation
- Story Time
- Daily SCRUM
- Sprint Review
- Retrospective
- Abnormal sprint termination
- Release planning