Advanced Kiosks’ Software Development Process
Advanced Kiosks is a self service computer kiosk company that develops both hardware and software solutions. Zamok is our kiosk management software designed to ensure a secure and user-friendly experience using API that software companies can use to control remote management. Currently, we are in the development process for Zamok 2.0, which will include new features such as real time diagnostics, automatic notifications (SMS/email) to report kiosk malfunctions (when they rarely occur), and LED array controlling. The following is a step-by-step explaining our process for software development.
Step 1: Identify a Need
The first and arguably one of the most crucial steps to the software development process is identifying a need. Before spending time developing and testing software, a need must be identified by the development team to value the work being done.
“Typically, a new feature is either requested by a customer, or identified by internal meetings. The team observes the following variables: what the customer needs, what the software can already do, which software platform is best suited for this role, and what needs to be added to form a complete solution”, Marshall Nye, Dev Ops Specialist at Advanced Kiosks.
Step 2: Source the Required Hardware
After all of this is drafted up by the development team, required hardware for the project is discussed. An example may be, in order to test Advanced Kiosks’ Zamok (kiosk management software), the team needs a computer to test it on.
“After evaluating the customer’s needs, we begin to figure out what hardware will be needed for the project and what the software will need to accomplish.”
Mockups are created to explain how the hardware is going to look and function and then they are combined with an initial UI sketch.
FUN FACT: The word engineer comes from a Latin word meaning ‘cleverness’.
Step 3: Walk-through Development
Once a rough concept is created for how the application will work, the usage flow process begins. A walk through is executed from the user’s perspective. This stage helps identify issues by observing the end user’s experience. The issues are addressed, the mock-ups are updated, and the usage flow process begins again. Once all possible outcomes are tested, a software specification is written.
Step 4: Specification Outlines
This specification outlines:
- How the kiosk management software is expected to behave
- The rough UI concept
- The technology required
- The timeline of the project
The specification is then sent to the development team for review and feedback. Once the spec is approved, research is done for hardware to software integration. The information goes back to the development team and then they write the code.
Development Continued: The SCRUM Process
Advanced Kiosks uses a modified SCRUM/AGILE development process. This development method allows a team to take high level concepts and break them down into smaller tasks.
For example, take the broad concept “Make LEDs work” and break it down into smaller tasks such as “create a user interface to change LEDs”. By breaking down broad concepts, it is easier to keep track of development progress.
“All these steps, tasks and features are tracked through an online management tool called JIRA. We use this to track the status of projects, and record hours and development time. Every two weeks (or ‘sprint’ in development terms) a meeting should be scheduled to discuss progress and set future goals.”
Step 5: Testing
Advanced Kiosks does an alpha/beta (internal/external) process for testing. Usage flows created during development are used for testing and observed in the testing environment. If portions fail, or strange behavior is noted, it is reported to the development team. Alpha testing is repeated in a controlled, internal environment until no bugs are reported. After the software passes alpha testing, an initial beta test is released.
For the beta test, select customers take the software and deploy it on one or two kiosks. If the customer sees an issue, they report it to Advanced Kiosks and the issue is resolved.
“Since we cannot anticipate all of the variables of a deployment, these beta tests are extremely valuable to us to develop a strong, stable product”, Nye.
Step 6: Release 1.0
Once beta testing is finished, the 1.0 version of the product is released and available to mainstream customers. The development team continues to monitor for issues, and they update and upgrade as any issues may arise.
Like what you see?