Business Analysis

BA, or business analysis is the practise of finding, specifying and implementing solutions to business operational needs. It’s the nuts and bolts of what we do at software guru, so it’s high-time we blog about it.

A Business Analyst is someone who is inside an organisation, or a consultant, who examines business processes, taking particular attention to data flow and storage. He or she then identifies areas for improvement, often recommending software systems to fit business and data management needs.

Our magic-bullet approach at software guru is simple:

  • First we will try to find software that’s off-the-shelf (COTS) to fit the client’s needs. This is often the most cost effective way to go. If a company has already developed software that handles the tasks they perform, we do not have to develop custom software, saving the client time and money.
  • Sometimes, using off-the-shelf software is like trying to fit a square peg in a round hole. If this is the case, software guru can develop interfaces and custom scripting to round off the edges of the square peg and make it work for the client’s specific needs. This has proven a very efficient method for many clients.
  • If customization of existing software proves too much of a stretch, or still won’t fulfill a client’s complete needs, the third option is to develop a tailored software solution. The advantage of selecting software guru, is that we’re not just trained business analysts, but we’re experts in developing software, so we can quickly and cost-effectively develop complete software business systems. Sometimes, only small applications are needed. Costs won’t spiral out of control, because software guru puts the client first, and only develops what they need.
  • Obviously, a lot of clients have existing software systems. In many cases it’s easier to work with incumbent software and upgrade/expand/modify/customise it, or develop add-on software, to fulfil all the business goals. This is a great way to go, and sometimes a client is happy with 90% of their existing software, but they need us to provide the extra 10% of functionality.
  • Once software guru has done its thing, the business will be more efficient, and so more profitable than before. Often clients are able to pay for software guru’s services within months of implementation from increased revenues and profits.

Call software guru today for a business analyst consultation – (902) 302-0460

As with many things, there are good and bad business analysts. A good business analyst is flexible enough to handle whatever is thrown at them, and have skills in strategic planning, marketing, process improvement, data management, and policy development. At software guru we can do all this and more. In looking at your complete operation from purchases through to sales and payroll, we cover a wide range of business consultancy solutions. The solutions we implement for you will make sense, save hours, and make your data to day job more pleasant, providing you with confidence. It’s a bold claim, but one we can back up with many testimonials. We’re here to help your business become more efficient and competitive, so call us today and start your journey to greater productivity.

Learning Computer Coding

Many people tell me that they would like to learn programming, and ask my advice on how to get started. I started programming so long ago — constructing BASIC programs on a BBC micro at primary school in the eighties — computing has obviously cha1346185274302128882a-new-computer-svg-hinged considerably since. Even the term programming is broader.

There are many different ways to introduce yourself to programming, some of which I approve of, some I would not recommend. If you’re thinking of dipping your toes into coding, which technologies you start to learn, largely depend on what programming you want to do.

I’ll try to give some general advice, based on over thirty years of programming in different languages, to help you decide if software engineering is for you. Programming can be rewarding and a lot fun. It can also be frustrating, so it’s important you have a positive initial experience. As for many new things in life, things worth learning aren’t easy, so allow yourself to struggle and fail occasionally. The good news is, now more then ever, there are a host of resources out there, when you do get stuck, which you will.

Learning for the Web

Lot’s of people will come to programming via a desire to create websites. Programming isn’t necessary for website creation nowadays. It can be sufficient to have a good grounding in computers. And I’m not talking about Facebook pages or blogs. Content Management Systems, such as WordPress  use visual tools to layout and create web content, and many themes, such as Divi by Elegant Themes are so customizable, you’ll never need to touch the code.

Youtube is a great resource for learning how to do things, and this is no exception for computing. Search for “primer” or “tutorial” and then the technology you’re interested in, and you should find many useful resources.

At some point, with web design, you are going to want to get into the code. You’ll want to add more animations, effects, or interactivity to your pages. The three most important languages for the front-end of websites are:

  • HTML (HyperText Markup Language). The code of the web, every internet page is laid out with html markup, so you’ll need a first grasp of it.
  • CSS (Cascading style sheets) Style is everything on a modern web page: from colours and fonts to the way divs (blocks) are laid out and behave when a screen resolution changes. CSS defines a complex language to style all of your HTML elements.
  • Javascript. This is a universal scripting language for code that can run on the front-end (in your browser) and perform things like animation effects, auto-update of information, form checking, and so on.

