Agile Web Development Working Methodologies
Agile is growing in popularity as the web development work practice all across the world.
Agile is a loose term which contains many different aspects and ideas, with several recognisable components such as the Information Radiator, Pair Programming and Daily Stand-ups. There are many variations on this approach, with the ability for companies to tailor the techniques to their own needs.
Agile is a methodology which i have used in several companies up to now, each one with their own slightly different adaptation of it, though always following the same basic principles.
Software Development originally used this development approach before is spread into Web Development in recent years. It has risen in popularity to the point where many employers will actually include amongst their lists of necessary skills when hiring new employees.
Make-up of Agile Web Development Teams
Agile teams will typically consist of a Product Owner who will lead key decisions whilst the development will be completed by a handful of developers, both frontend and backend, plus a tester and perhaps a designer as well. The exact makeup of the team will depend on many factors such as the project’s requirements as well as the actual resources available in the company at that time.
There are situations where resources may dictate that some people may be serving in several different scrum teams but this is far from ideal and not a recommended route from any Agile teachings. Ideally, all members will be available for the single sprint in it’s entirety to ensure stories are completed as efficiently as possible.
The pivotal tool for any Agile team is normally their work board which contains the latest status of all tasks on which the team is working on. These boards are typically known as the Information Radiator and allow anyone to quickly understand exactly how the team is getting on with it’s various tasks.
Stakeholders outside of the immediate development team appreciate being able to get an update on the work being done as and when they like, perhaps without even interupting other staff. The board also serves as a way of making sure everone in the team is aware of what work they should be doing, for example a tester will see when a story is ready for testing, or a developer will notice that bugs were raised and the story needs further work in order to be successfully completed.
The main area of the Information Radiator contains the current stories being worked on and describes where they stand in the Agile process, such as “in-development”, “ready for testing” or “done”. The board will often contain other graphs such as showing overall velocity from previous weeks and maybe a backlog list of upcoming stories which have yet to make it into the main work flow.
Daily Stand-ups are the bread-and-butter of Agile, where vocal updates are given by each member of the team so that everyone works together as efficiently as possible. The updates help different employees to fit their roles together, such as with a tester able to plan when different stories will likely be ready for testing.
A key point of the stand-up meetings is also for any impediments to working being discussed. It is there that the product owner will normally set about finding way to clear the blocking items so that the rest of the team can work as efficiently as possible.
Stories in Agile are essentially tasks for the team to complete within each sprint. An Agile sprint is therefore a set period of time in which a selection of work is completed, normally ranging from 1 to 3 weeks, whichever is preferred by the company when establishing the Agile team. There are benefits to different lengths of sprints and it is normally worth experimenting with different sprint lengths to see which works best for you.
At the end of each sprint there is then a retrospective meeting where all team members share their experiences on the recently completed sprint and suggest items which can be improved from there onwards. This is a crucial element of Agile in terms of improving productivity and velocity as the team moves from one sprint to the next and is also a good way of establishing good morale with in the team, particularly if concerns and issues are dealt with.
Pair Programming is a common method used in Agile and simply involves two team members with similar skills completing a story together, normally from the same computer. The advantages of this is in the spread of knowledge which in certain roles, such as backend web development, can be very beneficial to the company as a whole.