This article is going to go into details on the software development process at SoftwareSeni. The target audience is our clients and potential clients. If you’re thinking about getting an app or a site built some day, then you will find it interesting to understand how these processes are run.
The article is a follow on from similar articles on product conception, prototyping, and business rules.
With all the above completed, the software development can now start. If you’re curious about the cost of software development, we recommend reading our article on Fixed Price Contract vs Agile Development.
SoftwareSeni is an Agile house. Software development under Agile has a definite beginning, but it doesn’t really have a middle or an end. This is due to the iterative nature of Agile development. One of the early iterations will see the launch of your product. But once it is live each iteration after that will be launching new features and capabilities.
The beginning of the software development process
At SoftwareSeni we divide the beginning into two phases: Preparation and Kick-off.
In the Preparation phase we take the wireframes and business rules and use them to create the product backlog.
The product backlog is an Agile thing. It is the single source for everything that the dev team needs to work on. So it includes the features of your app that need to be implemented, but it will also contain bug fixes, setting up hosting infrastructure and any changes it needs — anything and everything the dev team needs to complete your app and keep it running.
Using the product backlog, work is prioritised based on impact and effort. The business rules you documented earlier are broken down into epics. The epics are broken down into stories and those are finally broken down into tasks. All of these go into the product backlog.
Because the product backlog is used to prioritise work it is not a static list. Everything that needs to be done gets added to the backlog as it pops up. This requires the product backlog to be regularly updated and re-prioritised. This is part of the Agile process.
Along with the product backlog, the preparation phase involves:
- a sprint plan
- the confirmed timeline and milestones
- a demo plan (both internal and for you)
- establishing development environments (typically separate Dev, Staging and Production systems)
- a QA Strategy and Plan that covers automation, test plans, test scripts, test data, and resource planning.
- a User Acceptance Testing (UAT) plan covering the application security checklist and penetration testing
The kick-off for your project is carried out in two meetings. For you, it’s a briefing where we communicate how the software development will proceed and we all confirm we are in agreement on project goals, deliverables and timelines.
The team runs through the same information in their own meeting. This is also the point where the final structure of the team — headcount and skillset — is settled.
After this, the development begins.
The Agile development of your product
Agile operates as a series of sprints. Don’t imagine a roomful of people pounding at keyboards. Programming is a slow and thoughtful process. Agile packages that process into short, often two week long, periods of focus: the sprint.
If you’re new to Agile you might want to read Agile basics for small businesses and start-ups.
The first series of sprints are focused on getting your MVP in front of customers. Once your app or site is live subsequent iterations make it easy to adapt focus and schedules based on app usage and revealed needs.
A sprint is divided up into multiple stages that can be summarised as:
- planning what to work on
- doing the work
- reviewing the work
The result is a two-weekly cycle that runs like this:
Keeping you in the loop
The beauty of Agile is the regular feedback on progress that is available. You will have opportunities to review work to date and current progress at multiple stages through the project. This will be via weekly or fortnightly Work In Progress (WIP) meetings. This is on top of the weekly reports and updates that we send you.
These meetings are essential to ensure your vision of the app is being correctly interpreted by the team. This might sound surprising, but every product is the sum of thousands of tiny decisions. Being involved in the process, supplying clear and concise feedback, ensures your vision is fulfilled as efficiently as possible.
Development never runs issue-free. There are always issues related to usability or functionality that could not be foreseen from wireframes and business rules alone. These are the kinds of things that more documentation can’t fix. They can only be discovered during the building and testing.
But this is exactly what the Agile process is designed to cope with. Any issues revealed get added to the product backlog and prioritised and the project keeps moving forward.
Sometimes these issues will impact product scope or your preferred timeline. Agile lets us catch these early and our regular reporting to you ensures you have time to act quickly on them.
As you know, software development is often divided between front end — the UI and UX your customers will interact with, and back end — all the code that interfaces with your business, talks to databases, handles logins, etc.
Once the sprints covering both facets of your app reach a mature enough state fortnightly demos begin. These are yet another opportunity to keep development aligned with your vision, to spot any issues and to just enjoy seeing your product coming to life. It’s an exciting part of the process.
Rushing towards launch
Once the demo days start you are closing in on the launch of your MVP. While you are preparing your marketing push for the big day, the SoftwareSeni team is running QA on your app, hunting down and squashing bugs. They are also preparing for the User Acceptance Testing (UAT) to ensure that your app, and your users, will be secure.
The first launch is just the beginning. It’s definitely memorable, but you will be launching a new version with new features and new fixes every two weeks as your user base grows and your product’s functionality grows with them. This process will become part of your business’s day-to-day workflow.
The new normal
The Silicon Valley phrase is “Software is eating the world”. Once your product is live, whatever your business is, it is now in part a software business. And as long as you’re in business, SoftwareSeni will be there to help you with insight, strategy, tech talent, and raw people power.
If you’re ready to transform your business into a software business with an app or website, get in contact and let’s get the process started.
If you’re new to the process, we recommend starting with our article on product conception – bringing your business idea to life.