We are agile!

… are we?

Agile or conventional?

Agile methods emphasize on teams, working software, customer collaboration and responding to change

while the conventional methods stress on contracts, plans, processes, documents and tools.

Traditional project management

  • is a well-established approach in which projects are completed in sequential order
  • also known as the Waterfall model
  • proceeds in the following order: commencement, planning, execution, monitoring and closing
  • have strong focus on linear procedures, documentation, upfront planning and priority

Agile project management

  • is a is a relatively contemporary method of project management
  • often referred to as workflow model
  • is a broad strategy for software development
  • have strong focus on on cooperation, communication, task timeboxing, and the ability to adjust to change as soon as feasible
Characteristics Agile approach Traditional
Org. structure iterative linear
Develop. model evolut. delivery life cycle
Involv. of clients high low
User requirements interactive input clearly defined before impl.
Effort estimation team does the estimation project mgr provides estim. + gets approval from PO for entire proj.
Characteristics Agile approach Traditional
Reviews & approvals done after each iteration excessive by managers
Escalation mgmt. entire team works together to resolve prob. escalation to managers when problems arise
Product or process less focus on formal, directive proc. more serious about proc. than product
Test documentation tests are planned one sprint at a time comprehensive test planning
Customer involvement involved from time work is performed considered but not really involved
The traditional approach for implementing a project …

heavy up front design followed by coding, testing, debugging and documentation in that sequence

  • little or no overlapping of functions and change after the design stage was completed
  • the premise was that if the design was done thoroughly, there would be little or no need for changes
  • if it turned out, changes were necessary they were usually quite costly to implement and especially if they occurred late in the project or at the end after the project was completed
… and with agile methods like Scrum …

the various project steps are done simultaneously rather than sequentially, and change is expected to occur throughout the life of the project

  • key goal of Scrum is to handle changes more efficiently especially in today’s world where changes come about more often than not
  • with Scrum you program “on the fly” and do not wait until all questions are answered before you start to code

OK, partially agile

… but why?

Agreement and Certainty Matrix

Scrum is the most popular Agile methodology!

Source: State of Agile report 2019

Source: Agile Software findings 2021

Scrum

  • agile framework (a modern day software development process for the implementation of usually complex projects)
  • independently developed by Ken Schwaber and Jeff Sutherland in the early 1990s
  • not an acronym, but short form of the British word scrummage which is a rugby term for getting the ball in play
Scrum works and results in higher productivity and lower costs in large part for that reasons:

  • faster time to market (more efficient way to incorporate changes, usable segments of business value are released when done and not at the end of the project)
  • higher quality because of on-going testing and debugging (and such techniques as pair programming)
  • better individual team morale due to to the members identifying to the project as their own (as well as from gaining increased technical knowledge)
  • improved stakeholder satisfaction due to being involved in the project as it is progressing along (and by being able to give feedback to the team to completed work released for their use)

OK, mostly agile

… but how?

Source: Standish Group Report 2020

Differences Traditional Agile
Project owner projects run by managers developers work together with PO
Project work exact instructions were given to individ. devs along with deadlines for their coding to be completed the team as a whole has responsibility for its work (they fail or succeed as a team)
Differences Traditional Agile
Project responsibility report to managers team reports to each other (there are no bosses members report to)
Project team each member should be homogeneous individ. members have specialty expertise (they work together and clear up bottlenecks)
Different terminology fixed scope iterative decision making
Schedule Sprint (or Release)
Scope Sprint Backlog
Work Breakdown Structure Task Breakdown
Productivity Velocity
Estimate to Complete Burndown Chart

The Scrum model is designed for teams of three to nine developers who divide work into actions that can be completed within sprints, and track progress and re-plan in 15-minute meetings called daily scrums.

Scrum advantages

  • unlike a schedule, sprints are shorter cycles of management that permit frequent courses for correction
  • to allow changes in customer or production needs
  • Sprints allow a much faster delivery of urgent requests over classic project management
  • each Sprint is assigned a uniform length (fixed schedule) to guarantee reliability

Scrum advantages

  • Features and tasks are then completed in priority order within each sprint to ensure the results are continually meeting the needs of the customer
  • traditional project management focuses on creating a fixed scope, cost and schedule for a project whereas Scrum encourages iterative decision making based on real-time data
Push & Pull

Technical brilliance vs Simplicity

First things first!

Achieve real results quickly!

Simplify the process with open stories!

Quality != Perfection

Make the thing right in time!

Better on time than perfect!