Development | 24th October

Why we use Agile Software Development

We believe in an Agile approach because it allows us to work in a cross-functional team, continually designing, testing, deploying and learning via iterations. This approach to software development allows us to build the right product, focusing on user satisfaction, business goals and delivering value.

Cross functional team

We use scrum which is a cross-functional team made up of people with different skill sets. These skill sets combine together to create a team that can take on projects and achieve great results. The benefit of working in a cross-functional team and not in silos is that team can combine their skills and gain a deeper understanding of the product and create solutions at a speed a team working in silos can’t compete with. The shared knowledge also means the products' vision is understood by the whole team, who are then collectively working towards achieving the same goals and understanding how to delight users through feedback the whole team are privy to.

When we are all aligned then we can focus on delivering value and when we all understand company goals we can work towards achieving them, which means building what is needed and reducing bloat with unnecessary development from misalignment.

Learning with fast feedback

Unlike waterfall development that requires lengthy requirement documents to be written and then lots of work to meet requirements that were set months ago, agile is lean on documentation and focuses on delivering change.

We deploy new features at the end of development sprints and the results could change the weeks of documentation planning you have been doing. We write light requirements, focusing on user stories and business goals that the agile team then hypothesise on how to achieve. We test these hypotheses and finally write and deploy features and judge them on their merit via feedback.

We are able to make changes as deemed necessary by the business and users and not by the documentation that hasn't been tested in this way. Fast feedback and learning is the best route to success.

On our agile team we involve the whole team in the learning process and share the results, so we’re all aligned with how to achieve the next success.

Every morning we have a quick meeting called a stand-up where the team let each other know what they have been working on, what thy are going to be working on, if they need help from anyone and if there are any blockers that need addressing. Then at the end of each development sprint we hold a retrospective to discuss what went well and what we can improve on moving forwards.

rawpixel-250087-unsplash.jpg

Continual delivery

A scrum team is constantly delivering new features at the end of two-week sprint cycles, this means that you get your hands on new features quickly and your business can take advantage of quick delivery and use these features much earlier on than traditional waterfall development. This means seeing a return on investment is quicker and safer, because if a new feature doesn’t take off as well as expected then we can spot this early on and address it right away.

Adjusting course

Change is constantly happening, whether that be internal business structures, goals or external forces such as competitors, or customer behaviour.

Within our agile team we are constantly creating hypotheses to test, writing and launching new features and receiving constant feedback, as a rule we aren’t afraid of change.

Your system requirements live in a backlog, which is a living requirements document that can change as new feedback is received or external forces dictate. What was important from the beginning can change in importance later on, this list will evolve and requirements will move up and down the chain giving you the freedom to focus on what is best for your business rather than being stuck working off a rigid requirements list.

Screenshot 2018-10-24 at 17.17.41.png

Customer satisfaction

By delivering product features and functionality that offer value to the customer, you keep the customer happy and satisfied by delivering their requested features not only early in the project, but also continuously during the project.

Delivering value

Our team is focused on satisfying users and delivering on your business goals. As we are shipping code regularly and learning fast across our team, we know what is working and what needs changing. This means we can re-prioritise the backlog to focus on your current goals and user needs.

‘Our highest priority is to satisfy the customer through early and continuous delivery of valuable software’.

-Agile Manifesto

Written by
Jeremy King
Jeremy is a Director at New Socks Media.