SAAS – The Four Letter Word Which Can Turbo-Charge Your Start-up

SAAS – The Four Letter Word Which Can Turbo-Charge Your Start-up

SAAS – the four letter word which can turbo-charge your start-up

 

Many start-ups commence trading using spreadsheets to manage their core finances. It is often the best way in the beginning, but in my experience, there is a tipping point after which no amount of spreadsheet wizardry will compensate for having a good financial management system.

 

When I joined gro.team I was confronted with exactly this. I started at a time when there were just a few transactions per month and so the spreadsheet which had been used to kick-start this rapidly growing company, adequately met the needs of the time. And being a Google sheet, it was “cloud-based” so it provided some of the basic benefits of a SAAS product. I constructed a “better” Google spreadsheet to get additional clarity and this allowed me to improve operations. However, as the business grew rapidly, this had a foreseeable life-cycle of but a few months.

 

The breaking point hit us not long after. The system which had previously worked perfectly well for hundreds of simple linear transactions, finally reached its limit with one specific requirement. It was the most demanding customer project to date, with a larger team, multiple currencies, increased billing frequency and differing international taxation settings. Accurate manual reconciliation was time consuming and becoming near impossible, resulting in delays and anomalies. In the fullness of time this would have resulted in some financial loss, irritated suppliers and unhappy customers.

 

I knew we had to upshift to something better, and fast – we had reached the limits of this approach.

Before one invests in software to address a specific problem, it is important to assess what benefits one is looking for. I found that apart from standardising all core financial operations, the hidden jewel in the crown was to get enhanced reporting capabilities. Having access to real-time reporting, with detailed on-demand drill-down analytical capabilities, can turbo-charge an enterprise when used effectively.

 

Sure, it is possible to do some of this without specialised financial software, and I acknowledge that many are perfectly happy with that approach. However, when it comes to gaining real business insight and making informed decisions, without the right tools it feels like groping in the dark, or at best, doing a lot of manual computation (which can be less accurate).

 

In our case, it is vital for us to analyse profitability regularly, not just across the enterprise, but also per individual, per partner, per team and per project, over different time periods and from different perspectives. This was near impossible with a spreadsheet (or at best, very time consuming and error prone), but once we had the right tools, we were suddenly empowered to make well-informed decisions based on accurate data, which in turn allowed us to confidently optimise the business model to maximise profitability.

 

So how did the implementation go? Having enjoyed a long career in the ERP industry, I knew we needed a simple cloud-based product which would suit a fast-moving start-up. One which was cost-effective and quick to implement, but also had the capability of scaling as the business grew. I was happy to quickly discover a multitude of excellent and cost effective SAAS offerings which fitted the bill. While there are many on the market, I limited my evaluation to the following products: FreeAgent, Freshbooks, SageOne, Quickbooks, Xero and Zoho.

 

Broadly speaking, they all do the same thing and I am sure one can get equally satisfying results with any of these products, but all things considered, we decided to try http://www.xero.com. It seemed to tick all the boxes and matched our company’s ethos: “urgency, clarity, delivery”.

 

The project was a resounding success – within just a few days (and albeit a few late nights!) we were able to migrate and reconcile all the historical bank data, setup invoicing, and most importantly, structure the organisational model, chart of accounts and tracking codes to deliver precise reporting and drill-down analytical capabilities. Once these aspects are setup correctly, the product takes care of all the intricate computations and provides enhanced financial visibility with just a few clicks. As your accountant can also use the same tools to perform routine filings, you may find you can reduce your annual accounting costs too, as it is a lot less effort for all involved.

 

After several months of successful operation, a financial year end and numerous insight-driven strategy shifts to improve profitability (which would have been impossible with even the “better spreadsheet”), I can safely say that we are delighted. Moving to a professional SAAS product solved all the issues previously faced and delivers 99% of what is needed.

The missing 1% is minor and not worth worrying about. For example, billing multiple currencies on a single invoice would have been handy, but given this is a simple SAAS solution and not a complex built-to-order ERP implementation, none of these minor gaps are show stoppers. I find that as the product evolves, some of these gaps are addressed. Or, one may decide to use a bolt-on product from the add-on eco-system if you need more intricate functionality – there are some pretty impressive tools out there, covering everything from CRM to Workflow.

 