I can recommend the tutorials and reference information at ‘HTML Tutorial – W3Schools’ and suggest if you are new to the practice, you go through the tutorials on HTML, CSS, and Javascript in that order.

On the above technologies, I can also recommend the “in easy steps” series by Mike McGrath. He explains things proficiently, the material is well laid out and colourful. The use of a physical book when learning a new language can not be underestimated.


It’s much easier to browse through a book open on your desk whilst you are working on a project on your computer screen, than switch back and forth between webpages on the screen. Using websites for reference (lookup of quick information) can be very useful, but I believe, when you’re learning a new subject, it’s less distracting for your mind if you use a good book.

Additionally, a book will have gone through fastidious composition, various edits, and professional layout, prior to publication. A website you found through a Google search is more likely to have information hashed together in a hap-hazard fashion.

Having said that, it can be counter-productive to read an out-of-date book, as technology moves so fast, so always check you have the highest edition when ordering or buying books for technical use.

Back End Development

Many websites aren’t just static pages. They talk to a back-end server, which responds with page data. Most talk to a database too. The larger websites we’re all familiar with such as Google, Amazon, eBay, and so on, are distributed across many machines.

A great language to learn for back-end development and scripting is PHP. It runs half the internet and is the back-end to WordPress amongst other things. The interrelation with HTML and it’s Perl-like text-processing capabilities are what makes it so powerful as a back-end web language, but it’s also a great scripting language in its own right.

PHP is structured like C, so learning PHP, will make you familiar with many idioms common to a lot of other languages.

I can highly recommend PHP in a Nutshell (O’Reilley). The first few chapters go into the history of programming and programming in general, and act as a good primer for the subject.

If you get into databases, you’ll also need to learn their language — SQL (Structured Query Language). If this is something that appeals to you, I would recommend learning the principles of relational databases, so you can gain valuable skills of database design as well as database querying.

Formal Learning

There are so many different languages you can learn for pure software development — many specialized for different uses — that it’s impossible to pick a best first language. Despite this, there are many flame wars on the internet by ill-informed amateurs clamining otherwise. Another article on beginning coding.

When I learn a new language, I normally select it for a specific task I’m doing. But there are still so many choices that I’ll look at the trends in Computer Science and see what is popular, keeping one eye on the job market to see if the language I’m learning has a demand or not.

For learning a first language, for pure learning, it’s not so simple. I think the overriding factors for a first language are:

  • Not too difficult
  • Can run on different platforms (at least: windows, mac, linux)
  • Not too crazy or specialized that the techniques you learn won’t be applicable to other languages
  • Widely used, so there’s lots of learning resources.

When I was at school BASIC, was taught. More recently, with the popularity of SBCs (single board computers) Python seems to be the trend for education. Scratch — a visual language — has also had some traction in classrooms. For reasons I won’t go into  in this blog post, I think those are all bad choices.

If you are interested in learning programming, from ground-up, in a comprehensive manner, one language stands apart from me. Go. It was developed by google by a team of Computer Science experts. It’s a lean, compiled, statically-typed language, which has an awesome set of tools, capabilities and documentation.

Go has a great many applications, from communications, web servers, embedded systems, simulations, number-crunching, and so on.

A colleague of mine teaches youngsters programmers using the Go language in  a ten week course in the UK . Their experience is always a positive one. They understand how the language works and have fun with it.

I helped him with the teaching material, and he’s now made it available online at gophercoders. I can highly recommend this material and this language for anyone, of any age, serious about learning programming.

Here in Nova Scotia, the province has recognized the importance of teaching programming at an early age, and I would think, the materials in Gopher Coders would be an excellent resource for this initiative.

Good luck and have fun.

Craig Phillips
Software Consultant
software guru

How to Choose a web designer

Often software guru consults on a project where web design is a feature. A business could be launching a new product, or it could be a time to freshen up their website, to pull it kicking and screaming into the 21st Century with responsive design and links to social media and SEO friendly, and all that good stuff.

The scope of web design is so large, and not always but often, a client will come to us thinking they want one thing, only to find, after we show them all the options, they really want something else.

So, you have a need for a website. How can you find a designer to help you?


Start from ground up

Dig deep and find out what the purpose is for this website. Ask yourself questions such as:

  • Who is the audience for this site?
  • What kind of visitor do you want to attract?
  • How much interaction does it need with social media?
  • How dynamic does the content need to be?
  • What is the core message you need to get across?
  • What are the must-haves for the website
  • How often will you want to update pages?
  • How many people will be uploading content?

