Image URL: https://sc-apprenticer.s3.amazonaws.com/images/images/000/000/058/original/envision.jpg?1473810441
Preface: Standard Code was asked to assist with a very large project sponsored by a U.S. government agency. We'd worked with the stakeholders before and we have worked on a number of projects similar to this where the project had become over budget, slow to respond, and difficult to upgrade. Below is a step-by-step process of our expertise in working on large complicated projects.
Our organization, and our partners, have benefited greatly from our partnership with Standard Code. Their ability to provide high quality software development services has allowed us to gain the efficiencies of custom information systems while maintaining focus on our core competency of delivering global public health services. Alex Pavluck, RTI International
The project in question is a large application and reporting engine. Ministries of Health in various countries fill out a very complicated excel based workbook and submit their response for aid. The development of the application was months behind schedule. The developed portion of the application was full of bugs and critical documentation was non-existent. Additionally, technical support and maintenance wasn't meeting expectations.
Standard Code was brought on to complete development, fix bugs, create documentation, and provide ongoing technical support. One of Standard Code's strengths is working closely with the both technical and non-technical teams and owners of a project to dive into existing solutions, understand the current state of the project, and document the solution the for long-term success of the project. Standard Code has rescued several large scale projects similar to this using a 3-step process: Step 1: Sit down with key stakeholders to hear and understand both project successes and frustrations and limitations. Developers have a tendency of overlook this important step. Developers are smart problem solvers that often believe their take on the situation is correct. At Standard Code, we pride ourselves in listening and keeping an open mind, recognizing that team owners have important domain expertise that is critical in the creation of a successful project. For this project, we met with users of the system for two days in a Washington DC conference room to gather feedback and understand what the project needed to be successful. Additionally, we worked closely with project owners who had a direct line to the developers completing the project.Step 2: Dive into the code, understand it, and get it running. We won't lie; it is painful to inherit someone else's system. Large-scale applications are full of complexity and even the best architected systems have quirks. Failing ones have much larger issues. It's important that developers take the time to understand how the application works as a whole before making upgrades. During this process, we learned that the project handles tens of millions of data points, dozens of countries, and a broad spectrum of data inputs. Additionally, the system supports half a dozen languages. While it's not feasible to fully understand a large scale project like this during a system review, we were able to get our arms around it after many hours of focus. Step 3: Take ownership of the project After gathering as much information about the project as possible, both from a users and development perspective, it is important to fully own the project. Owning the project requires that you set up a process for the project team to work with the developers as well as ending the relationship with the previous developers. At Standard Code, we are able to connect the team directly with our developers. Having our team of developers interact with the client cuts down on back and forth and eliminates the kind of telephone game that plagues many projects. Cutting out the previous developer team can be a delicate process, but it's important to make a clean break to ensure consistency moving forward.
The project is now back on track and has become a critical tool for our client. Standard Code is fully integrated into the project development ecosystem. We've made many critical updates and bug fixes to increase data consistency and stabilize the project's uptime, including adding monitoring tools to catch any issues that may occur. The teams' requests are handled efficiently and their view of the project as a valuable tool has greatly increased. Additionally, we managed to save them thousands of dollars on hosting.