Apart from the obvious tactical benefits, we have experienced an improvement in liquidity as we can invoice far more efficiently now and have fewer late payments. Most of the time, the system’s automated reminders are sufficient to initiate settlement of overdue customer invoices, so there is little need to intervene or escalate.

 

So, to summarise, the great parts of using SAAS packages like this are:

  • Fast implementation

  • Cost effectiveness

  • User friendly and simple interface

  • Cloud and mobile readiness

  • Good standard reporting tools

  • Better business insight

  •  

Ratna Chengappa, interim CFO, gro.team

  •  

So, all in all, we are happy to have streamlined and standardised our financial operations. I would recommend any start-up or SME to upshift to SAAS solutions, sooner rather than later.

If you are grappling with similar business or technology issues on any scale, get in touch on hi@gro.team or +44 (0) 800 246 5735

Would Holden Caulfield Think Micro Services are Phoney?

Would Holden Caulfield Think Micro Services are Phoney?

So..will micro services live up to the hype they are receiving?

 

Yes..probably..but they are far from “free” and there are important things to be aware of before you start down this particular road…

Micro services seem to be “on the rise” so before we get to the “peak of inflated expectations” let me jump in with some real world experience.

We began implementing H2, a fully fledged event driven micro services platform, at Hailo way back in June 2013 so I guess we were relatively early adopters. It has recently been open sourced at https://github.com/hailocab/h2

What is new about micro services?

“Micro services” is our latest attempt to take away all the peripheral overhead from writing software and allow developers to concentrate purely on new business impacting functionality when they write software.

By creating sets (100-200) of small, loosely-coupled, simple, reusable software components software should be quicker to write, less fragile, and easier to test and change.

Sounds great..what is the catch?

All the communication/consistency/coherency overhead that gets taken away from the micro services has to go somewhere..and it goes into your micro services platform.

Learning one is..

When adopting micro services don’t under-estimate the capabilities of the platform you will need. You will need more DevOps, automation and tooling than you expect to.

When we started building H2, our micro services platform, we pretty much had to build everything from scratch. These days a lot of the work around service discovery, service binding and general management can be provided by SaaS providers like ww.iron.io

Learning two is..

Don’t reinvent the wheel. Look to use open source software and micro services SaaS providers to save yourself time and money.

When we wrote our micro services our war cry was that each service “should do one thing and do it well”. That worked pretty well but don’t over do it. Hailo has more than 200 micro services now and maybe it’s too many. You have to find the right balance between maximising reuse and minimising dependency.

Learning three is..

Don’t be too purist. Start with fat “macro” services and only decompose them when experience tells you it will make things better.

As our platform matured we also learnt a lot about the general housekeeping processes you will need to perform when running a micro services platform. Feidhlim O’Neill wrote a great blog post about it here.

So would Holden Caulfield be right if he thought micro services were phoney?

No. They really can help you create an architecture that is very quick to develop on, resilient, performant and cost effective to run.

They aren’t “free” though..if you learn from other people who have already done it, leverage open source and SaaS whenever you can, and go into it with your eyes open you’ll definitely prove him wrong.

Contact gro.team here for a discreet, “no strings”, chat if you’re thinking of using micro services..we’d love to get involved.

How to make an API/Platform faster, easier to manage and cheaper to run..use Google Go golang

How to make an API/Platform faster, easier to manage and cheaper to run..use Google Go golang

The news that Dropbox has migrated its’ performance-critical backends from Python to Google Go (confusingly also known as golang) has surprised some people..but probably not people like me who have already successfully migrated a backend platform to golang.

What is Google Go/golang?

Go/golang is an open source programming language created at Google in 2007 by Robert Griesemer, Rob Pike, and Ken Thompson. In computer language terms that very much makes it the new kid on the block (Java has been around since 1995 and PHP since 1994) but Robert, Rob and Ken have done a great job of bringing together all the best ideas from all the existing languages. As an open source project it is essentially free to use and Google say more then half of check-ins on the project are now done outside Google.

At Hailo we migrated our back end from a mixture of PHP and Java to golang and in the process made our backend faster, simpler and cheaper to run.

