On This Page
After deployment of software, there is usually an ongoing need for improvement of features, new features or adapting to changes from factors outside the product that necessitate updates. Whether Project Balance built the first version of the software, another vendor built the software, or you built the software in-house, Project Balance applies the same best practices to the new development in this maintenance phase as we would for any other project.
Project Balance works with you to gather requirements to create a backlog of enhancements or updates. Using an Agile software development approach, you/your team selects the enhancements that bring the greatest value to your organization, and we work on those first. We may bundle the enhancements as a mini-project or you can engage us for ongoing development with a small team. We work with you to optimize your funding to cover maintenance so that your organization can sustain your digital assets.
Project Balance covers all four different types of maintenance activities including:
- Corrective – fixing defects
- Adaptive – handling impacts to an application as a result of a component outside of the software changing, such as change in a third-party feature or possibly an operating system change.
- Preventive – Update to the software to detect and correct potential faults in the software product before they take effect such as optimizing queries as the size of the database grows or monitoring your server for outages.
- Perfective – Usually as a result of user feedback, enhancing existing and adding new features and functions of the software.
Hosting and Server Monitoring
For software development projects done by Project Balance, we first set up a QA server and then replicate the optimized server settings to a production server. Your production server may be hosted by Project Balance or in your hosting environment. Hosting services include activities such as uptime monitoring, database back ups on a schedule, and disaster recovery. We use tools such as Sentry.io for error tracking and Intruder.io for vulnerability alerts.
Project Balance is acutely aware of the marked increase in cyber threats over the past decade and we believe threats will increase dramatically as the world adopts a digital-first and always-online approach to business with high-speed connectivity and the growth in remote working environments enabled by 24×7 connectivity. With firsthand knowledge of how breaches can occur, we take security seriously and adopt a number of approaches to security, including staff training and dedicated development environments for projects. We may set up Virtual Private Networks (VPNs) to securely connect to your production network for you and your staff to reduce the possibility of others accessing your connection.
Requirements Solicitation and System Assessments
Project Balance knows how to gather requirements and design user-centric software. The key to gathering “good” requirements is soliciting input from all stakeholders and then, through use cases, workflow diagrams, data dictionary, wireframes and storyboards, clearly articulating how a software product will display to different users, the navigation flows and the data collection processes. We’ll also gather information about output reports and dashboards, design storyboards and document business rules needed to calculate or transform the data for decision-making. This gives your team a common understanding of the requirements and allows you to prioritize and approve the features and functions that will be built.
In addition to user requirements, the requirements gathering process includes documenting the technical specifications. A technical specifications document is written that describes each component of the project including database design, technical design, third party component integration/interoperability, security requirements, server set up and any other technical specifications.