Working in an Agile Environment

A methodology is essential when developing a product and managing a project. The use of this effective tool will increase the amount of projects undertaken whilst also increasing the quality of the products. This is why the most successful project based businesses use a lifecycle methodology of some kind.

What is Agile?

Agile is a methodology that is efficient in time keeping and gives structure to a project. It gives the team a set of expectations to follow, reducing the scope and risks of the project. This increases the productivity of the team and subsequently the business as a whole.

The Art of Agile Development book makes an interesting read, James Shore and Shane Warden discuss how agile focuses on “achieving personal, technical and organization success” throughout a project. Organisation is a key entity when it comes to starting a project, all requirements need to be planned out and tested in order for the project to be completed on time. This process is essential when using the agile methodology and the key to a successful product.

Shore and Warden also discuss certain rules, such as practices. An example of a practice could be the use of a version control system; this would allow the project progress to be tracked. Another practice could be the use of a Kanban board, this would ensure all requirements are organised and give a visual reflection on the product development.

Agile can be approached in different ways. Jaibeer Malik discusses the fundementals in the Agile Project Management with GreenHopper 6 Blueprints book.

“fundamentally incorporate communication, collaboration, continuous feedback, continuous testing, continuous interaction, continuous prioritization, and planning with continuous improvements to deliver solutions for a customer with changing requirements” (Malik, 2013)

Agile with Scrum

One of the agile approaches is the scrum methodology. The scrum method is often described as an agile approach to newer and more advanced products. The use of this methodology gives the project structure and allows for the use of prototypes and testing. Michael James’s scrum reference card maps out the approach to a project using the scrum methodology. He discusses how the scrum combines each development activity into something called an iteration.

Michael James Scrum Reference Card

Michael James describes an iteration to be in six separate stages, that being the requirements, to design and analyse the system, implementation, testing and evaluation and then, the deployment of the product. Each iteration is measured in a one to two week period and any iteration can be developed as a sprint. Some define sprints to be a specific length in a project and an iteration to vary. Different businesses will perceive this to however they see fit. A sprint is usually known to be time-boxed to about a month long and should deliver a product at the end of it. Each separate sprint within a project should be the same amount of time with an outcome that has value to the user.

The scrum methodology is an easy to implement process and quickly applied to your project. To get the process started you must start with a product backlog; this being a list of requirements for the product at hand. Then the analysing, designing and implementation can begin. Although the scrum methodology is an effective way of product development there are some, arguably maintainable disadvantages to it. One of these being that when using scrum, roles and responsibilities are not clear to each individual team member. Another being that when using the lifecycle there is not a clear view of the development process, hindering time management and reaching product deadlines.

However, the scrum method is highly adaptable to each company’s needs. The use of a master sprint plan would eliminate any time management problems as it would give a overview of the project and its outcome. Individual sprints with different goals and a master sprint displaying just the milestones would be an efficient way of eliminating this problem.