Smart city development is a significant challenge. Success depends on managing more than just software development.
Smart city development is difficult. Smart city project management is even harder. Of course, as I learned early in my career, so is the management of most software development projects.
Smart City Development Life Cycles Need to Be Reimagined
In the typical approach, the software team waits for the hardware guys to finish building their latest device. Then one day, the hardware team dumps their prized invention in our laps and says, “Here you go. Go make it work.”
If you’re on a smart city developer project, that probably rings a familiar bell.
Development projects are not easy, and that goes double when we’re talking about smart city development initiatives. It’s also one of the reasons why many of these initiatives stall or flame out entirely.
Applying common sense will raise your odds of success. But you also have to pay attention to the dos and don’ts of smart planning. When you’re the lead developer on a smart cities project, here are things you must do – and things you must not do.
Worry about more than software
A large number of people and departments involved in smart city development makes the development cycle complex. These projects involve a myriad of different “smart” spaces. Utilities, roadways and traffic lights, waste treatment management facilities, and lobbies, among others – all need attention.
Success hinges on coordinating and communicating across those spaces as huge volumes of data are ingested and analyzed. And the importance of that success has risen dramatically in the COVID era.
This puts new demands on IT developers, who are more accustomed to building systems that don’t involve hardware. Their work centers on getting data out of existing structured databases for applications written to support, say, the marketing or finance departments.
Smart city development projects are not just a software development effort nor a hardware development effort.
It’s a systems development effort with a complex mix of systems and integration points to control. These include lighting, temperature control, and fire detection and suppression, just to name a few.
And in this case, people operating the smart building are going to be working with your application. These may be security folks or maintenance people who aren’t tech-savvy. We’re talking about a lot of people, not to mention the builder and any subcontractors. The lead developer needs to make certain those stakeholders are all talking to each other.
Compromise – but don’t roll over.
The lead developer must maintain a seat at the table – if not the head of the table – in a smart city development project. Yes, developers should be able to compromise. But they must demand an equal voice and stand their ground. So often, it’s the developers who end up getting railroaded by stronger personalities – and blamed when things fail.
Larger projects will, by definition, involve more people.
Make sure team members don’t become a hindrance by going off on their own. For instance, imagine one group goes out and buys hardware without first checking with the development team. What happens when the devices get hooked up to the software but don’t work? The developer team deals with the cleanup.
Are we clear? Crystal
With a team and proper communications channels in place, any smart city sponsor will get very excited about creating the future. The problem is that a lot of times, they don’t even know what the project fully entails.
When there’s an absence of clarity, hiccups are guaranteed.
Before you even hammer out the first line of code, create a detailed plan. What is it that you’re actually trying to do? If, for example, you are working on a safety application for the office, what are the parts of that application? If you really want to get off to a fast start, you need crisply defined goals.
Once you have a goal, make sure it’s doable. Prototyping is a non-negotiable pre-requisite.
Smart city development is still a new scene. So you have little or no idea what kind of surprises lie ahead. As a smart city developer, you’re most concerned with writing software. But let’s not forget about the hardware that the software is going to run on.
Test to make sure the hardware is going to do what it’s expected to do under real-world conditions. Plan on doing a lot of prototyping early on to resolve any integration issues so that the data you get is what you expected.
Smart city development projects include the deployment of sensors to collect data. But you still need to write software to understand the information that gets transmitted. The problem is that older sensors may not have APIs that allow you to get at the data directly. In certain cases, you may need to route data through a third-party system. All of that adds extra complexity.
Test, test and then test some more
OK, so you’ve done your testing and prototyping. And there’s a meeting of the minds around the implementation of the software, hardware and sensors. Great. But your task is only half-finished. You have to make sure it will all keep working.
Smart city development comprises literally thousands of moving parts.
So how do you know if all this stuff is functioning as expected e? Put monitoring measures in place. These will confirm whether the system is working as expected and diagnose any problems that pop up. Think through how you’re going to operate and what data you need to track performance.
And this isn’t a one-and-done. As you change the system over time, you need to retest to recertify that the system is working correctly. Don’t assume that software is well-tested. Keep monitoring and adjusting. And yes, expect adjustments.
The Platform Approach
If all of this sounds daunting, then you are not alone. You must have great communication and a fine team. Testing and monitoring are a must.
Yet, you are still going to run into challenges bringing these systems to life.
The larger the project becomes, the larger its complexity, scope, and importance. You need to leverage development and deployment environments that are purpose-built to enable smart city applications.
Look for platform toolsets that offer application frameworks, low-code development tools, pre-integrated hardware connections and deployment managers. In doing so, you will bring out the best in the smart city development team you assemble.
Image Credit: maurício mascaro; pexels; thank you!