Agile & Scrum Synergistic Web Technologies

30 Nov 2014, by Moe in Developer

Agile and Scrum are growing more popular by the day. Clients wants to ship something to consumers quickly and maintain a consistent and rapid update cycle. So Scrum fits the bill perfectly. So let’s assume we’ve mastered the Scrum process. We have a team that knows the ins and outs of Scrum and we want to maximize the effectiveness of that team so how do we accomplish that? We can start by identifying technologies that are quick to develop with but offer enough power and control to make changes quickly. We also want to make sure that technology isn’t limiting our ability to create new features and isn’t simple a “drag ‘n drop” type of framework.

Promoted as an Agile language, AngularJS is gaining popularity as one of the best web app frameworks out there. The structure provided, as well as the power enhance JavaScript tremendously while maintain a good balance between performance and presentation. With 2-way binding is as simple as an HTML attribute and a line of JavaScript, writing web apps has never been easier. AngularJS also makes it easy to make changes and even drastic one’s because it promotes breaking things down into modules which are easy to create, manipulate, and plug in wherever they are needed.

An event-driven backend architecture that is very scalable. NodeJS is gaining adoption as a server side platform. NodeJS utilizes JavaScript and most of the modules in it are written in JavaScript. The best part about NodeJS is we can avoid IIS and Apache. By utilizing NodeJS and a document based database we can take advantage of a unified JavaScript development stack. So we can write a full application purely with JavaScript! Another feature that makes NodeJS Scrum friendly is the ability to utilize models that can be reused on the client side and server side if we wish.

Bootstrap & Foundation
Both of these technologies accomplish similar things and are great for quick front end design work. The main benefit to scrum is the ability to quickly change the look and feel of our application. Making sweeping changes is fairly painless and the product owner can really get a feel for different looks by checking the style guide.

I have only just scratched the surface on these technologies, there are so many out there but I mainly worked with the above mentioned ones so I covered those. Some cool database technologies are MongoDB and FireBase which I have read about but not had a chance to play with so I might cover those in a future post. The main point is, Scrum is provides a short sprint cycle where things can change rapidly and in order to move quickly along with that cycle we should try to use technologies that can fit into those short sprints efficiently.