Unlike some of our competitors, we employ Agile development techniques that promote and utilise an iterative development workflow. In plain English, this means that we deliver real, tangible results from day one.
No battle plan survives first contact with the enemy
We don’t invest vast amounts of time and your money drafting extremely granular specifications to then spend weeks in development only for us to realise that the specification had some fundamental detail wrong and that we have wasted a great deal of time and money finding that fact out.
Instead, we work with you on a much more collaborative basis. Once we have mapped out the core requirements and features, we deliver small pieces of functionality on an ongoing, daily basis that you are then free to review and give feedback on as we work. Not only does this stop any wasted time and money, but also produces a far richer end product thanks to your ongoing feedback and direction.
We design our software with reselling in mind. If your idea can be turned into a success story for your business, then the chances are it can do the same for others too.
As such, we can take care to keep any of your ‘business specific’ functionality segmented and easily interchangeable. Should you then wish to exploit the value of your solution further it can easily be bundled and re-packaged for resale with a minimum of effort.
Thanks to our thorough design process and tendency to look towards the future and how the software might be used, we design and develop solutions that are scalable and robust, capable of handling thousands or hundreds of thousands of concurrent users without any major changes needing to be made to the core software.
From fault-tolerant services through to redundant technology platforms, our expertise ensures from the outset that the software we develop is as dependable as your favourite office stapler.
Every process and system we utilise during development is accessible and reviewable by you as the client. Whilst you may not be interested in trawling through thousands of lines of code (but you can!), you probably are interested in seeing the status of a feature request you created last week.
From our easy-to-use issue tracking systems, through to our documentation portal and testing environment, as the client you have complete insight into our development process and are free to query or make suggestions on all aspects of the system and development lifecycle.
For example, in practical terms this means that you as our client can:
We develop software not just with the project completion date in mind, but constantly consider how the software might be used, adapted and updated over its entire lifetime.
Starting with the very first line of code, we document every aspect of the system and go to great lengths to ensure that all of our code is clear, concise, and easily understood by any other developer that should come to work on the system in the future.
We believe that if it takes a third-party developer a week to find where a particular function resides within the program in order to modify how it functions, then that software has not been developed with a ‘clean code’ mind-set. We do not, have not, and will never develop ‘black box’ solutions that leave the client stranded a year down the line following project completion.
Ultimately, this means that our software is maintainable throughout its entire lifecycle, be it five or twenty five years, saving your business from having to redevelop the solution from the ground up as your requirements change and adapt along with your business.
We are proud to call ourselves geeks. The kind of geeks that spend (nearly!) all of their free time testing out new ideas that we think might one day have a great place in a product. Our passion for innovation in and outside of work hours is what leads to us consistently delivering products that exceed a client’s expectations.
Trying to bottle up and make better use of this passion is what led us to the decision to dedicate a day per month for each member of the team to work on their own side projects; most of which are now in production on a client’s system.
This enthusiasm and eagerness to impress is ultimately what leads to those “oh, what a great idea!” moments with clients, and they’re always fun for everyone involved.
From well written documentation, to the internal systems in place to better serve our clients, right through to each individual line of code – we firmly believe in the age-old adage ‘if a job’s worth doing, then it’s worth doing right’.
We strive to have every aspect of each solution we develop in a highly polished and well considered state upon project completion – we simply don’t believe in rush jobs or half-finished tasks.
Whilst we do maintain partnerships with the likes of Microsoft, VMware, Google and Amazon, we are emphatically technology and vendor agnostic. We recommend and design solutions that are suited to you and your project, not to us or our partners.
All of our developers are proficient in at least two of the mainstream languages, and between us we have a wealth of experience at developing software and services using Ruby, Java, C#, PHP and many more. Similarly our developers and engineers are well versed in all of the major platforms, be it Windows, Linux, or UNIX – hosted on-premises or in the cloud.
This well rounded knowledge of both the software and infrastructure aspects of a typical project ensure that you aren’t ‘railroaded’ into a solution because it’s the technology or platform we prefer or know best.
We are open-source fanatics, believing it nearly always offers the best Return on Investment for the client, but will always consider and if necessary suggest licensed technologies where there is a significant business case for their use.
Information Security is an increasingly growing concern for every company, and understandably so. In 2013, the average cost of a serious security breach was estimated to cost a business in the region of £450K 1.
At Yozu, we have a wealth of experience in designing, building and testing secure software solutions that adhere to industry best practices and ISO standards. We take security very seriously and therefore adopt a rigid security regime within our Secure Software Development Lifecycle to ensure the risk from malicious attack is kept to an absolute minimum.
1 (PWC Cyber Security Summary – http://goo.gl/TQuUtn)
Because it does! Untested code is fragile and difficult to maintain. We strive for 100% testing coverage for each and every line of code we write. This means that for every line of code there is an associated testing module that checks to see that a particular piece of functionality works as we originally designed it to.
As further changes are made to the software, we re-run all of these ‘unit tests’ – typically hundreds of individual testing modules, dozens of times per day – to ensure that none of the newly developed code has had unexpected consequences elsewhere in the system.
This method of testing dramatically reduces the number of issues discovered during user testing, and means that the vast majority of bugs never make it anywhere near an end-user.