How Do We Ensure the Accuracy of Our Structural Software?
Aristotle once said “quality is not an act, it is a habit.” Quality is a learned behavior defined by repetition. That's why we believe quality assurance is about setting up a specific set of procedures and protocols to ensure certain standards. This article explores SkyCiv's procedures that ensure the accuracy of our results and the quality of our product.
Our users trust us everyday with their projects and this not a responsibility we take lightly. This high regard has stemmed from two things: (1) the trust of our users and (2) passion for our product. Passion for our product means that for us, even the smallest details matter. Learn more about 6 of our procedures we take to ensure the accuracy and quality of our Structural Analysis and Design Software:
1. Automatic Solver Tester
One of our most important internal processes we have to ensure the accuracy of our results is an automatic solver checker. This script goes through hundreds of preselected projects and compares the results of our solver to known values. With each file, the script checks every single result (reactions, shear force, bending moment, deflection, stresses and more) for every single member in the project. This amounts to the checking of literally millions of results. We run this solver prior to every update, and will not release until the results match up at 100%.
Example of the output from our solver tester
For our design modules, we rely on code verification examples provided by the various standards around the world. These are checked with the SkyCiv results and publicly tabulated for users' reference. For instance, following the AISC 360-10 release, we verify the results with the provided examples given by AISC. We also have a comprehensive list of Analysis verification models and add more weekly.
2. Built by Engineers, for Engineers
Our in house product development team is comprised entirely of qualified Structural and Mechanical Engineers. With years of experience in hands-on Structural Design, our team knows exactly what they are building. This ensures there are no gaps between product development and technical knowledge; it is all integrated. The quality is also dependent on the fact that our software is all built completely in-house, by full-time SkyCiv employees - nothing is outsourced to ensure our product remains at a higher standard.
Our team is also extremely passionate about every corner of the software. We will spend hours planning and building a function to make sure it runs as we want it to. I believe anyone who has used our software can see the close attention to detail we put into making the software intuitive, powerful and enjoyable to use.
3. Tried and Tested
The SkyCiv Structural Analysis Software has had more than 3 million solves. That's 3 million structures that have been analysed by the software and then reviewed by engineers. Engineers are a careful breed - double checking work, verifying solutions and (the good ones) take a software result with a grain of salt. Engineers have kicked the tyres of our software with millions of their projects - with no result discrepancies since the automatic solver tester was implemented more than two years ago.
SkyCiv has also undergone third party scrutineering in order to be on a number of approved software lists. For instance, SkyCiv was tested under more than 30 test cases to get on the Hong Kong Building Department's pre-accepted Structural Software list.
4. Open Reporting
Still unsure? SkyCiv is committed to open, transparent software - showing all calculations, assumptions and results in our design reports. SkyCiv's design software (Reinforced Concrete, Connection Design and Member Design) all have open reporting, so engineers can review the step by step calculations of the software. The reports are in a professional PDF format, click here for a sample AISC 360 Design Report from SkyCiv's Structural 3D software. Allowing engineers to review the calculations of the software, means the assumptions, calculations and results can all be reviewed and checked prior to an engineer signing off on the design.
5. Tracking our Bugs
Our live version is constantly feeding us bugs and errors received by our users. This bug tracking allows us to identify any issues with the software so that they can be repaired. As we are based in the cloud, we can repair the bug, run the solver check and release an update without the user ever noticing. This means we are constantly improving the User Experience by constantly monitoring, repairing and updating the software.
6. Beta Release
We generally try to release any key functions or features as a beta version, prior to full release. What this does is allows our users to use the program more apprehensively and provide us with valuable information to ensure the accuracy and performance of the function. This is common practice in software development and ensures the user is aware that this part of the program may not be at 100% and should be used conservatively. This is paramount in ensuring quality. We are testing the release on a variety of real-life applications, across combinations of devices, operating systems and browsers. As you can imagine, this amounts to thousands of combinations that we could never test internally.
CEO and Co-Founder of SkyCiv
BEng (Civil), BCom