Search form

You are here

What is Agile?

Technically, Agile refers to a family of formal project management methodologies. Each have their own unique terminology, but for the sake of simplicity, Agile can simply be understood as an adaptive working procedure that guides projects to completion through evolutionary development. Here at Portland Webworks we practice Scrum, an Agile framework particularly suited to software development.

Work on an Agile project will normally proceed through the following repetitive activity cycle:

Planning

The Scrum team selects a manageable chunk of the project (in the case of a software project, a particular feature or set of functions).

Doing

The Scrum team endeavors to complete the selected chunk of work within a relatively brief, agreed-upon timeframe.

Reviewing

The results are presented to the customer, and feedback is gathered.

SPRINT

Each full iteration of the above cycle is called a "sprint."As soon as one sprint is finished, the next begins. The sprint cycle repeats, again and again, until sufficient work has been accomplished, and nothing further is needed. The approach is intended to yield greater transparency, accountability, predictability and better communication.

PRODUCT BACKLOG

One of the most distinctive aspects of Agile is that it forces the breakdown of a project into manageable chunks. These various chunks are tracked and managed using a tool called the "Product Backlog" (or just the "Backlog" for short). Essentially, this Backlog is simply a prioritized laundry list of tasks that the product owner (i.e., the customer) wishes to have accomplished.

Through the use of the Backlog, combined with regular communication, the Agile method builds-in tremendous flexibility. The approach permits the customer to adjust and re-prioritize features within the Backlog at any time. This essentially enables the customer to change the scope and direction of a project on the fly, as tangible work products and results gradually inspire better ideas and different decisions.

How Agile at Portland Webworks Is Unique

In the grand scheme of Agile frameworks, there are quite a few popular variations. Many were developed with internal project teams in mind, and not all lend themselves easily to the type of fixed- or ranged-price services we provide. Thus there are a few distinctive best practices that we have adopted at Portland Webworks to hone our consulting approach and control expenses to our customers, while still maintaining the inherent flexibility of Agile:

We engage in slightly deeper initial planning than is usually endorsed by official Agile methods, because the deeper planning enables our company to proceed from a better-informed position, so that we can estimate the overall level of effort required more accurately, as well as more readily identify potential project efficiencies and opportunities for savings.

We have adopted the Scrum practice of brief daily standup meetings to discuss our daily progress and plans. We require our clients to participate in these meetings whenever possible, so they are fully informed and engaged in our progress and can quickly identify any deviation from the intended outcome.

We favor shorter sprint durations, which force careful task configuration and frequent review meetings involving the customer. Again, the goal here is to ensure the customer stays informed, and any redirection occurs sooner rather than later.

We place a particularly strong emphasis on "backlog grooming" with our clients, which essentially means that we regularly spend extra time adjusting and cleaning the backlog in coordination with the customer, so that planning sessions can proceed as efficiently as possible and focus remains on core product functionality.

While we increase our interaction with the customer, we streamline our deliverables, so that we can focus on the production of the working software that our clients most need. As the Agile manifesto states, we still favor "working software over comprehensive documentation".

We incorporate manual and automated Quality Assurance into our routine sprint activities, so that every sprint results in the delivery of higher quality software components.

The Benefits of Portland Webworks' Agile Approach

Through our years experience in software development we love the flexibility that Agile offers us, and our customers do too. Here’s a couple of the biggest benefits of Agile:

It fosters better relationships by structuring the routine interaction and making sure that customers are involved with decisions every step of the way.

It maximizes productivity by making our team accountable for progress on a daily basis, which simultaneously means that we can more readily manage potential roadblocks.

It gives the customer more control and permits greater flexibility as the project evolves.

By focusing on the delivery of a “potentially shippable increment” at the end of each sprint, and we can often put working software into the hands of our customers more quickly.

It allows us to predict project velocity and time requirements with a higher degree of precision, meaning that estimates are more trustworthy and dependable.