This post by Dennis Furlan first appeared on the Freshbooks Blog on June 1, 2016
As a web-development professional, you’re often dealing with clients and personnel who aren’t themselves in the field. They might have never worked within a web-development company before, or have little experience working with a web developer.
On top of that, web designers themselves — even those experienced in website development — may have worked in a web-design company where there was only one approach to custom software development and web design. If that’s the case, you might not be aware of approaches used in other web-development environments.
Whatever the case may be, as a web developer or website designer, you may not be as familiar with the basic terms of the profession as is ideal. Don’t worry, we’re here to help! With a Web Development Terms 101 refresher, we clarify the web-design terms you need to know.
Web Development Terms 101: Waterfall Versus Agile
First, there are a couple of web-design terms that essentially define the school of software development company or environment you work in. Back in the old days of software development services — let’s say back in the time when the Pong video game would have been considered leading edge — many software development companies would have used what’s called the waterfall model of software design. This is in contrast to a term that is perhaps more familiar to web developers today: the agile approach.
With the waterfall model, a more traditional, linear and predictable approach to software development is followed. Although the term waterfall may not be completely accurate, since it conjures up images of falling over the edge, it is a term that captures the essence of what these traditional development models do, which is to have a very structured work process in which one stage of software development is accomplished before the next.
As an example, you might have a web development model that consists of conception, design, code construction, testing, and deployment. The process only moves forward when a stage is completed. So, design can’t happen until conception, code construction until design, and so on. In fact, it’s a model of product development that dates back to the manufacturing model of decades ago.
The Challenge With Waterfall (aka Why Agile?)
However, in software and web development (just as with manufacturing), the traditional waterfall model has its flaws. It is rigid, can lead to backlogs, and, if one stage in the development process breaks down, can mean everything breaks down. To solve these challenges, more agile approaches deployed in the manufacturing sector, and in web-development companies, too.
With agile, the goal is as the name suggests: to achieve greater website-design productivity with a more agile approach to web design.
So, if we were to take the same example as above, instead of one linear process that starts with conception and ends with deployment, which is the case with the waterfall model, all the processes in an agile system — conception, design, code construction, testing, and deployment — can occur at the same time using flexible and interactive teams from start to finish. The advantages to this agile approach to web-design services include:
- Problems can be anticipated more quickly
- Decisions can be made to change direction in mid-course without major disruption to the larger endeavour
- No single process is beholden to another
- Everything gets done simultaneously, in a manner of speaking — meaning the project should be completed faster
With a web development company using this agile approach, there is less a reliance on tasks and schedules and a greater implementation of processes that incorporate various components of the chain. These processes can involve what is known as a sprint, which defines (in conjunction with customer feedback) the deliverables to be achieved within weeks, and not months. Sprints allows for better feedback from the customer and a more flexible delivery of the final product and service.
As much as it might be seen as trendier or more modern to be saying that you work in an agile web-design company, there really isn’t a right or wrong approach. It really is about assessing the client’s needs and how your own web-development company best meets them. With the waterfall approach, everyone is on the same page from start to finish. With agile, it’s a more flexible, improvisational process throughout. What works depends on the situation.
The Processes Within Agile: Scrum Versus Kanban
Now, what can confuse matters even further are web-design terms that make further differentiations in process and approach. Specifically, many web developers may be familiar with website-design terminology such as scrum and kanban. Well, these are essentially examples of the agile approach, and differ in some fundamental ways.
If there is one overriding differentiation between scrum and kanban it’s that, while scrum tends to be more structured and defined, kanban makes some of these same structures optional while keeping certain broader principles intact. This basic point of differentiation can manifest itself in the following ways:
|Focuses on specific processes from the outset
||Greater emphasis on broader goals instead vs specific tasks
|Establishes cross-functional teams
||Cross-functional teams are optional
|Workloads are often pre-determined
||Workloads are often defined as project is underway
|Limits on work-in-progress and lead times are established
||Limits on work-in-progress and lead times are optional
|Ideal for web-development companies seeking dramatic shift to the agile approach
||Suitable for web-development companies seeking a less radical upgrade to agile model
Meeting Your Client’s Web-Developer Needs
Again, is there really one website development approach that’s better than the other? Of course not. As always, it depends on your web development company’s ability to meet the needs of the client. In general, if your organization needs a dramatic shift towards agile, then scrum might better help establish specific structures. Alternatively, if the processes are already there, but in need of broad incremental improvements, then kanban might be the way to go.
Regardless of which web development terms you use, it’s always important to remember to match the organizational goals of your web development company with that of cherished clients seeking web-page design that meets their specific needs.