How Do We Ensure the Quality of Our Structural Analysis 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.
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 more than 200 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%.
The result output of our 200-file solver checker
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.
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 Analysis and 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 almost 2 million solves. 2 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 a year and a half 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. 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.
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.
CEO and Co-Founder of SkyCiv
BEng (Civil), BCom