Sprints, and building at the same time

ISOM 472 — Fall 2026/2027

Dr. Mohammad AlMarzouq Week 3

ISOM 472: Project in IS — Kuwait University

Two things today

Sprints

A fixed block of work, and what it means to call something finished.

Both of these come back as Phase 2, and you are asked about them individually.

ISOM 472: Project in IS — Kuwait University

You have been saying "sprint" for two weeks

Today it gets a definition.

ISOM 472: Project in IS — Kuwait University

Agile and sprints

Five words, defined once

ISOM 472: Project in IS — Kuwait University

A sprint is a fixed block of work

  • Two weeks, in this course
  • It ends at a delivery session — you show what runs
  • Then the next one starts, immediately

Every sprint in this course is the same length. That is the point of them.

ISOM 472: Project in IS — Kuwait University

The date does not move

Scope flexes. The date does not.

ISOM 472: Project in IS — Kuwait University

Backlog

  • The ordered list of everything not yet built
  • Ordered, not just listed — the order is a decision
  • The Client Lead owns the order

A list is not a backlog. If nobody can say what is next, nothing has been decided.

ISOM 472: Project in IS — Kuwait University

User story

  • One unit of work, described from the point of view of whoever benefits
  • Small enough for one person to finish inside one sprint
  • Not a task list and not a screen description

If it cannot be finished in one sprint by one person, it is not a story yet. Split it.

ISOM 472: Project in IS — Kuwait University

A story, written out

As a shop owner
I want to see the orders that arrived today and are not yet recorded
So that nothing is lost before closing
  • Who benefits · what they want · why it matters
  • The third line is the one teams skip, and the one that survives
ISOM 472: Project in IS — Kuwait University

Acceptance criteria

  • Written before the work starts
  • Checkable by someone who did not do the work
  • If nobody else can check it, it is not acceptance criteria

They are not a description of the feature. They are the test that ends the argument about whether it is done.

ISOM 472: Project in IS — Kuwait University

The same criterion, two ways

Not checkable

"The orders page works well and is easy to use."

Nobody can pass or fail this.

Checkable

"Given an order with no customer name, when it is saved, the page shows an error and no order is created."

ISOM 472: Project in IS — Kuwait University

"Done" is not "I finished typing"

ISOM 472: Project in IS — Kuwait University

Four conditions, all of them

  1. Built — it runs
  2. Reviewed by a teammate, who says what they checked
  3. Accepted by the Client Lead
  4. Visible working — not on your laptop

Miss any one of the four and the story is not done. There is no partial done.

ISOM 472: Project in IS — Kuwait University

How a sprint ends

  • Something that runs is shown to the room
  • Not slides about what you intended to build
  • Then the next sprint starts

What is not finished does not disappear. It goes back to the backlog, and the Client Lead decides where.

ISOM 472: Project in IS — Kuwait University

Requirements, and building at once

How six people build at once

ISOM 472: Project in IS — Kuwait University

From a problem to a backlog

Persona → who this is for

Epic → a large chunk of value

Four steps, in that order. You already have the problem statement — this is how it becomes work.

ISOM 472: Project in IS — Kuwait University

Two personas is enough

  • Two per project. Five is procrastination
  • A persona is who the system is for, not a biography
  • Name, what they are trying to do, what gets in the way
ISOM 472: Project in IS — Kuwait University

Six people, or a team of six?

The difference is decided before anyone writes code.

ISOM 472: Project in IS — Kuwait University

What goes wrong without an agreement

  • One member builds the screen, expecting customerName
  • One member builds the data behind it, returning customer_full_name
  • Both finish on time. Neither half works

Two days to find it. Ten minutes to fix it. And it happens to somebody every single term.

ISOM 472: Project in IS — Kuwait University

The shape is already written down — twice

  • The schema says what the data is: tables, columns, which may not be empty
  • The acceptance criteria say what each half is handed, and what it does when something is missing

There is no third document. Agreeing the boundary means agreeing these two, out loud, before either of you starts.

ISOM 472: Project in IS — Kuwait University

The schema is the big one

  • customer_full_name is a column, not a preference
  • The Data Lead writes it; it changes only in a pull request both of you read
  • Nobody renames a column because their own half was easier that way

If the two halves disagree about the schema, they disagree about the system. That is worth ten minutes now.

ISOM 472: Project in IS — Kuwait University

The criteria carry the rest

In the story, before anyone builds:

  • What the other half is given — the order list is handed a customer id
  • What happens when it is missing — an order with no customer shows as "unassigned", it is not hidden

A criterion your partner cannot check is not an agreement. It is a hope.

ISOM 472: Project in IS — Kuwait University

Agree the shape. Then let them run.

Two agents build two halves in an afternoon. Both halves are wrong if the shape was never agreed.

ISOM 472: Project in IS — Kuwait University

Why this is the whole split

  • Without an agreed shape, work serialises — one person becomes the bottleneck
  • Every student takes at least two named stories per sprint
  • And builds each one end to end

That only works if the boundaries were agreed first. Otherwise you are queueing, not parallelising.

ISOM 472: Project in IS — Kuwait University

The backlog floor

  • 40 stories for a team of five
  • 48 stories for a team of six

This is a floor, not a scope target. Below it, the individual mark has nothing to attach to.

ISOM 472: Project in IS — Kuwait University

Before the end of week 4

What Phase 2 asks for

ISOM 472: Project in IS — Kuwait University

Phase 2 — due at the end of week 4

Stories, the schema, the split, the environment, and your token plan. 10 marks.

  • The full checklist is on the course site, and we walk it in the last lecture

Exact dates are announced in class and on the course site.

ISOM 472: Project in IS — Kuwait University

Required reading — sprints and "done"