Hopefully, the answers to these questions will naturally lead to a specification for what the website should do.


Now you can start to flesh out copy – the content of your website – and gather high-quality images such as photography and graphic design. Some web-designers can cover this whole process, and this is the preferred approach for software guru. We will figure out what your specification is via one-to-one sessions and we’ll work with you to write the copy and source the images (typically a combination of stock photography and a custom photoshoot). Other web designers will simply add content you’ve provided on to a set of static html pages.

This is an important step. Many factors will come into play. Your budget, how many pages you need, how much spare time you can invest in photography? What equipment and technical knowledge do you have? You can’t try to fit a round peg in a square hole, so find out about the designers modus operandi and narrow down your choice to ones who will work the way you need.


So, how do you evaluate a web-designer? Typically, a client might start with a google search. Maybe they’ll also search in their location. It’s often desirable to have a designer near you. Especially if you intend to engage them for photography or video production work also. But it’s not mandatory. Nowadays you can work with a company remotely. You can manage meetings successfully over Skype or Facetime, and you can handle remote computing sessions with tools such as TeamViewer. software guru is based in Cape Breton, Nova Scotia, and we work with a lot of local businesses successfully, but also we have many satisfied global clients.

So, you review the top four or five in your google search. It’s important to not just look at the first one or two. Oftentimes, they will be the ones that have paid for SEO and advertising and they will have to recoup their costs through higher prices. As with appointing anyone to provide a service – from hiring a carpenter to a lawyer, you’re going to want to look at several to get an idea of what’s a fair price.

software guru makes this part easy. We provide packages with set prices. The basic package starts at $1500 and provides 4 pages with responsive design, gallery photo function and blog and news features. Our interactive package is $2500 and there are also a business and application packages. For full details email


differing websites developed by the software guru – a snazzy fitness application and a traffic security system

Always check their work. The first example is of course their own website. If that’s poorly designed, it’s difficult to imagine how they will do a better job on your project. Often there will be links to other work they have done, so check their portfolio of work and testimonials if they have any. In some cases, it might not be the quality of work that deters you. It might be a case of their style doesn’t suit. The examples of their work might all be from the book publishing industry, but you want a farming website. software guru has been lucky enough to work on a lot of varying projects and can take on small and big tasks alike, but some web designers are narrowly focussed on a industry or style, and that may not be what you’re looking for.

software guru

We have worked on a number of different websites, some of which are listed below:
D’Escousse Civic Improvement Society
Bristol Cleaning
The Groundswell
Fishing Cape Breton
Software Guru
and more…

Custom Software

What does Custom software mean?

Custom Software, sometimes called bespoke or tailored software, is software developed for one particular purpose, normally for one particular user. That’s not to say custom software, once developed, cannot find a broader use.

Every business is different: the market in which it operates, its customers, and above all, its product, makes it unique. A company’s processes are owned by it, and are streamlined for efficiency to best aid that company. It makes sense to imagine that a company’s software requirements also will be unique. This is where custom software comes in.

Many companies will require a piece of software for payroll, a piece of software for scheduling, emailing, documentation, and so it goes on. These packages are available as off-the-shelf (or COTS) software, and can be customized to a certain extent to fit the individual needs of the business, sometime easily, sometimes with help from the supplier or a third party.

Where those off-the-shelf-solutions don’t perform all the functions the business needs, a plug-in can be purchased. This is the simplest form of custom software. Many plugins are available for all kinds of software applications, from email to internet browsing and other business software. Where a plug-in isn’t available, software guru can create one for you.


How can software guru help?

Sometimes stand-alone custom software is needed, to join two or more COTS packages together, via data links, or to support a particular task.

software guru has created custom software to remove images from traffic cameras, to schedule training tasks, to manage contract data, to automate email responses, and many many other purposes.

The development of custom software by the software guru has made otherwise impossible tasks possible, or in some cases existing manual tasks much easier and more efficient (turning hours into minutes).

software guru in a nutshell

  • We evaluate computer infrastructure, including: software systems, data-flow, business processes, computer systems, databases, data collection, storage, and output.
  • We can create a report for you, outlining your key processes, highlighting strong areas and areas for improvement, explaining actionable items.
  • We can develop custom software to improve your business workflow, and processes, helping to reduce manual errors, and improve efficiency, by adding or enhancing systems
  • Everything service we offer is cost effective for your business, saving you money.

Call or email us today!

What is joined-up data?

Category : Uncategorized

What is joined-up data?

