Agile software development
Agile software development is a process where both requirements and solutions are identified iteratively throughout the development process, by the development team, stakeholders and end-users together as a cross-functional team.
At Si Novi we've been proponents of agile processes for many years, incorporating agile methodologies into our software development work with our clients. We've seen how agile processes can de-risk development and produce better results.
Our team includes a Certified Scrum Product Owner (CSPO), and we have extensive experience running and delivering agile software development projects.
Our agile process
Our process is determined by the needs of the project in question, but generally we'll move through phases of work known as a Sprint, which often includes some or all of these activities:
- Discovery and understanding - working with you to understand your requirements and identify how we can best serve them using web technology
- Scoping & Story mapping - building a shared model of the landscape of your project from the user's perspective. This is where we break out the post-it notes in a collaborative workshop and get all the potential ideas out on the wall as a backlog of features
- Prioritise the backlog - what's the next most important task for each user goal? Each sprint should deliver a working and enhanced version of the product - but what are the priorities for this sprint?
- Development - This is where we get to work designing, developing, testing and deploying the prioritised features.
- Demonstration & review - A key part of the agile process is the opportunity to see, test and review the recent work. This allows stakeholders and users to offer feedback and re-prioritise their goals.
- Deployment & launch - it's often possible to deploy as you go, pushing new features or new versions of software live as they are built. But it may be the case that we want to develop a product using test servers, then launch into production at the end.
Ongoing development & support
we believe that a web-based software should always be supported and maintained, to keep them secure, performant and delivering the goals for which they were originally built. We provide fast, agile and iterative development of products throughout their lifetime to ensure their continued success.
Agile is agile
Agile and Scrum are frameworks for software development, not procedural guides, and as such we believe that a truly agile process is one that uses the elements of agile approaches that suit the project and the team best.
We also follow other interesting methodologies like Basecamp's Shape Up, which borrow from agile but bring new concepts that are all designed for efficiently building great software.
The right approach is the one that serves the project best, allowing all members of the development team to contribute effectively and produce great results together.
De-risking digital projects with agile development
Running digital projects in an agile manner allows you to de-risk your investment.
During the project lifecycle you'll see your product come to life, initially as a basic but functional ‘minimum viable' product, then at each iteration growing in both its form and function. Rather than waiting until the end of a project for a big reveal, you have the opportunity to make changes to the direction and the chance to incorporate new ideas and new priorities.
Collaborating in an agile way
We work with businesses as an outsourced development team, and as such we're often part of a team of other creatives, IT professionals and stakeholders in a project.
Together we can design an agile approach that's right for the project and the team working on it, whether that's a bespoke approach based on the individual team, or parachuting into your existing agile processes.