INF397 Full Stack Technologies View Schedule Print

Agile Processes

The goal of agile is to:

  • enable team productivity
  • reduce the cost of changes in requirements
  • create a short consistent development cylce
  • and a predictable deployment schedule
  • use team metrics and feedback

The Agile manifesto

  • Individuals and interactions > processes and tools
  • Working software > comprehensive documentation
  • Customer collaboration > contract negotiation
  • Responding to change > following a plan

* when you have to make a trade-off
prefer the thing on the left.


  • Investors / Stackholders
  • Product Manager / - Owner
  • Development Team
  • Clients / Users

Self organizing and Self directing teams

Functional vs Cross-Functional Teams Composition

General iteration cycle

  • Planning (and Estimation)
  • Stand-ups and Code reviews
  • Retrospective and Backlog management

Conway's law

Organizations are constrained to produce systems which are copies of the communication structures of the organizations

Agile Methodologies:

  • Extreem Programming (XP)
  • The lean startup
  • Scrum
  • Kanban

* In reality each team/company creates its own processes; mixing-and-matching aspects of different methods.

Extreme Programming

Extreem Programming

  • Developed in the 90s
  • Shortens the development cycle
    from years to months
  • Practices:
    • Pair Programming
    • Embracing change
    • Test driven development
the lean statup

The lean startup principles

  • Entrepreneurs are everywhere
  • Build-Measure-Learn
  • Measure processes & products
  • Validated learning
  • Eliminate uncertainty
  • Work smarter not harder
  • Build a Minimum Viable Product


Scrum Values:

  • Transparency and Openness
  • Inspection and Introspection
  • Adaptation and Innovation
  • Estimation and Delivery
  • Focus and Respect

Project board


  • Visualize your workflow
  • Limit work in progress
  • Make policies explicit
  • Implement feedback loops
  • Improve collaboratively
  • Evolve experimentally

Estimation time tables

XP Lean Scrum Kanban
Dev Cycle weeks none velocity past performance
Release Cycle months as soon as possible weeks upon request


List of outstanding work

  • Feature ideas & requests
  • Bugs & Improvements
  • Tooling, Production /Operational/
  • Research & Analysis tasks

Stand up

  • Short regular (daily) meeting
  • Keeps the team in sync
  • Each team member shares with the team:
    • What am I working on?
    • Do I need help / Am I blocked?
    • Is there anything else the team should know?


  • Scheduled meeting
  • Discuss features, bugs and improvements
  • Create and update cards on the agile board
  • Each team member should know and agree on:
    • what work will be done next
    • when should the work be complete
    • how will the problems be solved


  • Scheduled meeting
  • Discuss work-flow, processes and improvements
  • Create and update cards on the agile board
  • Each team member should:
    • share their views on the overall process
    • suggest improvements
    • make a personal commitment to improve


Course Schedule:

week 1 03.02.2017 History of the web Fullstack Principles Development Processes Agile Processes DevOps Basics Git
week 2 10.02.2017 Frontend Overview Backend Overview Network Overview Testing JavaScript Overview JavaScript Tooling
week 3 17.02.2017 Web Architectures RESTful principles SOLID principles Web Components Continuous Integration
week 4 24.02.2017 Databases basics Using APIs Deployment Automation Monitoring In-class project consultations
week 5 17.03.2017 Project presentations
Final Test
Course Retrospective and Q&A