You’ve probably heard of the phrase joined-up thinking. Well, joined-up data is really the same thing: different departments having a free exchange of data.

An example of a system with joined-up data would be the following:

Imagine a railway company. One computer system holds the track information – lengths, junctions, stations – in a GIS database. Another system handles the scheduling. The two systems talk to each other. For example, the scheduling system can query the GIS system to find out how long a train will take to get from station A to station B and then it presents the timetable to the user.

A third system is a ticketing solution. This system uses information from the GIS systems to find out length of track and station zones, and calculate prices for journeys. All systems are joined-up.

Another example

Now consider a cleaning company. They get requests over the phone for jobs and open up a calendar to see when they’re free. They book the appointment with the client, then look up the customer in an address book application to get their address, and copy that information to the calendar so they know where to go to do the job.

When the job is done, the cleaner fills out a hand-written note, which is dropped on the completed pile when they return to the office. A secretary goes through the completed pile, and types the information into excel to create an invoice, which is printed and mailed to the client. At the end of the month, all the excel spreadsheets are totaled to do the accounts. This is an example of a computer system with data that is not joined-up. This sounds like a bad example, but is very typical of medium sized or growing businesses. All of these systems are on a computer somewhere – the calendar, the address book, the excel invoices – so they could all be joined up: they could all be one system.

The advantages of joined-up data are manifold. Employee’s would save time copying data and so would have more time to spend creating new business. Mistakes wouldn’t be made – cleaners going to the wrong address or even worse, invoices being lost in the system. Invoicing would be quicker and so cash-flow would be better, and so on.

Then there are the fringe benefits. With everything in one joined-up system, unpaid invoices could be tracked and the user alerted on a regular basis. Customers who’s address hasn’t been visited in several months could be sent a reminder email, asking if they require a spring-clean, thus generating more business.

The fix

When explained in this way, the arguments for a joined-up system are overwhelming, yet many businesses put-off software upgrades, because they are afraid of the unknown.

software guru can help. We have lots of experience in upgrading and connecting multiple systems in this way. We can create a seamless data ecosystem and we can make the transition from an old antiquated process as smooth as possible. Clients of ours have no regrets, and can’t believe they’ve lived with an inadequate system for so long.

If you’re interested in learning how we can help make your life easier, call us today for a pain-free assessment.



Case Study – Bristol Cleaning

A client that software guru helped a few years back was Bristol Cleaning, a window cleaning company established in Calgary, Alberta.

When software guru first assessed their workflow, Bristol Cleaning was a growing concern. They were using excel spreadsheets for almost everything – quote sheets, job sheets billing and accounting – a combination of one-off, weekly round-up and monthly round up spreads.

Whilst this worked reasonably effectively for a few jobs, it’s not difficult to see that this didn’t scale well. When BC got more clients, further work, and more staff, organizing the amount of files, alone, was a real headache. All these separate files to be cross-checked and managed. Work was lost, unpaid invoices weren’t always chased, and occasionally teams would be late for the jobs. Things had to change.

software guru was able to see that during a workflow, the same basic set of data – work-required (amount and size of windows), and site address – was carried along the process, from quote to job sheet, to bill, with extra info being added – team, scheduled time, cost, etc.


An access database was developed. This improved scheduling immensely. At the click of a mouse, free slots on a weekly schedule could be found, and assigned jobs. Unpaid bills could be automatically flagged. Previous customer’s details could be found quickly, so re-quoting could be done remotely, and more visits scheduled.


A set of unwieldy manual processes was turned into an efficient all-in-one solution for scheduling, billing, and staff payroll. And the workflow of the company didn’t change!– the application reflected the successful workflow– but time was saved and fewer mistakes were made; thus enabling Bristol Cleaning to grow even bigger as a company, becoming the largest single window cleaning company in Calgary.

Our working method

In many cases, a company think’s they have an issue or an area for improvement, but they’re not sure how serious it is, or how to go about addressing it. In this case, our recommended approach is as follows:

Our preferred Working Method

Anywhere in Northern Nova Scotia, software guru can visit your company on-site, and for a small fixed fee, will evaluate all your business processes and dataflow between business systems. This normally takes one day. We then go away and generate a report on your business’s dataflow, highlighting its strong points and weak points.

Software Report

Within a week, you’ll have a report that outlines your main business systems, and presents each software system with a set of scores in categories such as efficiency, maintainability, running costs, life-stage, useability, knowledge base, and so on.

