Tomas Petricek
email: t.petricek@kent.ac.uk
twitter: @tomaspetricek
office: S129A
Development methodologies
Methodologies have context
Process vs. product
Do we have a specification or adapt continually?
Manager vs engineer
Focus on process and team structure or tools and code?
Semi-Automatic Ground Environment (SAGE)
First attempt at a methodology
Focused on product
and management
Multi-stage process
Multi-stage process
Royce (1987)
Chrysler Comprehensive Compensation System (C3)
Rapid software system development (in Smalltalk)
Focused on process
and engineering
First project using
Extreme Programming (XP)
User stories to capture requirements
Planning game to plan the next iteration
Pair programming to build shared understanding
Continuous integration to always have running system
Test-driven development process
In today's fast-paced, fiercely competitive world (...) [c]ompanies are increasingly realizing that the old, sequential approach to developing new products simply won't get the job done.
Instead, companies in Japan and the United States are using a holistic method - as in rugby, the ball gets passed within the team as it moves as a unit up the field.
Takeuchi, Nonaka (1986)
SCRUM methodology
Following the Rugby terminology
Managerial, but process oriented
Popularized process-oriented or agile methodologies.
We have come to value:
Typical clients
Typical software provider
Learning unfamiliar domain
Put knowledge on paper
Specification that programmers can understand and follow
Keep knowledge in brains
Not scalable, but developers can use intuition and contribute ideas
Agile methodologies
User stories
Fixed story format
User so that we know who needs this
Benefit so that
there is a reason
❶ Card - artefact representing requirement
❷ Conversation - exchange of ideas with customer
❸ Confirmation - customer-defined acceptance test
Q: For how long should the cart be saved?
A: For 3 days from the last access.
Q: What is an item in the cart becomes unavailable?
A: When item becomes unavailable,
remove it and warn the user.
Q: Can the user modify the cart after saving?
A: Yes, the user can modify the cart after saving.
Who is the customer
Being a customer is hard!
Management of:
Team structure
Who does what
Project planning
How to progress
Interactions
What to do when
Product owner - customer representative
Defines stories, prioritizes tasks, business-focus
Scrum master - process facilitator
Mentors team, removes obstacles, controls process
Development team - cross-functional team
Contribute to coding, testing, debugging, planning
SCRUM process
Backlog of user stories to implement
Planning based
on value*effort
Sprints add functio-
nality in 1-2 weeks
Daily scrum 15 minute meeting
Sprint-related meetings
Development methodologies
Waterfall, extreme programming, SCRUM
Managerial vs. engineering; process vs. product
Capturing requirements as stories
As a CO559 lecturer, I want you to remember this,
so that you can use user stories in your projects!
SCRUM development methodology
Product owner, scrum master, development team
Backlog, sprint meetings, daily scrum meeting
What you should remember from this lecture
Tomas Petricek
t.petricek@kent.ac.uk | @tomaspetricek
Academic papers
Relevant books
Online material