Reading Time
Microsoft Learn — What is Agile development?
https://learn.microsoft.com/en-us/devops/plan/what-is-agile-development
12 min
Atlassian — Sprint planning
https://www.atlassian.com/agile/scrum/sprint-planning
15 min
Atlassian — Definition of Done
https://www.atlassian.com/agile/project-management/definition-of-done
10 min
ISOM 472: Project in IS — Kuwait University

Required reading — stories and criteria

Reading Time
GOV.UK — Writing user stories
https://www.gov.uk/service-manual/agile-delivery/writing-user-stories
15 min
Atlassian — User stories with examples and a template
https://www.atlassian.com/agile/project-management/user-stories
12 min
Atlassian — Acceptance criteria
https://www.atlassian.com/work-management/project-management/acceptance-criteria
8 min

The GOV.UK page is deliberately plain English. If it lands, the Atlassian page is a second angle rather than new material.

ISOM 472: Project in IS — Kuwait University

Agree the shape. Then build.

Next class: the data underneath all of it.

ISOM 472: Project in IS — Kuwait University

Session 5 of 29. Two topics, about 35 minutes of talking between them. The rest of the period is questions and team time, and the teams need it — everything taught today is due back as Phase 2 at the end of week 4. The readings were set before this session, so today confirms the vocabulary rather than introducing it.

Say the shape out loud. The second half is the one that decides whether a team of six behaves like a team of six or like six people taking turns, so do not let the sprint vocabulary eat the whole session.

Acknowledge it rather than pretending the word is new. They have heard sprint, backlog and done since the launch session. The readings were due before today on purpose: this block confirms what they already read, it does not introduce it.

Keep this short and concrete. The sprint is not a concept to admire; it is the rhythm the rest of the semester runs on, and they will feel it four times.

This is the whole idea. If the date can move, everything is late and nothing is measurable — you can never tell a team that is behind from a team that is ambitious. When a sprint is in trouble the answer is always to cut scope and deliver less, working, on the day. Say that plainly; they will need it in week 6.

Ownership of the order is what makes the Client Lead role real rather than ceremonial. Expect the question "what if the team disagrees with the order" — the answer is the week 1 rule: argue it out, then commit.

The size rule is the useful half. Most first backlogs are twelve enormous items; what they need is forty small ones. Splitting is a skill and it is learned by being told the item is too big, repeatedly, which is what I will do.

Take a real story from a team in the room and write it on the board in this shape. The "so that" line is what lets you reject a feature later: if nobody can complete it, the story is decoration.

Before, not after. Criteria written after the code are a description of what was built, which is exactly the thing they cannot be. This is quizzable and it is graded in Phase 2.

Have the room fix one out loud before moving on. The pattern that helps most is given / when / then, but do not make it a required form — the requirement is that a teammate can run it, not that it matches a template.

Pause here. This is the single sentence most likely to change how a team behaves in week 6, and the whole acceptance argument later in the semester rests on it.

Point forward: a later opener returns to this and to why the Client Lead is expected to reject some work. A Client Lead who has never rejected anything is not doing the job — that lands better now than it will in week 5.

The delivery session is the forcing function. Nothing about it is a punishment; it is simply the moment the team finds out what it actually has. Teams that treat it as a presentation rather than a demonstration lose marks on the thing they spent their time on.

Walk one team's accepted problem down all four steps on the board. Doing it once in public is worth more than any amount of explanation, and every other team recognises its own project in the shape.

Keep this to one slide deliberately. Persona work is the most enjoyable part of requirements and the least load-bearing, and a team will happily spend a week on it to avoid deciding a schema.

This is the real content of the session. Everything before it was vocabulary. Ask the room how five people work on one system at the same time without standing on each other, then let the silence sit for a moment before answering.

This is the concrete failure and it should be told as a story, not as a warning. Both people did their work, on time, competently. That is what makes it persuasive — it is not a failure of effort, and effort will not prevent it.

This is the correction to how this was taught before. A separate contract artifact was one more file to write, to review and to forget, and every team produced it after the fact — which is a description of a bug, not an agreement. The schema and the criteria are written anyway, they are graded anyway, and they already hold the whole of what a boundary needs.

Point back at the failure two slides ago and name it: the screen expected customerName, the data returned customer_full_name, and the schema is where that argument is settled once. Next class is the whole schema session, so this is a pointer forward, not the teaching itself.

Have one team say a boundary out loud and turn it into two criteria on the board. Thirty seconds of writing replaces the whole contract ceremony, and it lands in the artifact that is already graded.

This is the line that justifies the whole session in an AI-assisted course. Speed is not the constraint any more — agreement is. And the agreed shape is itself the prompt: a schema and a criterion pasted in are exactly the specification either half needs, which is why writing them is not overhead on top of building, it is the first half of building.

Connect it to the individual mark without labouring it: named stories are how a student's own contribution becomes visible, and end to end is what makes the oral question at the demo answerable.

Expect alarm at the number. Defuse it: forty small stories is roughly two per person per sprint across the semester, which is exactly what has already been described. A team frightened by forty has stories that are far too large.

Do not read the whole checklist from the front today — it is written out on the course site and walked in the last lecture, and reading a partial version here is exactly how three different lists get into circulation. What today owns is the first three items: the backlog, the criteria and the split. Say that the schema and access rules come next class and that tokens come with them, so nobody thinks they are behind. The delivery is to the whole class and every team hears every other team's split, which is the cheapest teaching available.

The Definition of Done page is the one that matters most and the shortest of the three. It loads a later opener on acceptance directly, so it is worth reading twice rather than once.

All three pages are external and short. Acceptance criteria are where the boundary between two members is now written, so that page carries what the contract template used to.

Close on the first line. Any team that cannot yet say which two members share a table should stay behind — that is a five-minute conversation now and a lost sprint later.