There are two common ways that software can be developed and configured – Waterfall or Agile.
In Waterfall, a software company typically spends large amounts of upfront time detailing and scoping the clients needs before providing a client with a complete design for sign off. Once approved by the client the software company then goes away and builds and configures the application, and once completed it is then provided to the client for use.
Where Waterfall often fails is that the client has little to no input in the development of the application whilst it is being built, meaning they must be confident that all their immediate and future needs will be addressed once the application has been finalised. Changes to needs or processes discovered after the application has been delivered then become costly re-developments or out-of-scope requirements.
At Saasplications we utilise the Agile Methodology to develop and configure bespoke applications for our clients. Our experience shows that unlike Waterfall, clients must be involved in the development process, and have visibility to make informed changes whilst the solution is built to ensure they not only receive the right solution, but also that the solution is not built with bloated features they don’t need.
The Agile Development Methodology works because the client has the opportunity to review small portions of the development and suggest changes and additions whilst the application is being built – meaning there is little chance that the client will receive an application that doesn’t accommodate their current and future requirements.
Agile also minimises the overall project length and design time, because the client is frequently reviewing and providing ideas allowing only what is required and useful to be configured, and unnecessary items to be removed. With Agile the initial prototypes may be rough, but they quickly get refined through review and are often functional enough to start using immediately.
The advantage of Agile Development is that clients are able to access and even use/test portions of their solution whilst being developed. Software gets delivered earlier for assessment; creating a faster time to benefit as well as a reduction in the risk that a solution may not address their needs.
The methodology also allows a client to provide feedback during the process, meaning that their is less development wastage – and the developer can focus time and effort on what the client prioritises as theirs needs.
A workshop is conducted to understand the businesses processes and customer / supplier / enabler touch points. The intention of this phase is as a high level overview to determine focus and timings.
The result is a shared understanding of key processes, community and high level flows.
80% of the business will be managed with 20% of the flows. It is important that these flows are as efficient as possible and tested by the business. These flows are completed first.
Each flow we will start at the beginning
1. The flow initiation steps and the required information
2. Configure the system
3. Users to check and identify improvements of Configuration
4. Back to 2…
While refinements are continuing on the beginning stage – we move to the next stages of:
1. Flow next steps detailed
2. Configure the system
3. Pass configuration to users to check and identify improvements
4. Back to 2…
We continue until the end points of the flow have been reached.
Some of these flows will be variants on the core flows. Some will be completely different – for example after sales service.
The required flows will be listed and prioritised then each approached as above. From the beginning until the end.
Key users in the business will do scenario testing checking the flows are capable and complete.
Key users will assist with training rollout across the business.
Go live is a cutover weekend. Normally multiple practice cutovers are done to ensure any imported data (example open invoices) creates correctly.
For 3 months after go live we expect that users using the system will want minor changes to improve usability. There is often items that were not considered by the users prior – or good ideas that come up because of a new way of doing things. We expect this and work with you to implement changes that are needed. This ensures that the system is actually working well in the business instead.