News & views that you might find interesting
Welcome to our 'blog'; short for 'weblog', which is a place on the web where you log things, funnily enough. We've added this section to our website as a source of opinion and thoughts spanning many subjects; some software development related and some not. Some may be composed by others; pieces we think may be insightful for you.
Read more on…
What's in a KISS?
When it comes to designing software, we are firm believers in simplicity, which is why we we love the KISS principle.
KISS is an acronym for "Keep It Simple, Stupid", originally created by the US Navy to describe their approach to design. They claimed that most systems work best if they're kept simple rather than complex, and our experience tells us the same.
There are loads of other permutations of this acronym. For us, the most appropriate would be Keep It Simple Software.
Over-engineering software is a common trait in software development. If you leave developers to design software, they'll build things just because they can, or because it provides an opportunity to use the latest technology and they want to try it out.
Instead, we subscribe to the KISS principle because we want to see software built that is as simple as it needs to be to complete the task it was originally intended for. Throughout the design process, we're constantly looking to remove 'bloated' functions that aren't critically need or might look good, but don't deliver any real benefit.
Remember, the simpler the software;
- the quicker it is to launch and start benefitting from it
- the cheaper it is to build and maintain
- the easier it is to learn and use
- the simpler it is to change, if needs be
We always look for efficiency and effectiveness in our applications. Less is more; less functionality means less time to design, less cost for our clients and more kudos for us!
Software's thankless existence
Most of us rely on software to complete work tasks, manage our lives, create things, drive our cars and watch our TVs. It's the unsung hero of the modern world, and the majority of us take it for granted, typically only recognising it when it goes wrong.
Some believe that software is made using magic by geeks locked away in cupboards with only their computers for company. That's perhaps not far from the truth, but not understanding how something works is no excuse for not appreciating or making the most of it.
A well-designed software application can make a massive difference to people. Look at the evolution of Facebook and Twitter, and the impact they have on the way we communicate and share our lives. Fine, it's not all great, but without software like this, some might argue that we'd be a poorer, more disconnected society.
The driving principle behind software is empowerment – the ability to make tasks possible, easier, quicker and as a result, to make us richer, be it in terms of quality-of-life or financially. And no, it doesn't have to be complicated nor expensive. If it is, then someone isn't doing their job properly. Software should only ever be simple to use and value for money.
Here at May Stanley, we strive to help people become empowered by software and to use it properly. We make and license our own software products when we identify a need, as well as providing analysis and design services to those looking to create their own, unique software system. We also help those that produce great software to reach wider markets by supporting their marketing and sales efforts. In the immortal words of Vanilla Ice, we prefer to 'stop, collaborate and listen' to ensure our clients make the right choices.
We've seen a lot of people make poor decisions when it comes to designing, buying and implementing software; bashing poorly-made square pegs into misunderstood round holes. It is the unsuspecting, trusting client that ultimately pays the price, as well as the rest of the industry that bears the scars of other people's poor craftsmanship.
There's very little more satisfying in our business, than seeing the look of relief, surprise and hope on a user's face when they first start benefitting from the software we produce. It's a great feeling of accomplishment that we constantly strive to repeat.
We hope that through our efforts, we can highlight the value of software and its role in make our lives better, so its existence is thanked.
Why not get in touch today to discuss this further?
The power of the Golden Triangle
The phrase "Golden Triange" is used all over the place. It's used in Mathematics, to describe an Indian tourist circuit and unofficially as a name for a set of universities in Oxford, Cambridge and London.
In the software sense, the "Golden Triangle" is an important tool used to explain the delicate balance between cost, quality and time.
This diagram shows the Golden Triangle. It starts with equal length sides, suggesting that no one element is more important than the others. You could say that everything is "okay". The cost of the project is okay, the time it will take to deliver is okay, and the quality of the final output will be okay.
We use the triangle to explain to our clients that if they wish to focus on one or two of the project elements, it will inevitably have an adverse impact on the other(s). Essentially, "you can't have it all".
When looking at how this is illustrated using the Golden Triangle, we consider the length of each side, and how this compares to the other two sides of the triangle. A side longer in length than the others indicates that preference has been placed on that component.
Focusing on Cost
Cost is important to you, but you get what you pay for. So, if you want to keep costs low, you must expect to compromise on time (i.e. it will take longer) and quality (i.e. it won't be as robust).
You could say "I want costs low, and quality high". Okay, in which case, having an emphasis on these two elements will severely impact on the Time element, i.e. it will take significantly longer to deliver.
Focusing on Quality
Most people agree that if you want high quality, you have to stump up the money for it. If your Quality side of the triangle is long, it will impact on Cost (i.e. it will be more expensive) and Time (i.e. it will take longer).
If you want a high quality product and quickly, the Quality and Time sides of the triangle increase in length. Conversely, that means the Cost side of the triangle is much shorter, so expect to pay more.
Focusing on Time
Time means speed - getting it done faster. If you focus on the Time side of the triangle, it impacts on Cost (i.e. it will cost more) and Quality (i.e. it won't be as robust).
Let's say you tell us you want it quickly and at a low cost. If that's the case, you must be willing to compromise on the quality of the product.
Which triangle is right for you?
It will always depend on a number of factors. Whether this software will support an existing operation or a new one, for example. If it's a brand new offering to the market, we'd argue that it is better to have this kind of triangle, where Cost and Time win the day. That doesn't mean Quality disappears - it just takes a back seat for the moment.
The reason being, we think it's better to just get something basic out there as quickly as possible, being used and feedback gained, even if you know there are a few kinks that still need to be ironed out.
Also, if it is a new product, you don't want to be spending more than you have to to prove that it'll work, so keeping costs down is also important. If it takes off, then you shift the Golden Triangle's focus to Time and Quality. You know it's going to work, so the next project is about improving quality, quickly.
Whatever your circumstances, we'd be happy to discuss how we can help make your project a success. get in touch with us today.
Why web-based software rocks!
Whilst we'll help with the design of any format of software, our specialism is in the design of web-based software
What is web-based software?
Also referred to as 'cloud based' or 'browser based' software, web-based software is installed on computer servers, often located in large, purpose-built data centres. Users access the software through their web browser and internet connection, rather than having a copy stored on their local computer. It means users don't have to buy a physical copy of the software on a CD and install it onto a single computer.
You use web-based software when you log into websites, like your internet banking, Facebook or Twitter.
Why does web-based software rock?
There are a number of significant, clear benefits to building your software as a web-based application, including:
One version | with traditional 'shrink-wrapped' software, there are multiple instances of it, usually on CDs that you install onto a local computer. The process involved in preparing the software for release is long-winded and everything must be polished.
With web-based software, all users access one single version of the software through the internet. That means, there is only one database, one lot of code and one place that needs to be fixed if something is wrong with it. What's more, changes can be immediately published so users instantly benefit from it. No more service packs or version numbers necessary.
Location independent | unlike pre-installed software which sits on a single hard drive within a computer, web-based software is accessible from any computer with an internet connection, making its accessibility a massive benefit. One system can be accessed simultaneously by an infinite number of people from any corner of the globe (if the globe actually had corners; apparently it's round, you know?).
Speed | with traditional software, once it's released, it's pretty much out of your control. Fingers crossed that the months spent in meetings and writing specifications has resulting in a product that people will like, because if they don't, that's a lot of investment for poor results.
With web-based software, you can design, build and release chunks of functionality regularly, either to fix problems, react to feedback or add new capability. This means you're always in control of it and can be flexible to the reactions of your customers who, after all, are the only people that matter when it comes to software design.
Cost | the cost of releasing traditional software is huge. The investment in time to make it a polished, finished article is enormous, and someone has to pay for that. Also, the software industry has witnessed a drastic shift over to web-based technology, meaning there are lots of people that can build it, as opposed to a much smaller (and therefore more expensive) pool of traditional developers.
Also, because you can release small chunks earlier, your relationship with customers begins earlier and you benefit from feedback more quickly. If nobody likes it, you can quit early and save a LOT of money.
But there must be downsides...
Not downsides as such; more unsuitabilities. Sometimes, mobile Apps, hybrid solutions or shrink-wrapped solutions are better. The internet still has issues with latency (speed of reaction) so it's not always suitable. Sometimes you need the power of the local machine to provide the right user experience.
At May Stanley, we're independent in that regard, so we'll recommend the most appropriate platform based on the needs of the end user and the budget and timescales available.
So let's have a chat and see what suits you the most. get in touch today