XEKERA SYSTEMS’ APP DEVELOPMENT PROCESS
At Xekera Systems, we have established a world-class reputation as one of USA leading engineering design houses, focusing on helping clients develop new and innovative products to drive their growth. An essential part of how we operate is following a multi-step process for application development. This provides us with a detailed roadmap on how applications seamlessly move from ideas to deployment. The combination of well-documented processes and extensive in-house expertise are the main ingredients for delivering successful applications to our clients. To provide more insight, here is a breakdown of each step in the app development process and how we can help you with your needs.
1. Requirements
One of the keys to a successful application is getting a complete picture of what the app is intended to do. At this stage we gather all the information we need by asking the customer as many questions as we can about what they need to complete their vision and cover as many details as possible; guaranteed there will be things the customer has not thought about or considered. With this information we are able to determine the project requirements.
In many respects, gathering requirements involves developing an intimate understanding of an application and its complexity.
- The more pages that an application has or the more processes within software, the more complex it will be.
- The difference between an easy app that connects to a Bluetooth device and a more complex app with the same purpose could be as simple as adding user accounts.
In gathering requirements, we develop a high-level plan about the basic application’s/software’s structure, according to the customer’s description.
Requirements definition is an important process because it ensures that NeuronicWorks and the client are crystal clear about how to make the application a successful reality.
The requirement capturing process is designed to eliminate any ambiguity or uncertainty. While not every single detail is worked out at this stage, both sides are on the same page about expectations and the deliverables.
What to expect:
Discovery Phase:
• Use: What is the app/software main features?
• Goals: What would be achieved with the app/software?
• Function: How should the app/software achieve said goal?
Terminology Definition:
• Definitions of things that use different words then we are used too.
• We could mean the same thing but are saying it in two different ways
2. UX/UI Design
This is a crucial step in the app development process.
Once requirements have been identified, the UX/UI Design process starts. This process focuses on uncovering what the application has to achieve for the end user and how to align it with business needs. At the beginning, we need to define the problem being solved for the end user. We identify app features and begin the process of research and designing the UX and UI.
UX and UI design consist of multiple steps. But UX design always comes first — like an architect’s plan. It is the foundation of the mobile app. UI design usually is introduced at a later stage — like interior design after a house is built.
What to expect:
• We invest the time into a user discovery process and the development of user archetypes — personas. These are our client’s target customer’s needs and goals. Understanding the end-user helps us anticipate a customer’s thought process and lets us make better design decisions and a better UX.
• Our will designers map the entire flow of the user interactions within the app. We will anticipate all the steps that a user will take to complete tasks inside the mobile app.
• Sketching and wireframing process comes after the flow is defined. At this step, we will design all the main screens of the app. We put ourselves into the users’ shoes and design from their point of view.
• When the wireframes are completed, mock-up testing happens. We transform wireframes into a prototype so clients can test the flow of a product. This allows them to validate the idea and design changes are easily implemented.
• The last stage of the process is when we work with the client to establish the visual design of the mobile app — UI design. We develop a style guide with colours and fonts defined and generate graphics assets.
3. Platform Selection and Solution Architecture
After the design is complete, the next step in the process is the platform selection and solution architecture. In many respects, the insight for this process hinges on the requirements document and the application’s complexity.
At this stage, there can be many solutions available for something that works but only a couple of ways that it works for you and your product. This comes from a different combination of the services used within a cloud provider, the cloud provider, and even the libraries and frameworks used in the development. We excel at smoothly linking everything together.
The architecture allows the software developer to create an overall plan about how everything will work together. It is important to think about the entire system as a big picture or a set of “Lego blocks” that connect with each other.
What to expect:
• Solution Cost Analysis and service usage breakdowns
• Solution diagrams with a few solution configuration options
4. Implementation
This is the process of putting pencil to paper or fingerprints on the keyboard. We take all the fundamental requirements and the layout of the solution architecture, and start filling out the individual blocks. In this step, requirements can and will come into question and possibly be changed. Some will stay written in stone, and they will be developed first. Usually, we start by implementing a feature, moving to the next step and then coming back to implement the next feature until the application and software is finished.
At this stage, we start to do proof of concept work to demonstrate the application is working. As well, small demos take place to validate the required functionality and look and feel of assets.
In addition, the developer will perform unit testing, a process in which every feature is tested while implementing it, and add new users to ensure everything is working properly and catch simple bugs early on.
As a rule of thumb, NeuronicWorks approaches implementation based on the understanding that the application/software will launch with a small number of users but eventually many people will use it. In other words, we build to handle scale and success.
What to expect:
• Proof of Concept demos
• Feature demos
• Prototypes / Beta Releases
• Possible requirements changes or additional requirements discovery
5. Integration and Testing
This is where the final countdown begins. This stage has all elements that connect everything together and it links and tests the features end to end. Once a feature has been implemented, it may need to be integrated with the cloud API that supports it, or the main branch of development to integrate with the rest of the application code.
Once that is done, it is important to test the feature and integration from end to end, usually with white box testing. White box testing tests the integration from a QA standpoint more thoroughly. Then, the unit or proof of concept tests are done by the developer preforms while implementing. In this type of testing, the QA tester is using prior knowledge of the application and its operation to preform tests and recording the steps taken to report bugs.
Black box testing is usually done by QA to perform a final verification before moving to production. Imagine a first time user starting from the beginning with no prior knowledge of the software or its features or how it works. That is black box testing.
Since the application is close to being completed, quality control testing is done. We can also create a production environment to do beta or integration tests. Normal users will not be affected. It is like a small sandbox or testing area within the production environment.
The last step is creating all the accounts and integrating all the services in preparation for release.
What to Expect:
• Integration with the development environment
• QA White box Testing
• QA Black box testing
• Production environment set up
6. Product Deployment
This is when the application goes for its final release. All the mission-critical development has happened and it is verified. All parties sign off and the countdown reaches zero. All systems are “go” for launch, and the order to launch is given to enable deployment. Just like space, however this is nowhere near the end. Usually, this marks a great achievement of version 1.0 but there will always be a need for a version 1.1 patch. The next phase of development starts as soon as the application is deployed when you go back to the implementation stage with new features, bug fixes, updates or improvements, as well as support for other services along the way.
What to expect?
• Support from our side to upload to Apple, Google Play Stores
• Official release publicly
While Xekera Systems follows standard processes for app development, we stand apart by having a complete team of engineers with a comprehensive set of skills and expertise across the product development spectrum.
This unique positioning gives us a distinct advantage because we take into account every aspect of a product development from industrial design, mechanical, hardware, and software, to prototyping and manufacturing.
Get in touch to learn more about how Xekera Systems can help you with your next app project.