All your questions answered.
01. WHAT TECHNOLOGIES AND LANGUAGES DO YOU WORK WITH?
02. WHAT METHODS DO YOU USE TO GATHER AND UNDERSTAND MY REQUIREMENTS?
Our approach to understanding your requirements is simple and effective. Our consultants work with you to comprehensively understand your organisation and various stakeholder needs through face-to-face meetings, stakeholder interviews and workshops. This deep understanding of your requirements ensures that we are able to deliver the project you need that adds value to your business. We take this information and we create a very detailed and comprehensive wireframe that outlines every single feature of the platform that you require. This is signed off by you prior to any development work to ensure we are both on the same page.
03. WHAT IF YOU DON’T UNDERSTAND MY INDUSTRY?
Chances are very good we will not understand your industry. Especially if you are an accountant or engineer. We are not accountants or engineers, therefore your input and assistance to help us understand your needs at the deepest level is required in order for us to build a successful solution for you. We conduct multiple meetings to better understand your trade, we ask that you will be available to provide such assistance.
04. CAN I MONITOR WHAT YOU’RE DOING ON MY PROJECT ON A REGULAR BASIS?
Yes. We believe that transparent communication is the cornerstone to successful development projects. You’ll always know what’s happening on your project and you’ll be in constant contact with our team. It’s not unusual for our team leaders to call their clients several times a week. We also provide weekly status updates and demos to keep you connected. At the beginning of the project there is less interaction between you and our team, due to a lot of development work that’s required before the project has visual elements to show. The deeper we move into the project the more the interaction between you and our team increases.
05. CAN I ADJUST PLANS, FEATURES ETC AS WE GO?
Yes. This kind of flexibility is important and could determine the success of a project. We build in a % of the project cost for unforeseen variables and changes, but big changes after kick-off might affect budget or schedule – this will be communicated with you prior to any decisions being made.
06. WHO OWNS THE CODE AND DESIGNS YOU PRODUCE DURING THE PROJECT?
Your project belongs to you. Once you pay the final bill we sign over all the rights to the IP of your particular project over to you. This does not mean we cannot use similar code for another project. For example, just because we have integrated to XERO for your project does not mean we cannot do it for someone else. We own the IP of the code that we write, you own the IP of your project/solution.
07. HOW DOES TESTING WORK?
Once we reach a point where a project is ready for testing, it does not mean that we are done. In fact, we are far from complete. Testing is a phase of the project where we give you the opportunity to provide feedback. The amount of testing varies according to the size of the project. Once testing and fixes are implemented we move on to beta testing where you get the opportunity to test your new solution with an actual client. This does not mean we are going live. We are simply testing the solution in a real-life environment to ensure that we haven’t missed anything. We might need a few clients to beta test the project before we are ready to officially launch your project to your customers.
08. WHAT HAPPENS WHEN YOU ARE DONE? WHO FIXES BUGS?
Software is rarely “done.” As your business changes, your software will need to evolve and adapt. But, we do expect the code we deliver to perform as intended. We’ll maintain the code for a reasonable amount of time and make sure that everything is working. Depending on the type of project, we either bill you for ad-hoc maintenance or new features or we put a retainer in place that provides you with a certain amount of hours per month.
09. HOW MUCH WILL MY PROJECT COST ME?
This depends on the amount of hours needed to complete a project. We sell hours. Based on past projects, custom development of any web-based platform or mobile app can range from R100k to over R1m. The more hours we have to spend on a project, the more amazing the end result will be.
10. WHAT TYPE OR SIZE OF PROJECTS CAN YOU HANDLE?
We design and build business-critical cloud and mobile applications. We’re a great fit for projects where user experience is critical and one or more of the technology domains of web, mobile, embedded, or desktop are required.
Projects like these tend to be large or complex, or both. They take a lot of time, and so they cost more money. That, in turn, means they need to be able to generate a lot of revenue, or possibly save a lot of money. Most of the projects we tackle are on the revenue side of a profit & loss statement (i.e. they grow your business in some way and generate revenue which provides a return on your investment).
Many of the projects we do fit in one of the buckets below. There are exceptions, of course, but these are common.
- Web or mobile utility (does a few simple things well)
- Prototype or demo applications
- Mobile app that compliments existing full-featured web application
- Basic new software application, rewrite of an existing application, or first phase of complex system
- Complex, multi-phase software application
11. CAN I COUNT ON THE BUDGET?
Yes. Our engagements are “fixed budget, scope controlled” meaning we’ll help you develop a responsible budget and we’ll stick to it. Since we’ve never worked with people who have fewer ideas than they have money or time, our job is to figure out the best possible application we can build for the given budget. That requires thoughtful understanding of the users and the market. From there, we’ll work to control the scope of the project, both in depth (polish, refinement, complexity) and breadth (features, functionality).
12. HOW DO YOU BILL?
We divide a project into multiple phases and have a deposit fee for each phase. This allows us to run multiple phases concurrently (if needed) to shorten the development cycle.
13. HOW LONG DOES A PROJECT TAKE?
A typical small team for the projects we work on is two to three developers with a designer used as needed. A large team is four to six people. There are only so many hours in a day per person so the larger the budget the more people we can put on a project. On average our projects have ranged from 3 to 8 months depending on the complexity thereof.
14. HOW DO I PROVIDE FEEDBACK?
We have a very specific document that you complete, allowing us to structure each feedback or comment in a way that enables us to manage the feedback and manage your expectation of the timeline for the implementation of the feedback. This document has to be sent to us via email.
15. CAN I USE WHATSAPP TO COMMUNICATE WITH YOU?
We prefer communication via email and during meetings. Whatsapp can be very intrusive and interrupts our development cycles. Interrupting a developer during his cycle can lead to deadlines not being met. When a developer is interrupted while focused and busy with highly complicated programming it can take him up to 40 minutes to get back to where he was, focus-wise. Look at it as if it was a huge mathematical calculation. If you interrupt someone 70% into the calculation, he needs to start from scratch and familiarise himself with the flow of every part of the calculation. This could lead to promised deliverables being delayed.
16. DO YOU CODE EVERYTHING FROM SCRATCH?
We get incredible leverage from open source tools, libraries, frameworks and indeed entire projects or our own proprietary libraries. We never reinvent the wheel when there is a tool that is suitable for solving a problem. We always program from scratch the parts that make your project custom and valuable.
17. WHAT DEVELOPMENT EXPERIENCE DO YOU HAVE?
- Mobile Enablement
- Business Process Automation (BPA)
- Workflow Management
- Custom Dashboards
- Custom Reporting
- Billing & Payments
- Enterprise Commerce Solutions
- Customer Management
- Business Intelligence (BI)
- Content/Media Distribution & Management
- New Product Development
- Prototyping or Proof of Concept
- Hosting & Support
- Legacy Migration
- API / System Integration
- Approved XERO.COM Developer partner
18. WHAT DOES CUSTOM DEVELOPMENT MEAN?
Let’s imagine that you require specific software to accomplish a particular important task and in your search for an off-the-shelf product, discover that not only is the application very expensive to purchase and support, but it doesn’t do everything that you need it to do ‘out of the box’. Our developers can build a custom application based upon your specific business needs – we can do this quickly by using common software components, such as document generation, task allocation & management and dashboards, ultimately reducing the development time and cost.
19. WHAT SUPPORT SERVICE DO YOU OFFER ON THE APPLICATIONS THAT YOU HAVE BUILT?
Our objective is to support you through your entire application life cycle and foster a long term partnership – fundamental to this is our software support and maintenance service featuring SLA-backed support for your custom application. This includes a full range of support features such as a dedicated help desk, email, telephone and online support.
20. DEVELOPMENT LANGUAGES DEFINED
Programming languages are developers’ tools—and each is well suited for a particular kind of project, application type, or project size and scope. Developers have their own preferences, and will also know which languages and frameworks to use to maximize an application’s potential as well as their own efficiency.
However, when it comes to these skills—probably the most overwhelming aspect for a non-technical person to sift through—frameworks and languages are often front and center on developers’ resumes. That’s why we’ve compiled a quick-look at the most popular programming languages and frameworks, so you can hire faster and more effectively.
20.1.The Programming Language Landscape
There’s a great deal of overlap in development—fluid teams don’t work in silos. They’re versed in multiple technologies and know when and where to apply these skills to your project. The same goes for development languages—there’s a lot of re-purposing and layering.
Your developer will know which language or framework to use and when. What you should know before you begin choosing software and languages is what these tools can do and when they’re best put to work. In certain situations, a really streamlined approach to picking software will work, like choosing a time-tested software stack, but other times, you’ll want to layer in languages and frameworks to address certain layers of your application.
Hiring based on a language won’t always be your focus, but having a core understanding of the following will make finding the perfect developer that much easier.
LANGUAGES FOR EVERY PART OF YOUR SITE: MARKUP LANGUAGES, CLIENT-SIDE SCRIPTS, AND SERVER-SIDE SCRIPTS
Client-side scripting creates what users interact with on your site; server-side scripting is typically your site’s back-end development; database technology manages all the information on the server that supports a website; markup languages are the backbone of it all.
A Quick Breakdown
- Site markup: HTML, CSS, and XML organize, style, and house the content of your site. Scripts and CSS files are embedded into the HTML file, and interact with the HTML elements to create an interactive site.
- Client-side scripting: This code runs in a web browser and determines what your customers or clients will see when they land on your website. It gives a site functionality—anything from drop-down menus to animation.
- Server-side scripting: This code executes on a web server and powers the behind-the-scenes mechanics of how a website works. It’s builds a site’s architecture and serves as a go-between with the database.
- Database technology: It stores all the site data that’s requested, retrieved, and edited via scripts. It helps keep a website running smoothly and requires management and maintenance as a site evolves.
THE BASICS: MARKUP LANGUAGES AND STYLE SHEETS
- HTML (HTML5)
CLIENT-SIDE SCRIPTING LANGUAGES & FRAMEWORKS
Browser-based, front-end languages include:
- Silverlight (for gaming)
Popular client-side frameworks and libraries include:
- AngularJS, Angular 2
Popular CSS pre-processors and front-end frameworks include:
- Material UI
- Semantic UI
SERVER-SIDE SCRIPTING LANGUAGES & FRAMEWORKS
All sites are hosted on a powerful computer called a server. Without getting too technical, server-side code lives on your server and has direct access to your database. By running on the server, it serves as go-between architecture, transferring data to the browser, minimizing the browser’s workload (and necessary client-side scripting), and making your site more secure.
Each language has a number of frameworks to support developers in writing code—some with add-ons, extras, and built-in APIs and other software that make building a top-to-bottom application fast and easy.
Popular server-side frameworks and libraries include
- ASP.NET framework
- The Ruby on Rails framework
- The Django framework (Python)
- Laravel, CakePHP
Server-Side Scripting Languages:
- C, C++ languages
- Java language
- Scala language
- ColdFusion language
- Ruby programming language
- Perl & Perl 5
- SQL, a language for database queries