We didn’t have any golang developers at Hailo when we decided to move to it so our existing PHP and Java developers had to learn it “on the job”. With a few exceptions they took to it like “ducks to water”.

Golang is easier to write and manage than Java, it runs faster than almost everything except C/C++ and because it scales across the multiple cores/CPUs in a server “out of the box” you can save money by using less servers.

Faster, easier and cheaper..really?

Faster

Go is a compiled language that compiles the source code programmers write down to the binary language servers can execute without further translation.

This is different to the interpreted languages like PHP/Python/Ruby that need to run on top of software virtual machines. This makes Go significantly quicker in a straight line than scripting languages. (It’s not even that much of a problem that you need to compile your code before you run it. The run command compiles and runs your go code so quickly that it’s like working with a scripting language).

Go is so blisteringly fast that it is now actually being used to write a lot of the components underpinning the leading edge digital architectures. Docker (the rapidly growing virtualisation technology) is written in Go as is NSQ (the rock solid messaging platform) as is Bitly and so on.

Easier

Go is object based (rather than object orientated like Java) and has none of the fiddly memory management and pointer things you need to keep on top of in C++.  Because it compiles down to a binary executing it is as simple as deploying a file to a server and running it. There are no libraries, frameworks or interpreters to worry about.

Some people think the Go compiler is a little too fussy (it will complain if you include a library and don’t use it for instance) but in combination with Go being a strongly typed language (I won’t open that can of worms here) the upshot is that more errors are usually found at compile time rather than found at run time – and we’d much rather we saw any errors than our customers did.

Cheaper

Go’s killer feature is its concurrency model.

Out of the box it will automatically create code that utilises multiple cores/CPUs by creating parallel executing threads.

With interpreted languages even if they are technically multi-threaded only one thread can ever execute at one time (because of the Global Interpreter Lock).

This is how companies like Hailo and Dropbox have achieved dramatic scalability improvements by moving to Go.

This is a graph of Hailo jobs (blue line) and Amazon Web Services cost per job (brown line) that Boyan Dimitrov of Hailo presented at an AWS conference last year.

Faster, easier and cheaper? What is there not to like?

There is no such thing as a “good” or “bad” computer language, they all have strengths and weaknesses, and you need to work back from the problem you’re trying to solve before deciding which language is optimum for your particular circumstances.

Go/golang is state of the art for use cases like backend APIs and micro services frameworks where you want low response times and low hosting bills, but it isn’t really designed for the user interface layer…JavaScript is eating that particular world.

Golang’s relative newness also means that there aren’t as many libraries (chunks of code you can include and use) as existing for other languages. Good open source citizens like Dropbox are writing and open sourcing any missing ones as we speak.

There aren’t as many golang programmers on the market yet as for other languages but we certainly found at Hailo that the opportunity to use golang attracted as many talented programmers as we needed and nearly all of our PHP and Java developers found it easy to learn and get productive on.

Having two names (Go and golang) is a bit confusing and the Gopher logo (above) is a little odd..but I’m nitpicking now.

In my experience a back end platform written in Go will probably be quicker, easier and cheaper than all the current alternatives but a lot really will depend on your business needs.

Not every business wants or needs minimised response times and maximised scalability and the cost of migrating an existing API/Platform is far from free of course.

Contact gro.team here for a discreet, “no strings”, chat if you’re thinking of using Google Go..we’d love to get involved.

“Corporate” CIO? Reinvent yourself here…

“Corporate” CIO? Reinvent yourself here…

We’re getting a lot of “cries for help” lately at gro.team from CTOs/CIOs who are finding themselves at the wrong end of the digital disruption imperative.

Their organisation has woken up to the need to “go digital” and either they have been blamed implicitly/explicitly for the failure to change in the past or the view has been formed that they don’t have the skills necessary to lead their organisation through digital transformation.

This isn’t anybody’s fault of course.

The business world is going through possibly the period of highest change since the industrial revolution and suddenly what is wanted and needed from a CIO is very different from what made a lot of CIOs successful in the past.

Mobile (mobile is overtaking web usage), Social (we’re all in a 24/7 network now), and SaaS/Cloud (software really is eating the world) have changed our opportunities and competitive threats forever.

New waves of disruption from Drones, Artificial Intelligence and Robotics are not hard to foresee..

