With any renovation project, you must be organised and make the most of your resources. You have to ensure the end result is what you wanted, and that you deliver on time and on budget. In our experience, the best way forward is to break down your software project into the following stages.
Engage and workshop
We don't recommend months of analysis by an external IT consultant to plan your digital roadmap. Instead, we think multi-disciplinary teams from within your business are the best sources of input. We conduct a series of facilitated workshops to uncover the real pain points for your people or your customers. In some cases, it would be beneficial for this working group to gain some knowledge of delivery methods like Agile, user-centred design or LEAN.
Choose the right problem to solve
There are many ways to manage a long and complex activity list. Our approach for application renovations is to find a contained problem that is low risk but high value - and deliver it fast. Choose a problem that's too large and the results will take longer and you might not generate momentum. Choose a problem that adds little value, and your project sponsors may not get their ROI and hesitate to release more funds.
Proof of concept
People love to see ideas turn to reality early in a project. At Kiandra, we spend time up-front producing prototypes and working proof of concepts (POC). These could demonstrate the visual or user experience design, or be working software to prove how a feature might work such as a complex integration or workflow.
Engage some more
Once the POC has been approved, it’s time for intensive and interactive user workshops which may include user research. What are we doing and why? How will success be measured? What are the priorities of time, scope, budget, quality and user experience? It's all part of Kiandra’s agenda which is a fun, frenetic and creative experience and involves drawings, LEGO, research, digital whiteboards and many post-its.
Design the solution
This is where go into detail to understand and define the expected experience for your people. Our design team brings the idea to life with a prototype/wireframe that can be iterated before a single line of code is written. We will also investigate any technical, legal, security and personnel constraints or guidelines. For example:
- Are you replacing existing legacy workflows and processes?
- Does your application need to be accessible? If it does, don't make it an afterthought.
- Where does your data need to be stored?
- Can you go cloud, on premises or hybrid?
- What devices does it need to work on?
- How many languages do you need to support?
Develop the application
Our iterative approach to development is based on the Agile software development methodology. It's a collaborative way of bringing Kiandra and client teams together to optimise productivity and speed delivery. This enables us to continually deliver working software by operating in short analysis, design, develop, test and release cycles. These short cycles accelerate time to value, while continuous planning and feedback ensure that value is maximised throughout the project.
Development sprints are when you see the application taking form. Each sprint is one or two weeks with regular output for you to test. Some projects require more up-front analysis, while others are more flexible as we uncover scope.
Test and deploy
Quality testing is built into the Kiandra delivery process and the application will be rigorously assessed. During the build phase, we will perform several automated deployment releases. This will ensure the deployment strategy has been fully tested and all bugs ironed out. Therefore, the final integration should not present any issues.
Final application testing and security checks will be completed to ensure you're ready to go live. If included, a penetration test is conducted to uncover any potential security vulnerabilities and our team will remediate them before go-live.
We’ll provide you with a go-live checklist so you're fully prepared. Then we’ll seek your approval to push your application into the wild (also known as ‘Production’). We expect that the implementation phase will be when user training is performed, and a complete handover made to the in-house team.
Feedback and measure
Throughout development, feedback loops help ensure the application delivers on its objective. Feedback can come via regular testing or from showcases to stakeholders. The best feedback comes when the intended audience provides valuable and often underestimated input into how they will actually use the application. Seeking response early can save you from going down the wrong path.
Once your application is operating, we get more feedback to incorporate any changes into future work. At this point, we also benchmark the objectives of the application, for example ‘to decrease processing time from 1 hour to 5 mins’. Measuring hard metrics offers confidence to project sponsors that their investment is making a tangible difference and can lead to additional funding.
Prioritise for the future
Say you've successfully completed your first project. It may not have been the most important or the largest one in your transformation, but it was selected to deliver quick results and generate momentum. Most importantly, it has proved and/or improved your method for ongoing transformation. Which means that now, prioritising future projects generally becomes easier since you’ve created a blueprint.
Ensure adoption and cultural change
Aside from the actual build, the key to great software is ensuring it’s properly adopted. This is particularly true for application renovations where your new solution could be replacing decade's old workflows, so some users may need more convincing than others.
On our projects we find this takes place throughout development, not just at the end. That's because we involve clients and users closely throughout the process, and ensure training is immersive and easy to digest. No great application should need a massive user guide, so focusing on quality experiences and training ensures the best chance of adoption.
A successful project relies on more than the expertise of the client and the technical skills of a partner. Successful projects break down traditional barriers of client and partner relationships to work as a single unit — supporting complete transparency, knowledge sharing and honest conversations. The ability to foster such a way of working is the minimum any delivery partner should bring to the table.