How We Work
Why Working With Us Is Different
Our emphasis is on delivering high-end services
It is believed that you can have either two of them: Cheap, Fast, or Good. And we focus on getting the “fast” and “good”. Surprising enough, it will turn out less expensive than others; however that part has never been our main focus.
We devote and spend a great deal of time every day learning new technologies and “sharpening our edge”. We recall ourselves “high end” and we work firmly to stand by it. This is what helps us build your application in a way that will leave your future users and competitors in awe.
We repel and don’t like unpleasant surprises. Maybe, you too don’t. We do like pleasant surprises, and so does everyone. We have decided to be realistic in our estimates regarding both time and money. No hidden costs. And our estimates are more than close to final cost, unless you change the requirements or plans, frequently.
We believe and so do provide fully transparent development process; our clients always have all the necessary information to manage and control the project. Over the years carrying our experience, we have distilled a process that is both transparent and effective.
Our experience in how things compile and work on the internet, in real life, and how people think, combined with your understanding of your business domain and specialization, will ensure the best possible results.
Moving Forward and Commencing:
3 days risk free trial; no advance payments, no obligations-
It is essential that you fully trust us before putting your “eggs” in our basket. We also prefer to know our clients better prior to entering in to a business relationship. That’s why we decided to provide up to 3 days free trial, per project; no payments, no obligations. In the mean time we will get to know each other better; you can see how we approach problems and see us in action before you have to reach for your wallet and forward some dollars’ worth transferring into our wallet.
What if it doesn’t work?
Even if it doesn’t work out, you may still come away with an idea or two. We will and indeed we have tried to accommodate ourselves to your working style; we can meet offline over a cup of coffee, have some pleasant talks or confer online to get things started.
We believe in Maximum flexibility, alongside balancing your budget and deadlines.
We understand that it’s difficult to submit or engage in a project without having a clear price and time limit. On the contrary, in our experience, project requirements always change and this plays an important role during the development process.
So as to afford maximum flexibility, alongside allowing you to balance full control over your budget and our deadlines, we tend to provide a rough estimate of development budget and time at the outset. Our methodology ensures that you always get to see how changes in project requirements and plans affect estimates time and budget both, and you can always adjust your requirements as we move forward.
As an interesting surveillance, we noticed that the initial i.e. first phase of most projects takes about 2-3 months. If it took lesser than this, there is probably room for application of more features. And if it took more than 2-3 months, it can be a sign of feature dilate. Probably, the better idea is to reduce the number of features so that you can save and speed up your time to market and get user feedbacks before implementing all 499 of those “should/must have” features.
Feel free to adjust our speed in order to meet your requirements-
Our methodology has allowed us to be very flexible and turn the development process customizable to your budget, time constraints, and project needs. We can ignite our self and develop swiftly for a week, or a month, or even a year and then suspend the development process completely; until you come up with the necessary market research, or necessary funding, or the next set of required and necessary features.
The project will be launch-ready and robustly deployable after each reverberation, this is how we make you feel free to adjust our speed to meet your requirements. At times, we are ready to provide you or your development team or experts with necessary training when you are ready to shift the project in-house. We will never leave you hanging.
Security has versatile forms. You can’t compensate for a lack of knowledge with extra effort. If security stands first for you, you will have an expert hired for the same. And We have.
UI design is what your users will see; they won’t see the project specs, backend technologies, server management, deployment, or anything.
We strongly advise our clients to craft the whole visual design before leaping to the actual development process. The biggest advantage of visualizing the user interface and design is that it compiles and lets us concentrate on the same phase regarding all the project requirements. It’s quite easy to misunderstand a couple of sentences expressing and explaining a feature; and it is much harder to misunderstand the actual forms and buttons you see in front of you.
Remember that the UI design is what your potential users will observe and interact with; they won’t have an eye on the project specs. Swirling thoughts about the UI first, ensures that all the features of the application are user-oriented and applied keeping in mind the user’s way of thinking.
Stories and Iterations-
Split the list of features into small user-visible knobs to work on .end
When we’re all set to take off, we will work with you to break down the feature list into small, digestible, user-visible chunks of work. Some people call them stories. These stories are the basic and minute units of our development methodology. Each story or chunk describes a complete feature from the user’s perspective, such as “Users can restore their password by clicking on a link [restore password]. A link to a password restoration page will be sent to the user via email”. Stories help keep the development process focused on tangible customer value and enable everyone involved in the project to track its progress.
Stories are compiled into segments. Each segment takes around 2 weeks, no exact figures available. After each part or chunk, the project will be in a stable, fully tested state, and all set for deployment.
We employ Asana (developed by the great folks like Dustin Moskovitz, Co-Founder of Facebook, and people hailing all together from companies such like Google, and Microsoft) for project management. Using Asana enables our clients to track the project progress, prioritize chunks, and alter iterations as and when you find them necessary according to your need.
Testing and QA-
Automated, functional, backsliding and acceptance testing
Each chunk of story is tested automatically before it is released to the source repository. However, not a replacement of person QA, automated testing allows our developers to deliver code swiftly with quality, and exclude as many bugs as possible at an early stage of the project and code’s lifespan.
We still try to pursue our clients to execute acceptance testing on their own; it’s really a great way to visualize and observe the project progress. To your surprise and an added bonus, it can be possible that after seeing the feature in its real state may inspire some great new ideas, features and user centric changes.
Constant control over work in progress
Every time a story (chunk) is accomplished and marked as “Delivered” in the Asana tracker, it is released (deployed) on to our development server; so that you can go there experience it live, and play with it. If you are satisfied by our work and think the story has been accomplished the way you intended it to, you can mark it as “Accepted” in the project management tracker. And if not, then mark is as “Rejected”, we will calmly have a coffee together to understand what needs to be added to it and we will fine tune it.
Continuous deployments ensure that you are always in line and aware of the project’s progress, and also that the delivered features are exactly what you have imagined to be and look like.
If you don’t face scaling problems, you are not growing fast enough
Scaling issues and problems is the sign of an extensively progressing and growing company.
You really need to have a scalable solution from the start only when you develop or add a new feature for pre-established user base with pre-identified performance requirements, the way Facebook did when they developed and released a chat feature for all users. Other than this, writing a feature for “how to handle millions of users” can be a prejudicial and not so good way to go; and will definitely hinder the development process, alongside extending both your determined time to market and budget.
Another issue is that most of the time you have no idea where the actual bottlenecks will be until you hit the site with real traffic, so scaling the site before it goes live usually leads to premature optimization and wasted resources – and in the end you may still experience unexpected performance problems.
Instead of thinking about the “how to handle million users” architecture from the beginning, we believe in creating a scalable plan, and this is what our strategy is. We identify the places where we possibly can face the next issue and plan accordingly so as to fix it and how we will fix the same, if and when it arrives and stand in front of us.
We reexamine the plan at each step of scaling period, and try to avoid too far in detailed planning in advance, as those distant-future plans are usually worthless when it comes to really implement them at that point.
Your Role in the Process
Is there anybody who knows the project better than you? We think it’s a NO for this question!
Based on this, your role is to willingly participate in writing and enthusiastically prioritize your chunks, and compile them into small stories, because nobody knows your business domain, project, and requirements (business and user both) better than you!
And finally at the other end of development, you’re in the charge of acceptance testing and making sure every feature is polished to perfection.