Some CIOs are riding these waves and have quite happily moved to the intersection of business, product and emerging technology – but others haven’t.

The good news is that if you have successfully led technology transformation in the past then your business, people, change, and technology leadership skills are great raw material.

Give us a shout here for a discreet informal chat about our coaching and workshop services.

We have people who are doing it, have done it, and are happy to share their experiences and make you successful.

 

Cloud Migration Readiness Healthcheck

Cloud Migration Readiness Healthcheck

We have run systems in (and migrated systems to) all the major cloud providers;

Amazon Web Services (AWS).

Google Cloud Engine (GCE)

Microsoft Azure.

RackSpace

Ask us here about a three day Cloud Migration Readiness Health check assessment.

We’ll tell you what you will find easy, what you will find hard.

What you will be able leave unchanged and what you will need to change.

We no have loyalty to any particular cloud provider so we’ll also tell which provider would be optimum for you.

For a Cloud Migration Readiness Heathecheck assessment please give us a shout here

Case Study: Talent Tune Up

Case Study: Talent Tune Up

Talent Tune Up

A European online company was struggling to cope with the growth in demand for its’ service and mature its team capability.

 

It had kicked off a re-architecture project but was worried the project wasn’t on track.

 

An gro.teamer visited them on site and over two days conducted a series of interviews, informal coaching sessions and workshops .

 

Day three was spent writing up a report including recommendations that;

 

The new architecture was essential to the future success of the business. It wasn’t perfect or finished, but it was an important step in the right direction.

 

The appropriate risk control framework should be put around the new architecture and then it should be launched in a way that limited damage in the event of problems.

 

The launch and migration process wouldn’t be without incident..but then was the time to make the step and take the pain.

 

Making people more accountable in the team would raise overall performance levels. Bringing in carefully selected people with “battle scars” from the industry market leader would help.

 

The gro.teamer also quoted Ben Horowitz from “The Hard Thing About Hard Things”…”If you’re going to eat sh*t..don’t nibble”.

 

If any of this rings true please give us a shout for an informal and confidential chat.

Case Study: CTO Jump Start

Case Study: CTO Jump Start

Despite huge time and effort a successful comparison site had not been able to find the “perfect” CTO.

They couldn’t wait any longer so they brought a gro.teamer in to get things moving…

 The issues facing the IT Team are not atypical of a team at that stage of it’s development, and the first impression was that although currently being held back by over-commitment, immature processes and a relative lack of experience (in some areas) the IT team had huge potential – and was capable of taking things up to a much higher performance level.

Of course, an IT team always needs to be executing against an IT strategy that both informs and is informed by the business strategy. This needed to be created , maintained and evolved.

The current IT team structure had evolved organically, and needed to be modified in order to really drive higher company growth.

Although still in transition, the software development process  needed reviewing in order to ensure it is as productive, consistent and efficient as it should be.

Overall the IT team appeared to have a good culture and more than its fair share of talented people.

There were significant indicators to be optimistic that after some work and investment the team was more than capable of stepping up further and playing an even greater role in driving company growth and success.

The gro.team Interim CTO executed the changes he proposed and successfully led the team to higher performance levels before bringing in and handing over to an FTE CTO.

Please give us a shout here for an informal and confidential chat.

Case Study: Creating a new IT team and capability

Case Study: Creating a new IT team and capability

A London based start up had attracted significant Series A funding and needed to take things to the next level.

Their web site had been built by an external agency and they no internal technical people within the company.

An gro.teamer was brought in (part time) to act as Interim CTO and create an in-house technology capability.

During the first 90 days our gro.teamer:

– Clarified and documented the business strategy and KPIs (the “What”).

– Created a draft technology strategy (the “How”) and then created an API and Platform based Technology evolution strategy.

– Formed a strategic partnership with a recruitment agency.

– Hired a small but great team of in-house developers.

– Took ownership and control of the company’s web site and migrated it to GitHub and Google Cloud.

– Implemented task and product roadmap based workflow and reporting.

– Launched a workplace social collaboration system.

– Improved the web site download speed and took significant friction out of the web site customer experience.

– Initiated major product initiatives in both mobile and brand monetisation.

