Understanding Your Business
At Qurtoba Solutions we begin every relationship with a broad discussion about the short
and long-term desires for your project. We take into consideration the needs and desires of
your various stakeholders as we flesh out the scope of the project. We don’t just take your
require-ments and build you a solution.
We work with your team to develop a strategy in
order to identify key metrics of success and ensure your desired solution will hit those
performance goals you seek, and deliver a solid return on investment.
Requirement Elicitation and Analysis
Once we establish a strategy and set goals it’s important to find out about your business in
depth. We’ll analyze the market, perform user interviews, review analytics, and distill the
data into user stories and help you decide what steps to take next.
Our analysts will then gather your product’s specific requirements, (see Requirement Gathering
above) consider the most favorable project options for your business objectives, and
propose the optimal procedural solution based on these requirements
Our analysts will review any hidden requirements and your existing codebase, if you have
one. When we know your goals and understand existing software, we are able to better
ensure the success of the project before we even write our first line of code.
The level of detail for these deliverables are based on the approaches we agree upon with the
client; basically Waterfall or Agile (described below).
Proposal, Approach and Planning
After understanding your requirements and needs, Qurtoba Solutions works together with your organization to devise a development plan that is in accordance with your goals,
your timeline and your operating budget. We work under the assumption that most
businesses will evolve and change, so we design your software solutions to be scalable and
flexible for easy adaptation down the road.
We have two main approaches that we propose based on the project scope, budget, nature,
and client preference as follows:
The Waterfall Approach:
The waterfall approach is a methodology in which all parts of the product development plan
and testing are well defined and follow a strict schedule from the get go and there is limited
room for requirement changes along the way. In this approach our analysts document the
requirements more extensively at the beginning of the project to make sure that everything
is clarified and agreed upon before actual development. This approach is great in successfully
managing projects that are relatively small in scope or duration, with all functional and
nonfunctional requirements defined in sufficient detail before any code is written.
When using the waterfall approach we design all aspects of the project plan for the final
project before starting the projects
The Agile Approach:
Agile development is a highly flexible, iterative, and incremental software development methodology
designed to build products faster. Agile development uses short time-boxed
development cycles each resulting in usable software.
Our Agile approach is based on close interaction between our business analysts, our
development team, and our client’s representative. We design a concrete plan for each
iteration including development, testing, and delivery. We rely on constant communication
to formalize requirements for each subsequent cycle and discuss the progress of each
ongoing cycle.
We prefer to use the Agile approach when the following are required in a project:
- A quick start
- Flexibility in scope (usually needed in larger projects)
- Transparency and Predictability
- Constant feedback from stakeholders
- Uncertainty as to the exact vision of the requirements of the final product
In either scenario, if the requirements change during the design process, we will update the
project costs. We work with the customer to achieve the best balance between cost and
system functionality.
Development and Progress Tracking
In this phase our development team starts working on your system while our project
manager keeps you updated on progress on a bi-weekly basis. We believe strongly in
involving the customer throughout the project. For online systems we have a test version
online at all times. For standalone software we send you regular new versions for you to try.
You can rest assured that our team leaders will stay on top of your project’s progress,
adjusting our processes in a feedback loop as we manage the software development, its
configuration and any changes to your requirements.
Our code is created with a focus on quality, simplicity and ease of maintainability. Frequent
code reviews and code refactoring helps us keep this focus. You can always be confident that
we will make your software solution evolve smoothly along with your business.
Rigorous Testing
We are firm advocates of quality assurance and believe in introducing it into the process at
the very earliest opportunity. By working with quality assurance to validate business requirements
and then validate each subsequent stage, we ensure that all our products are fit for
purpose and satisfy all functional and nonfunctional requirements, meeting your needs at
every stage.
We focus relentlessly on quality assurance. From setting up test cases for your particular
application to random tests and bug elimination sessions, our team is always testing your
software to ensure the highest level of quality.
Soft Delivery
At the end of the development stage, we deliver a system which is complete from our
standpoint. The system will have undergone internal testing for each feature. At this point
however we would expect our clients to test the software for themselves and make sure that
it is up to satisfaction.
Final Delivery
Testing is complete, and the system is ready for use. If required, we can assist with
deployment which may involve importing existing data.