Following a 6-step process, we use Agile SCRUM. The process is both iterative and incremental meaning that it makes progress through successive refinement.
We take a first cut at a system, knowing it is incomplete or weak in some (perhaps many) areas, and then iteratively refine those areas until the product is satisfactory. With each iteration, the software is improved through the addition of greater detail.
Each iteration is broken down into 4 phases: Design, Code, Test, and Deploy. These steps are repeated in usually 2-week sprints.
It all starts with a complementary discovery session. In this step, we will find out more about you, your business, and your needs. Discovery also allows us to gain a better understanding of the scope of your project and be able to provide you with a time and cost estimate. For bigger projects in which the requirements are not clear, or in situations where it is not known whether the idea is technically feasible, a full discovery phase is required. From there, we’ll determine the best and most cost-effective course of action for your project.
Once we’ve created a project development roadmap, we commit to regular deliverables that keep you in the loop every step of the way. This is important as communication is key. Keeping our clients aware of the progress allows for transparency and understanding, which in turn delivers a superior project. One that is well made and tailored to your requirements.
Schedule a discovery meeting with us today and let’s turn your ideas into solutions.
With every project, no matter how big or small, we’ll share with you an interactive prototype to display the functionality of the product. Here you’ll be able to visualize the workflows at an early stage, confirm everything is exactly what you want, and provide us with valuable feedback leading into the next steps. As stated earlier, communication is key, and our client must have a clear vision of the progress for that to remain so.
Starting with a design prototype will also save you both time and money. Making changes to the prototype is much easier and less expensive than doing the same with the product itself. It will also prevent miscommunication at a grander stage, as the details are ironed out over the prototype early on.
At Twelfth Dream, we deploy the Agile SCRUM methodology guidelines in our project management. This means the workflow is divided into “sprints”. Sprints comprise two-to-four-week periods where the main aspects of the project are completed. In the first one or two sprints, we discuss the core functionalities of the product as well as the logics. As we move to the next sprints, features will be broken down into smaller parts and then designed. This follows the incremental model that has proven to produce better and more effective results.
After we’ve received approval on the design prototype, it is time for action. We’ll add in our team of experienced developers to bring the design to life. Here is where the code for the client and server sides of the software are written and the models are built in the database. We leverage the expertise of our team to ensure the software is developed in accordance with industry standards and best practices. By doing so we can ensure performance, reliability, and security.
We work with other designers and programmers to plan each piece of the application or software and then determine how each part will work together. They primarily write code using a variety of languages, including Python and React, that a computer can read. We then organize the code into the prototype that you may view and comment on.
When it is time to test the product, our test team comes in to thoroughly check through the product against an acceptance criterion. The criterion is composed of a checklist we’ve created which includes details, explains requirements, and clarifies your expectations. This is one of the best practices we follow before getting the product ready for client approval.
All the steps mentioned here go through the process of software testing levels. There are mainly four levels of testing when it comes to software:
This is performed by the product owner in our team before the product is demonstrated to you.
Once the product is approved by the test team, it will be deployed on the stage server and presented to you for final approval. Here, you will be able to test the product for yourself and provide feedback. Then, the whole team will work together to complete final touches. Following final approval, we will deploy the code to the live server and/or release a new version for the mobile app.
Our job doesn’t stop after we go live. We will continue to manage the server even after your project is completed. Tasks range from ensuring data is backed up periodically and is fully protected from threats and attacks, to whether the traffic load is properly handled. These tasks ensure the project remains up and steady, avoiding interruptions and issues.
When a project becomes stable and is no longer under active development, its state changes to maintenance. At this state, we set up protocols and monitor server activities to make sure everything continues to run smoothly. Ensuring that the project will continue to be viable and beneficial after it has gone live.