Skip to content

Team Workflow: The Development Loop πŸ”„πŸ€ ​

Every program has a "Main Loop" that keeps it running. Agile teams have a main loop too. We call this loop a Sprint.

The Sprint (The Main Loop) πŸ” ​

A Sprint is just a time-boxed loop, usually 2 weeks. Inside this loop, we do specific things to ensure we are making progress.

python
def sprint_cycle():
    todo_list = plan_sprint()
    
    while days_left > 0:
        daily_check_in()
        work_on_tasks()
        
    show_finished_work()
    improve_process()

1. The Roles (Who does what?) 🎭 ​

The Product Owner (The "Client") πŸ‘‘

  • Decides what to build.
  • Like the person giving you the homework assignment. They define the "Input" and expected "Output".

The Scrum Master (The "Debugger") πŸ§™β€β™‚οΈ

  • Helps the team run smoothly.
  • If your computer crashes, they help fix it. If you are stuck, they unblock you. They optimize the process.

The Developers (The "Builders") πŸ› οΈ

  • The people writing the code.
  • They decide how to build it.

2. The Events (The Functions) πŸ“… ​

Sprint Planning (Initialization) ​

  • When: Day 1.
  • Goal: Pick items from the "Backlog" (Task List) that fit into the Sprint.
  • Analogy: Deciding which homework problems to tackle this weekend. You can't do all of them, so you pick the most important ones.

Daily Stand-up (The Heartbeat) β˜• ​

  • When: Every morning (15 mins).
  • Goal: Sync up.
  • The 3 Questions:
    1. What did I finish yesterday?
    2. What am I doing today?
    3. Am I stuck? (Syntax Error? Logic Error?)

Sprint Review (The Demo) 🎁 ​

  • When: Last Day.
  • Goal: Show the working software.
  • Rule: It must run! No PowerPoint slides. If it crashes, that's okayβ€”it's feedback.

Sprint Retrospective (The Optimization) πŸ” ​

  • When: After the Review.
  • Goal: How can we code faster/better next time?
  • Example: "We kept forgetting to save our files to GitHub. Let's make a rule to push code every day."

The 3 Artifacts (The Data) πŸ“¦ ​

Just like a program has data structures, Scrum has 3 main artifacts to track progress:

  1. Product Backlog (The "Wishlist"): An ordered list of everything we might build. It's never "complete".
  2. Sprint Backlog (The "To-Do List"): The specific items we picked for this Sprint.
  3. Increment (The "Output"): The sum of all completed backlog items. It must be working code.

A Day in the Life: The App Team πŸ“± ​

Let's walk through a real cycle for a Python team building a Web App.

  • Monday (Planning):
    • Goal: Build "User Login".
    • Task: "Dev A writes the SQL Schema. Dev B writes the Flask Route."
  • Wednesday (Stand-up):
    • Dev A: "I pushed the Schema."
    • Dev B: "I'm stuck. Error: ConnectionRefused when connecting to DB."
    • Scrum Master: "Check your .env file. I'll help you debug after this."
  • Friday (Review):
    • Team demos the login.
    • Client: "Great! Can we also add Google Login?"
    • Product Owner: "Good idea, we'll add that to the backlog for next time."
  • Friday (Retro):
    • Issue: "We forgot to update requirements.txt again."
    • Fix: "Let's add a pre-commit hook to check dependencies automatically."

Insight

This structure stops us from getting distracted. We focus on a few things, finish them, and then move on.

Quiz

Who decides how much work to pull into a Sprint? A) The Product Owner (The Boss) B) The Scrum Master (The Coach) C) The Development Team (The Builders)

Answer **C) The Development Team.** They know their capacity best. If you force them to do too much, they will write buggy code.