– Identified, hired and on-boarded a permanent CTO before handing over the baton and moving on to their next challenge.

 

As the CEO put it…”what a difference one year can make..”

If you need urgency clarity and delivery like this give us a shout and we’ll be there.

How To Select New Technologies

How To Select New Technologies

So…we have to do a 2.0 project and re-architect/re-platform how do you go about selecting new technologies?

The finish line and intermediate goals are clear..the team is in place and ready to go…how do we go about selecting technologies to use for our re-architecture?

For Hailo 2.0 I started by sending out a blank grid like this to opinion holders and the smartest people I had ever worked with in the past asking them what they would look at for each layer.

Layer

What Became the Leading Candidates

JavaScript Framework

AngularJS

Protocol

JSON, protobuf

Above the API

Mashery

API

Google golang, Java

Message Queue

RabbitMQ, NSQ, ZeroMQ

Services

Google golang, Java, Scala

Framework

Spring

                  Data Store                          Cassandra, PostgresSQL

This allowed us to narrow down our consideration space and focus on the most likely contenders at each layer. There was a fair degree of consensus in the responses. Very few of the respondents would have not chosen Google golang or Java for the back end services for instance.

If there is one thing techies love arguing about it is which language/framework and so on is “best”. Of course there is no right or wrong answer so the debate can rage with almost religious fervour for far too long if it is left unchecked.

So how do you run an inclusive, exhaustive, collaborative and objective process selecting new technologies in a timely and effective way?

We put aside the first few two week sprints of our 2.0 project to prototype the various important technology options like this;

Sprint One – Message Queue

Sprint Two – Main Back End Language

Sprint Three – Data Store

Sprint Four – Protocol

This process worked well because it was fair and objective and we were staying true to the agile principle of valuing working software. Advocates of particular technologies had to show how much working software they could create in two weeks and we made a decision on demo day at the end of the sprint.

We learnt a lot during the sprints. Advocates of particular technologies changed their mind having tried to work with it and everyone in the team felt they had been given a fair “crack of the whip”.

It took six weeks but we learnt a lot, bonded as a team over friendly rivalries, built some useful prototypes we built on later and avoided lengthy and unproductive debates selecting new technologies.

So the team was in ready and now the “how” toolkit was decided..it was time to attack the first goal.

For the record the team chose protobuf to communicate with our mobile phone apps, Google golang for the API, RabbitMQ as the message broker, and NSQ as the event fire hose queue, Google golang and Java as the services language. (The H2.0 platform supports both but Google golang is definitely the “weapon of choice”). Cassandra is the back end data store.

Scaling 10x in 6 months

Scaling 10x in 6 months

We were recently asked to help a rapidly growing online Gaming site in scaling their IT capacity 10x….in six months before a big sporting event…gulp.

 

To kick off an gro.teamer ran a two day scaling workshop on site with their very talented CTO and technical team and together they;

 

–  Created an agreed view of exactly what their platform looked like (which is not as easy as it sounds with a complex and rapidly evolving IT platform).

 

– Got a consensus on where the single points of failure and capacity constraints were most likely to be.

 

– Put these these common areas/functionalities such as “MySQL database” or “redis” on the wall.

 

– Invited all the participants to write potential mitigation approaches on Post-it notes and attach them to the appropriate area.

 

– Consolidated and de-duplicated the scaling ideas having discussed each one objectively (“no bad ideas..”)

 

– Grouped these ideas into things

 

(1) They wanted to do in the next six months

 

(2) Things to look at after that

 

(3) Things we would hold in reserve as “Plan B” ideas.

 

– They then used a “Planning Poker” rituals to get a consensus on t-shirt sized estimates for both effort and impact of the themes.

 

– It was clear by this stage what the low effort/high impact areas of activity were so they roughly sequenced them.

 

– Ta da..they had created a “plan” of how they would/could scale 10x in 6 months. It had been genuinely co-created and not imposed on anyone by anyone.

 

The feedback from the Tech Team was very positive..although initially sceptical (“we know what to do”) they felt that it had been an inclusive and creative process and they were happy to take ownership for an aggressive plan that they had very much co-created.

 

The gro.team person went to the airport very impressed with what they had achieved in two days.

 

On to their next challenge..please give us a shout for similar impact here