Agile Mindset

Where speed meets collaboration

What is Agile?

Agile is a mindset and not a prescribed or proscribed methodology for software development. To be successful with Agile, you must accept uncertainty, value interactions, and focus on delivering working product every step of the way. Also, your stakeholders must understand both the costs and the benefits of those choices.


Agile assumes resources and time are fixed and sees scope as variable. Agile promises a range of benefits: waste elimination, faster time to market, increased productivity, fewer defects, cost savings and better employee engagement.


To be successful with Agile, you must accept uncertainty, value interactions, and focus on delivering working product every step of the way. Some challenges include: full buy-in, okay with scope being variable, culture change to think and change quickly.


Agile is More than Just Software

Agile isn’t just a software development methodology. It's a mindset. To deliver customer value faster, organizations need to be agile in their organizational structure, processes, ceremonies and culture. What started as a movement around software teams is now an enterprise-scale business approach, applied across teams in distributed office locations—and it’s an operational model in which companies use their business agility (agile execution, adaptive portfolio management and disciplined innovation) as a competitive advantage.

How Agile is Different?

All projects need to be managed within common constraints: scope, people (resources) and time. Traditional project failures include exploding costs and schedules, often caused by scope changes. Traditional or waterfall methods attempt to lock down scope so that time and resources can be planned and controlled. Agile assumes resources and time are fixed and sees scope as variable.

In fast-changing environments, a variable-scope approach allows you to adapt to changes, risks, dependencies and feedback while still delivering working software on schedule. You manage risk by ensuring the teams always work on the highest-value features first. When the unexpected happens—as it always does—and you run out of time or money, you’ll still have delivered the highest-value features.

Agile was created as a way to deal with continuous change with minimal cost, waste or frustration. The key to agile development is to break long, high-cost, high-risk projects into small, prioritized, iterative efforts called Sprints. In Agile you can have one sprint or multiple sprints. Scrum is an agile way to manage a project, usually software development. Agile software development with Scrum is often perceived as a methodology; but rather than viewing Scrum as methodology, think of it as a framework for managing a process. This way, you are providing the highest-value functionality as fast as possible.

Roles in a Scrum Project

Each of these roles has a defined set of responsibilities and only if they fulfill these responsibilities, closely interact and work together they can finish a project successfully.

Scrum Master

Coordinates and leads scrum meetings/activities. Provides status updates to PM on a weekly basis or as needed.

Read More

Product Owner

Participate in scrum activities and provide direction as needed. Final decision maker on requirements and process design decisions.

Read More

Program Manager

A Program Manager must define and oversee a list of dependent projects needed to reach the program's overall goals.

Read More

Business Analyst

Capture and document business requirements and then to make sure that those requirements are delivered to the IT team.

Read More

IT Analyst

Translate business requirements to technical requirements and then to make sure they are delivered by the IT team.

Read More

Developers

Team members who have the right development skills, as part of the team to do the work.

Read More

Agile Ceremonies

Agile ceremonies are important elements of the agile software delivery process.

Sprint Planning

A sprint is the basic unit of development in Scrum (2 weeks for most projects). Sprint planning involves the Scrum Master, the Product owner and the development team. The Agile development team defines the work and effort necessary to meet their sprint commitment.

Daily Stand-Up

The daily stand up is an important part of the collaboration of Agile development. The entire Scrum team meets every day for 15 minutes to provide a quick status update and to identify any obstacles.

Sprint Review

The sprint review meeting is held at the end of the sprint to review the work completed. In addition the group can provide feedback on the current solution and to prep for the next sprint.

Retrospective

Retrospective meetings are typically held at the end of each sprint or at the end of major development cycle. During the retrospective meeting, the team should look back at what went well and what could be done better in future sprints.

Videos

Each of these roles has a defined set of responsibilities and only if they fulfill these responsibilities, closely interact and work together they can finish a project successfully.

What is Agile?

"What Is Agile?" will give you the background to understand the Agile principles and values and how they can help you and your team work together more efficiently.

Daily Standup

One of the most common practices you'll see in an Agile team is the daily standup meeting, but why? Can we improve our daily standup by better understanding the principles behind the practice?

Demos

Agile projects are built on trust, and the best way to establish trust is through transparency. Regular demos for users are one of the best ways for teams to be transparent about what progress has been made.

Frequently Asked Questions

When should you use Waterfall over Scrum?
Use waterfall when the project is plan driven and you want a fixed scope with resources and time being variable.
What is Scrum?
Scrum is a lightweight Agile framework for managing and controlling iterative and incremental projects of all types. Other frameworks for Agile development include Kanban and Extreme Programming.
Epics vs. Stories vs. Tasks
Epics are whole features and functionalities that can span multiple sprints. They are broken down into stories, and stories can be further broken down into tasks. An epic will have multiple stories, and each story can have multiple tasks.
What is SAFe?
Scaled Agile Framework (SAFe) is a collection of principles, structures, and practices that has been shown to consistently and successfully scale Agile practices and deliver the benefits of Agile to organizations that had been working in waterfall or ad-hoc methodologies.
How long is a sprint?
An ideal sprint length is usually between one and four weeks, with a two-week sprint being the most widely used.
Is it okay if someone wants to change a requirement?
Yes. Agile encourages frequent feedback from customers and stakeholders so that the product can be improved. We need to be able to embrace change.
What type of requirements did you use for your teams?
Requirements in Scrum are written as user stories using a standard, “As a ___, I want___ so that I can ___.” As a Scrum Master, you don’t necessarily write user stories, but you would assist the Product Owner to ensure that user stories are written, prioritized, and ready for the sprint.