Small Business

Generally a small business has fewer than 50 full-time employees (in the EU or <250 in the US). They would often have small development teams and money/cash is tight. Fire fighting is common place, with a choice of jumping from one frying pan into another or lack of business planning. A key feature is that they tend also to be very reactive, but lacking the capacity to react without causing harm, equally they cant throw cash at a problem so can end up indecisive and cautious.

  • Are you too scared to change a technology (eg database) from one vendor to another, even though its not supported any more? [...]
  • Are you too scared to upscale a technology from your old version (eg firebase database) on you old 32bit PC and you just hope that a faster CPU will come along, because you have reached your 3GB of ram long ago?
  • Software release cycles seem too slow and when you do other bugs appear, the developers says its like pressing on a bubble or blaming the developer that just left. Staff turnover is not meant to be that they leave after 12months!
    Do you hate those call from the end client where you have to make another excuse as they bite your ankles? [...]
  • Maintaining source code feels a bit hit and miss. So you copy it to a USB drive connected to Fred's PC. [...]
  • When users report a failure you don't even get a screen shot let alone a means to reproduce the error. [...]
  • The system feels slow when there is 20 on it how will it cope when we go international!  [...]
  • What about project estimation, always tricky, but missing a delivery date is never good nor is working till midnight in the office. Clients like the idea of Fixed costs and Development teams prefer Cost & Materials. Where as you can get the Russian, Indians or other off shore development to reduce cost - but this comes at a price. [...]

How we can help...

Agile Methodologies

Using proven Agile Methodologies, you can deliver what you client is looking for quicker than with traditional Waterfall methodologies. Incrementally adopt agile best practices that best fit your team and plan, manage and track work across backlogs and teams. [...]

New Technology Adoption

Given that an CPU cant get much faster that 4GHz, intel stopped development on its 16 core chip in favour of the 256 core chip and the 32x32x32 cube. What does that mean for your development choices? [...]

Scalable Architecture

How decoupled is your architecture or are you locked in with no room for manoeuvre?

Using rich and intuitive diagramming and modelling tools, to visualize, analyze, and validate software architecture as well as profiling and up scaling planning.
Are you ready for growth, how do you know?   [...]

Technical Consultancy

Our Mission is to help small development teams to become more productive on a budget. This can range from team support to a road map [...]

Whilst there is a strong DNA in Microsoft technology that is designed  to support  home users to enterprise users, each have different budgets. Equally there are choices in using both Microsoft and non-Microsoft technology. But did you know that .NET can run on Linux or C# on iOS?

  • Project Setup  - have you got enough development workstations, are they all the same, can a developer work 'anywhere' even when snowed in? How many seconds does it take to create a new project, add team members, resources, DEV and UAT servers, source control? Do you know who is doing what and when and how long it might take? How are you progressing through your backlog? Can you visualise progress, how do you show progress to the stakeholders ?
    #1# Use Visual Studio + TFS
    #2# Use other
  • Development Operations (DevOps)  - your code gets deployed to the build server where all the test cases are run against it, the code gets profiled. For example Amazon releases a fully functional copy of their software ever 11minutes onto over 80,000 servers. Thats Amazon, how often do you do it once a week, once a month?
    Imagine if your deployed continuously and you can see a change in your product in seconds - what that means is rapid feedback!
    Rapid Feedback means less costs, Am I building the right thing, if circumstances have changed, so can I, quickly.
  • Insights and Telemetry  - what does this actually mean? Well in DevOps your servers can be monitored, you can tell if a server is down, if a SQL query is taking too long, if there is a deadlock in your resources, but that is under your control. What if you have deployed your products as a Mobile App, how well is it performing? what is the resource availability like? Has there been any errors, how are they reported? More to the point with a given software release is it more or less 'buggy' then the previous one, and deal with it before the phones start ringing. Do you know what are the top 20% of features that are used by 80% of your customers - do you know where the 'gold is' in your product, do you know where to invest?
  • Designed for Test  - One of the benefits of Test Driven Development, is that from bottom up you code is designed to be tested, its not an after thought. You have been creating a Test Plan as you go. You have been running these tests as you have been developing.  But how to these tests work at integration testing time? In the rush to get the code delivered, a human tester will be testing only the new functionality of the system, he is not expecting anything else to have changed. This is why you may want automated UI testing. Some technology choices are just able to have automated UI testing, others were designed with that in mind.
  • The Cloud is everywhere  - Sure it is another fad in the same way 3-tier architecture was with VB6 with 'Client & Server' design patterns. But really its just another design choice. The main feature of The Cloud  is the concept of scalability, in moments you can scale up from one server to a 1000 to meet peak demand (see Telemetry). What if you have made a design choice Dephi, you would have used Firebird Interbase for your DB. This free DB was quite Enterprise at one time, but is not 64bit and not scalable if you had a Technology Radar this would have become apparent. All you can do is to put in a fact CPU as 32bit OS will effectively only use 1.5GB of ram. You could put in an SSD drive, you could put in a 8 core cpu assuming your DB can use it - these are all cosmetic. When you CEO tells you that the system now running slow with 20 users was meant to run with 500 or 50,000 concurent users what then?
    The cloud is just a concept of lots of virtual machines that had a very fast network between them, they can be public or private or hybrid (part in your server room and part elsewhere. There are many providers such as Microsoft Azure and Amazon.
  • 2014 is all about Reach  - At one time we just cared that our legacy application was 'web enabled', that a given browser could use it. In 2013 people under the age of 30 only every access the internet on their mobiles (mostly an android variant) or tablet (iPads). Thier viewing habits changed short sharp visits as they wait in a queue - time is scares as is their attention span. You have to consider the life cycle of your application, the cost of development and  how many months you are going to be earning from it.
    Given this, how quickly can you develop a UI that is accessible on a Mobile to a Smart TV.
    HTML5 has replaced Silverlight and Flash and is replacing much of Windows desktop in Win8. How do you lever your investment to be used in as many places as possible?