The not-obvious factors of a software development project’s success – EnergyTech’s project
We would like to share with you some of the lessons we learned working on a recent project for an EnergyTech client. We were asked to build a mobile application to support monitoring and managing energy consumption in buildings. The project was completed for our Swedish client Nrlyze, but the lessons learned are applicable across many sectors like InsurTech and Fintech too.
Developing great mobile applications is a task that requires a lot of commitment and teamwork. In addition to technological factors, there are other, less obvious, ‘soft’ factors (detailed below) to consider that are crucial to the success of a project.
Here’s a quick recap of the technical factors you will need to address for a successful IT project:
- Adapts to different mobile platforms: The mobile app should be available on multiple platforms, such as iOS and Android. We wanted to ensure that the Nrlyze app works properly on each platform, and to take advantage of platform-specific features that improve the app’s efficiency.
- Ease of use and intuitive user interface: Mobile apps should be easy to learn and use. An intuitive app interface allows users to find what they need easily and quickly.
- Performance optimization for mobile devices: Our mobile application is optimized for specific operating systems so that it runs quickly and smoothly, and is economical in power and data consumption.
- Security and data protection: The mobile app should be secured against cybercriminals and protect the privacy of users. We wanted to ensure that user data is stored securely and is not vulnerable to attacks.
- Application testing: Testing the app before deployment is crucial to ensure that it works properly and meets users’ requirements. We conducted tests on a variety of mobile devices (different OS platforms and different screen sizes) to ensure that the app works properly on each supported device.
Although the factors indicated above are very important, other non-obvious factors – so-called soft factors – are often underestimated and overlooked. In the case of the project, it was by concentrating on these factors that we were able to fully meet the needs of Nrlyze.
The not-obvious factors of a software development project’s success – EnergyTech’s project
1. Communication is the key to success
The first important ‘soft’ factor is communication. Effective communication between project team members, stakeholders and users is crucial to delivering successful IT project outcomes. Every stakeholder needs to be engaged in transparent and regular information sharing that is tailored to the needs of the audience.
During our most recent project, we had regular meetings with the client where we discussed the progress of the work and solved problems. Through regular communication we avoided many misunderstandings and both parties were confident that we were moving in the right direction. Information exchange between the client and the team is crucial to addressing problems and challenges as they arrive – but it is also instrumental in capturing the client’s business knowledge and applying it to the project.
The Nrlyze app was successful precisely because the client was flexible and accessible, allowing us to easily establish contact and quickly obtain the necessary information to keep the project moving forwards. We used several communications channels (face-to-face meetings, video calls, instant messaging) to keep information flowing freely between stakeholders, increase transparency and reduce potential delays to the development process.
2. Understanding the business
The second important factor is understanding the business area and the client’s strategic goals. Our project team members must have a detailed understanding of the business if we are to fully meet the agreed outcomes.
More than just coding ability, a successful project team must also be able to analyze business strategy, understand project objectives and match technical requirements with business requirements. The shiniest, most feature-rich app offers nothing of lasting value if it cannot help the client achieve their strategic goals.
As a result, we invest significant time and effort to quickly learn the nomenclature used in the application and the specific requirements so we can deliver exactly what the client needs. This is an important part of our BFA (Business-First-Approach) mindset.
3. Problem-solving attitude
Another important factor is a problem-solving attitude. In the case of this particular EnergyTech project, we were faced with many challenges, such as a short delivery deadline and the unique needs of the client. None of these challenges were particularly unusual, but having an established framework for approaching them is vital. Because our team has a problem-solving mindset we were able to find creative solutions in time and complete the project successfully.
As an example, one of the features required of the mobile application was the ability to scan QR codes from energy consumption monitoring devices. This would then allow the app user to configure the associated device in their energy management system. QR code scanning functionality itself is nothing unusual, but the challenge for us was the actual location of the monitoring devices. Most were in difficult to access areas (e.g., a dark basement) and the QR codes were often not readable due to insufficient lighting. We had not considered these kinds of environmental factors before work began, but it was obvious that without effective QR scanning this project would fail.
With some creative thinking (and extensive testing) we managed to solve this problem and prepared the software in such a way as to optimize QR code scanning in low-light environments. Without this combination of technical experience and problem-solving mindset, it is unlikely we would have been able to develop a workable app that met the client’s needs.
4. Adapting to change
2500 years ago, Heraclius of Ephesus famously noted, “The only sure thing in life is change.” This observation remains true today – especially in IT projects. There is absolutely no doubt that the ability to adapt to change is crucial to the success of an IT project because the situation will inevitably change (at least once).
During the course of a project there are usually unforeseen circumstances and problems. When the landscape changes, the project must be adjusted to keep up with these changes – otherwise the delivered app is unlikely to meet the client’s requirements.
Adaptability requires the development team to be flexible, creative and to have the ability to make decisions under uncertain and changing conditions. These skills can only be acquired through extensive technical experience and working within an industry to acquire domain-specific knowledge.
5. Flexible contract terms
Our Chief Architect avoids the word “flexible” when talking about IT projects, but in the case of software development contracts, “flexibility” is crucial. For the Nrlyze project, the contract terms included:
- An elastic scope of work: An initial scope of work was established, then modified on an ongoing basis depending on the client’s needs and changing circumstances.
- A model based on working hours: we billed only for the work actually performed.
- Agile approach to project execution: due to the short timeframe for the project, we worked in short one-week iterations, making regular, incremental deliveries to accelerate development and testing.
- Quick response to changes: because of the short iterations, we were able to address change requests and code problems very quickly.
- High software quality: Agile project delivery should not come at the expense of software testing. We performed ongoing testing on key mobile devices and analyzed reports from the App Store and Google Play stores to maintain the highest coding standards.
The contract we prepared was advantageous for Nrlyze, allowing them to begin the project quickly and efficiently, and tailoring deliveries to their needs and requirements. Nrlyze also had a direct control of the project’s budget, which was changing dynamically thanks to the pay-as-you-use billing model.
For our Chief Architect, the flexible contract allowed for more freedom and greater control over the project, allowing our team to use its skills and abilities more effectively for the benefit of our client. Our contract has been developed based on our experience of working on projects for many startups and scaleups, allowing us to adapt during the engagement. This enables us to better meet our customers’ fast-changing needs.
6. Intrinsic motivation
Agreeing certain factors in advance is important, such as project scope, deliverable timelines, budgets and management oversight. However, there are other intangible factors that cannot be codified or agreed in a contract.
Specifically, we are talking about the alignment of values and goals with those of the customer. Many companies claim that their success is measured by the success of their clients – but here at Ultiro we ensure our values align with our customer’s to create shared goals. Our client cares deeply about the environment; Ultiro also regard sustainability as a key value, so we were able to use this shared interest to inspire our own work, solve problems effectively and to create innovative solutions that upheld the eco-friendly goals of Nrlyze.
Success means looking beyond the tech stack
Successful mobile app development for any sector, including EnergyTech, involves much more than simply choice of tech stack. As we have shown, there are several other factors to consider for successful software development:
- Flexibility and a readiness to react quickly to changing circumstances
- Communication and an understanding of the app, users and industry
- A problem-solving attitude
- Alignment of our values and goals with those of the client
- Good technical background of the team.
Cooperation and flexibility were critical to success – as they are for any software development project. The mobile app, as a part of the Nrlyze product, also demonstrates that innovative solutions can be created to improve the quality of life of users and protect the environment.
The new Nrlyze app has been engineered to provide a degree of future-proofing, even if the underlying core systems are updated. These change-resistant capabilities are a feature that we implemented additionally, without direct customer requirement – and without extending the project deadlines. This approach ensures our client gains further benefits such as stability, security, availability, reduced cost of making changes, and competitiveness by reducing the time to deliver changes to the market.
And as a business committed to continuous improvement, the lessons we learned working with Nrlyze will now become part of all future projects when working for EnergyTechs as well as InsurTechs, FinTechs, PropTechs and other startups and scaleups.
See Nrlyze Case study!