Determining the best option for the client is important, as the different options will suit different clients. Doing so, helps to sort out what works best for the intended purpose of the order. A client requesting a complex web application might simply need simple code on their website to achieve the intended result. That is why the discovery phase is very important when it comes to drafting a roadmap.
Developing software solutions is our specialty. No matter the scope of the project, Twelfth Dream can handle the process with effectiveness and efficiency. It all starts with a comprehensive discovery phase, where we will get to know you, your business, and your idea. This phase is crucial in determining the approach to take when moving forward.
Our discovery process includes 6 major activities:
1. Define features and priorities of this new software
We’ll want to start by determining what the key features are which define the minimal viable product (MVP). Assigning these features helps us lay the foundation to start the project. Understanding the MVP and the client’s needs in terms of improvement and innovation allows the team to decide on the steps moving forward. From there, we’ll look at other major requirements and how they can be planned out in different phases. Every project requires its own scope and size when it comes to phases. Having the foresight to clearly define what we are working with, allows the team to effectively move the project forward and achieve the desired result.
2. Review off-shelf products
Here, we combine off-shelf and native software to develop software solutions that are both flexible and economical. Off-shelf software is software that is readily available and made for general purposes. An example would be the Microsoft Word application. Every feature does not need to be made from scratch. However, applications that are already available are not tailor-made for one client. They are rather created to serve a purpose and be licensed to a wider audience.
Native software is developed for one platform. Think of a mobile application developed for the Android operating system. This is where the specific requirements of the client can be addressed. By putting the two together, we can devise a comprehensive product to suit the client’s needs. After we determine the key features of your project, our team will research similar products and suggest how off-shelf products can be used to save you both time and money. Therefore, the client is assured that their budget is being used with maximum efficiency.
3. Conduct technical feasibility study for the new software
Technology has come a long way and continues to grow. This step allows us to know the possibilities and the shortcomings any specific approach may have. We must know that the project that is defined is doable with today’s technology and not too vague. The technical details must be sorted out to ensure we are on the right path. Once the targets are optimal and practical, we can resume the rest of the discovery phase.
In most cases, even complex requirements are technically doable. Our senior developers and team leads have been working in the field for over fifteen years and have vast knowledge and experience designing solutions for the most complex problems. However, sometimes technology doesn’t seem to be advanced enough to turn your dream into a reality. In these situations, we need to conduct a thorough feasibility study to make sure the idea is doable from a technical point of view.
4. Determine which platform best suits your idea
Based on the information you’ve shared with us, we’ll discuss which platform(s) best suits your idea. This stage is key when we build a new product. We have a team of programmers and developers specializing in web applications, mobile apps, progressive web apps, and websites and eCommerce.
A service such as Uber, will do infinitely better on mobile platforms than computers. One of the factors being that the average user looking to call a ride would be near their phone, but not necessarily their computer. Different platforms are receptible to different software. This step is vital, as it determines many of the practical details involved in the project. It determines the coding language and the design amongst many other factors.
5. Choose a development strategy for the new software
Now that the crucial details are sorted out, it is time to begin choosing the right development strategy. The project might be so new and out there that we may need to develop everything from the ground up. Some other projects can be completed using currently available applications. And at other times, a hybrid app is the way to go.
Based on the scope of your project, we’ll choose the best development strategy for your work: Build from scratch, integrate off-the-shelf products, or a hybrid approach. Budget, time, and other factors will decide the best strategy here.
6. Choose programming languages
As discussed earlier, depending on how sophisticated the project is and what platform it is intended for, it needs to be coded in a specific language. For example, iOS applications need to be coded in Swift or Objective-C. Whereas Android applications need to be coded in Java. Web applications have even more variety, with the likes of HTML, Python, CSS, and many more. Deciding on the coding language is the final step and afterwards all the factors are in place to begin the project on a steady schedule.
At Twelfth Dream, we provide our clients with an experienced team of software specialists. We specialize in Python and its famous framework, Django, as well as React and React Native to build web applications and mobile apps. For websites, we typically use WordPress as the Content Management System to build and manage your website, while WooCommerece is our number one solution for a regular eCommerce platform.
Different tools for different projects
While we often recommend working with these technologies, we understand there can be other programming languages and frameworks, content management systems, and eCommerce platforms that offer special features that may be a better fit for your project. We are always open to using the best technologies that suit your needs to make your product development process more smooth and efficient.
Our experienced team of software developers specializes in designing and building custom applications using state-of-the-art development standards. These standards are key when building a new product. Staying up to date with industry trends allows us to deliver the best product to our customers. We are committed to delivering clean, well-documented code following Agile SCRUM methodology guidelines, and offer flexible working models. Using this methodology, the team partakes in two to four week “sprints” where each sprint moves the team closer to accomplishing the project’s goals. This allows for a clearer picture of how far the project is going and what has already been completed.
Not sure where to start?
A prototype which will help you visualize your idea is a great point to start. Get Started on Your Prototype Now!
Frequently Asked Questions
How much does it cost?
Depending on the size and scope of your project, our services start from $8,000 for a prototype. After an initial discovery session, we’ll have a better understanding of your project and will be able to provide you with a more accurate quote. Book a discovery session
How long does it take?
Depending on the size and scope of your project, it can take anywhere from one and half months to design a prototype to five months to launch the first release of your product. Book a discovery session with us so we can discuss your project in greater detail and provide you with a more accurate timeline.
What is the process?
Our development process starts with a discovery session, where we will get to know you, your business, and your needs, gain a better understanding of the scope of your project, and be able to provide you with a time and cost estimate. Following a 6-step process, we use Agile SCRUM. Which is a software development framework that allows us to address complex adaptive problems. Also creating an environment where we productively and creatively deliver products of the highest possible value.
Each iteration includes: Design, Code, Test, and Deploy. These activities are repeated in usually 2-week sprints. Our proven process makes client needs our top priority. After an initial discovery session, we commit to regular deliverables that keep you in the loop every step of the way. Learn more