Lessons from our engagement with Johns Manville
In the world of custom software development, the ability to create innovative solutions often depends on more than just coding skills and technical expertise. It requires a deep understanding of the end users, their unique challenges, and the real-world conditions they face.
While talking to constituents, interviewing them, and gathering requirements are essential steps in the development process, our experience at 303 Software has taught us that true understanding often requires something more profound—walking in the end users’ shoes.
Understanding the Need of Real-World Challenges
We began an engagement with Johns Manville, a company specializing in roofing solutions across the United States, to rebuild their mobile application for their technical representatives performing inspections. This work would replace an existing application built on a deprecated codebase. Initially, this may have seemed like a routine porting project for a seasoned development team, but it soon became apparent that the end users’ needs extended far beyond what was initially built including offline modes, ability to edit photos and ability to start/revert inspections.
Technical representatives face a myriad of real-world challenges that are often overlooked in the confines of a typical office. These challenges include extreme temperatures on rooftops, spotty cellular coverage in remote locations, and the need for the application to perform flawlessly in a variety of weather conditions. The most critical requirement was to ensure seamless functionality both online and offline.
The Power of Immersion
What set this project apart was our decision to immerse ourselves in the end users’ world. We didn’t just gather requirements; we became technical representatives, even joining one on an actual rooftop inspection. We climbed a 30 foot ladder, we walked the roof of a large industrial complex and we inspected every nook and cranny for defects. This immersion opened our eyes to the unique demands of their job and the importance of addressing them. We suddenly had their perspective on the feature requests.
Empathy-Driven Solutions Foster Collaboration
User feedback became our guiding light. We implemented features like informing users when they were working offline, periodic data synchronization, and unsaved data reminders. Users could even prepare for remote site visits by pre-saving essential data. This approach not only improved the application’s usability but also built confidence in our team’s ability to deliver.
One of the most remarkable outcomes of this empathetic approach was the transformation of our collaborative environment. Instead of contentious conversations when defects occurred post-launch, we found ourselves engaging in constructive discussions. Our empathetic understanding of users’ needs made defect resolution smoother and quicker.
The Lessons Learned
The invaluable lesson learned from this experience is clear: you can talk to your constituents, interview them, and receive requirements from them, but until you actually put yourself in their shoes, you may not truly understand them and their needs. It’s this empathetic understanding that separates great software development teams from the rest.
In the end, the success of our engagement with Johns Manville was not just about building a functional application; it was about creating a solution that truly met the needs of the end users and a relationship that will last a long time. The power of empathy in custom software development cannot be overstated. It transforms teams, fosters collaboration, and ultimately results in applications that are not just technically proficient but also profoundly user-friendly.
So, the next time you embark on a custom software development journey, remember to take that moment to immerse yourself as an end user. You might just find that it’s the key to delivering solutions that stand the test of time and truly make a difference.