The report also contains a list of recommendations, also scoring them in severity. All this, for a small fixed-fee. It’s that simple. Rather like a home inspection, only for your business’s data processes.


The report makes recommendations for the business, details all the benefits, and estimates timescales and costs. These recommendations can be acted on by the business, or not; you are under no obligation. Possible recommendations include areas to focus on, systems to improve, but more importantly, the recommendations will be specific to your business, explained in detail, and achievable.

Typical recommendations will include upgrades to existing software, small or large in scope, additional software and or computer systems, either off the shelf or custom, implementation of backup systems or procedures, changes to the network or other infrastructure, changes to business procedure, staff training.

If the recommendations are followed, your dataflow will be more efficient, robust, and less prone to errors; so your business will become more profitable and adaptable. You have everything to gain and nothing to lose, so book an appointment today!



We can be engaged in any other capacity. Maybe you already know what you want, or you just need some help with a project. You’re the boss, and we can be flexible to suit your needs. So call or email us today and see how we can help.

What is software guru all about? is a software consultancy that specialises in helping companies streamline existing processes and create new automatic processes. We are based in Cape Breton, Nova Scotia.

Your data is your asset

Data is a very valuable asset in any company, and often undervalued. In many companies, processes evolve organically from existing procedure, often creating an unmaintainable rats-nest of systems and procedures, badly documented, with several possible points of failure, with manual steps, random spreadsheets, paper forms, and error-prone manual data entry.

Whilst these temporary solutions work in the short term, they shouldn’t be relied upon in the long term. They are prone to error, are not robust, and do not scale well.

What can the guru provide?

software guru can help. We analyse your software systems, their dataflow, and your workflow and create a tailored report of recommendations. We typically suggest a combination of off-the-shelf software, additional data scripting, and bespoke software and database applications.

creating seamless data processes for business workflow

Our philosophy, is not to reinvent the wheel, so if existing off-the-shelf software can be used, there’s no need to create bespoke software. Sometimes it’s necessary to create small bespoke software to customise, update, or link existing systems. Other times it’s necessary to create a new software application. Every client is different, and there is no one answer.

It’s not always necessary to redesign a system. The emphasis is on making the unmaintainable maintainable, and the manual automatic – many times this can be achieved by augmenting  existing systems to close manual gaps.

Often several solutions varying in predicted costs and coverage will be suggested. A complete tailored heterogenous solution will fully automate your key processes.

Why us?

software guru has a wealth of experience in developing, installing, testing and maintaining a range of computer systems to suit client’s requirements, and can do so at a competitive rate and timescale unmatched by other software solution providers.

Once implemented, you’ll find the solution will add other benefits such as accountability, data analytics, and other useful features that your incumbent methods may not be capable of providing.

logo_etc_slide 1

Call us for a quote today. Your business’s software needs us!

Data Automation

Would you be surprised to know that well-established companies waste many hours on inefficient, costly, error-prone manual processes? Maybe you’ve worked for companies that do things by hand, where they should be done on a computer. Maybe you’re working at one right now.

What is dataflow?man_at_comp

Each business has a dataflow. They import data in the forms of orders, scheduling, invoices, they export data such as payrolls, purchases, inventory. Everything in between handles the flow of data.

Computers, databases and software systems mange that data as it travels through: a set of business rules change or replicate the data; and a set of workflow stages occur where decisions are made.

As these workflows evolve throughout the life of a business, quick-fixes can be put in place where a software system or modification is required. These manual quick-fixes are often designed as temporary, but can be left in place for many years. They are dataflow gaps and can cause severe issues.

What’s wrong with dataflow gaps?

Whilst useful, and necessary, they are the Achilles heel of a successful business. Problems can include:

  • Staff waste hours on repetitive tasks, costing the business money
  • Reaction to new information takes time (as things have to be reentered) reducing business opportunity and slowing sales
  • Errors can creep in: humans make mistakesicon2
  • Data can be lost

How to remedy these inefficient, costly, error-prone dataflow gaps?

software guru can help you. We can create custom software solutions, or make modifications to your existing software systems, whichever’s appropriate. Whatever we do for you, you’ll end up loving – our solutions help you:

  • Save wasted hours on repetitive tasks
  • Reduce turnaround time for company processes
  • Add value to your workflow
  • Reduced potential for costly errors
  • Add accountability, visibility and controllers
  • Feel confident that your vital data is safe

It’s that simple! Book your appointment today. The serve clients across Northern Nova Scotia.

We can help you Automate today

Pin It on Pinterest

Share This