Posts

Low code vs. custom software development

Low code / no code applications are growing in popularity. These apps promise to give anyone the opportunity to develop functional, helpful applications. With simple drag and drop features, and API integration, these low code apps can become part of larger business processes.

Low code apps are primarily used in the following ways.

  1. Database capabilities. When a user wants more depth than Microsoft Excel or Google Sheets, low code solutions provide a relational database that can be used to manage almost anything. For example, Airtable provides a growing number of user-created templates that are used to manage things like:
    1. Marketing campaigns
    2. Job applicants
    3. Projects
    4. Events
    5. Products
  1. Mobile apps, portals and websites. Solutions like Appy Pie and AppSheet allow businesses to create their own mobile application or website without knowing code.
  2. Business platform creator. Solutions like Monday and Kintone come with pre-built blocks to automate your sales, accounting, and marketing teams, to allow teams work from one central dashboard.
  3. Business solution extender. Microsoft PowerApps are designed to add functionality to Dynamics 365, Microsoft 365 and other Microsoft tools.
  1. Workflow and integration. Almost all low code apps combine data from multiple platforms. Either out-of-the-box or with solutions like Zapier, ITTT (If this then that) and Microsoft Power Automate, workflows connect popular apps and services to each other.

Low code apps sound great. Let’s go!

Hold on a second. Low code apps remove the need to know a programming language, BUT… that does NOT automatically make them easy to use – or the right solution for your business.

As a custom software development company, we see companies dive head-first into low code apps without a proper strategy or evaluation. The result is frustrated business users and half-baked solutions that create as many problems as they solve.

We’re not against low code apps.

We use them for our own clients when it makes sense to do so. But a solution (by definition) solves a particular problem.

Let’s say you own apartment buildings. You want a better way to document the condition of an apartment on the occupant move-in date.  You can solve this problem by:

  • Taking pictures and filling out a form. Scan and store those materials in a folder associated with the apartment unit.
  • Buy an off-the-shelf application that creates an apartment inspection report.
  • Use a low code app to create an apartment inspection report.
  • Use a custom developed application to create an apartment inspection report.

No matter how you decide to solve the problem, you need to define:

  • What information do you want to collect?
  • How will it be standardized and categorized? (Unit, Kitchen)
  • What level of detail is required? (Inside of oven?)
  • What field types best suit each item? (free form text, dropdown field with a scale 1-5, multiple choice options, etc.)
  • Where will the information be stored? (File, CRM system)
  • Are there conditions that trigger an action? (Dirty carpet –> Carpet cleaning –> Work order for maintenance)

That’s just a short list of questions for a relatively simple business process.

Only part of a software developer’s job is writing code. Much of the work is about properly defining processes and understanding the exceptions to that process. Think of low code apps like a power tool. They can make a job go faster, but only if you know how to build something in the first place.

10 common low code software issues

We want you to go into your next software development project understanding some of the common problems we see in all software development projects, but in particular, low code do-it-yourself (DIY) projects.

  1. Not gathering the requirements first. Just like the simple example above, you need to think through the steps of the business process before you begin creating it. Otherwise, what happens is that you may accidentally create multiple processes with conflicting rules – or realize you don’t capture that information in the first place.
  2. Not structuring the data correctly. Non-technical users find it challenging to structure the data correctly, to reduce the duplication of effort, but also to get the value needed from the software. Programmers think about how tables relate to each other, and how changing a record will impact other areas of the database.
  3. Over-complicating workflows. Start simply. Get one thing working correctly and build on it. When you have too many moving parts and too many systems involved, it can be difficult to understand where the process is breaking down.
  4. Not documenting your work. One of the lessons every young software developer learns is the importance of creating good documentation as they go. That way, if you’re getting an unexpected result, you go back to the last changes you made.
  5. Spending too much time on the wrong things. Do you really want to build and maintain your own app? It’s easy to spend hours learning how to use this low code app, only to find yourself having to learn more and more to accomplish what you really want. It’s also easy to get stuck on devilish details that make little difference at the end. Is this the right font? Should this red be more red?
  6. Getting deep into the project and realizing you’re stuck. You may run into scalability or security limitations that can’t be overcome. We see this all the time with companies wanting to replace Microsoft Access. If you eventually find that this low code solution won’t meet your needs, can you easily export the data to bring it into a different system?
  7. Having integration limitations. This may be hardware or software. Sometimes a low code app seems perfect for managing a singular task, like collecting data from an IoT device, but integration may not be easy – or even possible.
  8. Billing surprises. Billing can be by user, by record count, by systems involved or functionality added. Seemingly small expenses can add up, and it may be difficult to truly know the full expenses going into the project.
  9. Outgrow storage limits. Some systems (both low code and commercial) have storage limits. Once you exceed a threshold, you get bumped up to a higher expense tier.
  10. Limited reporting. One of the requests we get all the time is to build reports. How long did this process take? How did we do this season compared to last? Make sure your solution has the ability to get the reports you need to run your business.

If a no code or low code solution is capable of meeting your needs, we’re all for it… but when possible, we recommend building solid solutions that become foundational to your business.

Low code apps vs. software development

Some people believe the myth that custom software development is prohibitively expensive. Software development can be very affordable, and even a bargain compared to manually managing processes or trying to do-it-yourself to create your own database or app.

We primarily use Django, a Python framework that provides a fast, secure and scalable way to develop custom applications. While Django is not designed for the average business user, we think that’s a good thing. You can get what you need – with better performance – and without the trials and tribulations of doing it yourself.

As a technology advisor for growing businesses, our goal is to get you the outcomes you want. That may mean recommending an off-the-shelf / SaaS business application, a low code app, or custom software development.  We can help you consider all your options to make the best decision for YOUR business.

Reach out for a no-obligation 30-minute consultation to discuss your needs.

IT quiz

What is low code development?

Low code is an approach to application development that’s very visual and includes little to no coding to build. It enables people of all experience levels to create applications using drag and drop features.

Why is low code development important?

Low code development offers application development for those that aren’t very tech savvy. Companies must build applications to work across a wide range of devices. Low code makes that easy for any employee.

Why should I get custom software?

Custom software is specifically tailored to your business needs. You will get software with every bell and whistle you need, extra security and long-term support.

Can you build an app without coding?

Yes. There are plenty of no-code and low code app builders running around. Create an app in minutes, without any coding experience.

How many software programs do you use to run your business? Do you even know?

With the rise of online hosted software applications, you might have quite a few. You login and logout of different applications all day long without even considering there may be an easier way to work.

Clients often tell us “everything is in QuickBooks” or in their manufacturing system, but when they step back and reflect on overall operations, they realize that’s not true.

  • Orders are coming in through their eCommerce website
  • Sales being managed in Outlook or in a CRM system like Hubspot
  • Emails being sent to customers using MailChimp
  • Support is being managed with ZenDesk

Missing the big picture

While each department is self-sufficient and able to get their work done, having siloed business systems eventually creates problems because you don’t have a full view of your business. Some real-world recent examples we’ve seen include:

  • Salespeople trying to sell to customers with large overdue balances.
  • An inventory system with 5000+ SKUs, detailed product descriptions, shipping weights and cut sheets that don’t exist in QuickBooks, making it difficult for the company to get a detailed understanding of profitability by product.
  • The customer updates their address in the online web store, but because this information isn’t updated in the manufacturing system in real-time, the order is sent to the wrong address, creating extra expense and an unhappy customer.
  • Online orders come into a salesperson’s email inbox, which then has to be typed into the manufacturing system, leaving room for error.

There are hidden costs when your business information is disconnected like this because you can’t see the full picture. Connecting your systems will give you new insight and save you a lot of trouble in the long run. Integrations will also improve your business by:

  • Reducing human errors made because of multiple systems
  • Cutting down data security risks with fewer systems and passwords involved
  • Offering a full view of your business from angles you’ve never had before

Developing a streamlined process

Before we actually do any software integration work, we help clients come up with a process for updating the multiple systems to decide:

  • When should a record or system be updated?
  • Which system takes priority?
  • What’s the “one source of truth”?
  • Who has authority to make changes?

Sometimes these processes are straightforward:

Other times, these processes are more complex, and need to be flow-charted:

  • Is this a multiple item order?
  • Do we have all the inventory in stock?
  • Are there raw materials in stock?
  • Do we need to manufacture or assemble any of these items?
  • Are these all fast-moving inventory items?
  • Can we have items drop shipped?
  • Should we split the delivery?
  • Which warehouse should we ship from?

Signs that software integration should be considered

See how many of these apply to you:

  • You don’t trust the data.
    • You have to check multiple systems to make sure information is correct
    • You spend a lot of time in meetings, on phone calls and walking down the hall to clarify and verify information
  • You’re spending too much time on low value administrative work
    • Employees are re-keying information into multiple systems
    • You have spreadsheets for everything
    • Employee turnover is high because the work is boring and repetitive
  • Mistakes are happening
    • You can’t deliver because the parts aren’t in stock
    • Customers aren’t getting the right information or shipments
    • Information is mis-typed from one system to another


You’ve decided. You need to integrate your software applications.

Once you’ve decided that integrating your software applications is something you want to explore, give us a call. We’ll help you understand what’s possible and how to achieve your goals.

If your software has API access, we may be able to get away with low-cost integration tools without having to create a custom code. There are a few low-cost tools on the market like Zapier, Microsoft Flow, and IFTTT.

If these aren’t enough, we can recommend how to use software development to integrate your systems.  We’ll work with you to understand your business, goals and systems to make a recommendation that best fits your needs.

 

LOOKING FOR SOFTWARE DEVELOPMENT EXPERTS?

Every day we see how profoundly software development can make a difference in our client’s businesses and lives. Software can dramatically increase efficiency and reduce frustration. If you’d like to learn more about how we can help, schedule a call with us! 586.263.1775.


Why is system integration important?

Integrating your software systems is important because it’s the easiest way to stay up to date with our evolving technology. An integrated system will cut down data security risks, streamline your processes and reduce errors.

What are some benefits of system integration?

Benefits of integrating your software are: • Reduced costs • Streamlined process • Easier collaboration • Less security risk • Reduced errors

What is involved in software integration?

All of your current systems will become one system without duplicate information. This will streamline your process and reduce errors. Find a software development team to help you get started.

What are examples of integrated software?

Software integration is many systems becoming one. An example of integrated software is Microsoft Office – containing most programs you need in an office (Word, Excel, Outlook etc.)

Business Software: The Software Selection Discovery Process

You need software to run your business efficiently, but with so many software programs on the market today, how do you know which one is right for you?

If you run a quick Google search, you’ll find “Top 10 lists” in a multitude of business software categories:

  • Accounting software programs
  • Customer relationship management software
  • Email marketing software
  • Shipping software
  • Invoicing software
  • And the list goes on and on and on….

Just looking at CRM software, you can see just how many options there are!

With so many options available, we recommend working with technology experts (like us!) to get clarity about what you really need. Otherwise, you can get blinded by fancy features that you don’t need – or compromise with a solution you’ll outgrow too quickly.

We work with clients every day to help them find the right small business software. Here’s how the process works.

The Software Selection Discovery Process

First of all, we offer a totally free, no-pressure Explore the Possibilities discovery call for anyone looking to work with us. We’ll spend 30-minutes or so getting to know you and your business challenges.

If you want us to do a more in-depth software selection discovery process, we can help you find the right software that is the best fit for you today and meets your future plans, and meshes well with other departments and other software applications you use. This project can be quick or more in-depth, depending on your unique situation.

Clients have REPEATEDLY told us that the software selection discovery process is money well spent. Implementing software that doesn’t fit your needs is painful – and expensive. We’ll work within your budget to make appropriate recommendations.

STEP 1: Understanding your needs and your business.

Before engaging an IT Consultant – us or anyone else – start to ask yourself questions like:

  • Who will use the system?
  • Why do we need this software?
  • What data needs to be collected? Where is this data?
  • Do we have other systems that do part of this process?
  • Are we willing to change our processes to fit a new system? Or would we rather customize a system to fit our business processes?
  • What’s our budget for this? Can we expect an ROI on this technology investment (or is it a foundational cost of doing business?)
  • Are we already “committed” to an IT infrastructure / solution set that would be best to continue (Google, Microsoft, Linux, SAP, etc.)?

While you may be able to answer many of these questions on your own, as your IT Service partner, we bring an outsider’s objective perspective. Our work with clients exposes us to a broader array of business and technical challenges, and can help you avoid mistakes others have made by:

  • Knowing what other companies have done in similar situations
  • Finding simpler solutions
  • Understanding “marketed features” vs. “actual functionality” to avoid surprises
  • Making sure you have the resources to manage and maintain the system
  • Think of items you might never consider (ex: technical compatibility, overlapping functions, security, speed, etc.)

STEP 2: Understanding your software options

Once we know what you need, the next step is investigate software options. The choices are to:

  1. Find commercial-off-the-shelf packaged software (like QuickBooks) that works out of the box.
  2. If no commercially available software fits your needs, we may recommend software development as an approach to meets your unique needs.
  3. The third option is to take a hybrid approach. Using software you already have or would buy, we may recommend the purchase of add-ons or build integrations to meet your specific needs. To integrate or extend an application, you’d want to verify that the software you buy has SDK or API extensibility.

Pros and Cons of Off-the-shelf Software

Pros

Cons

  • Low cost upfront
  • Support is included/easily added
  • Quicker installation and use
  • Community support
  • Software partner will have a proven track record (reviews, testimonials, online feedback)
  • Can usually integrate or add-on more features later
  • Multiple resources available for consulting and support

 

  • You will likely need to change your business processes
  • May be paying extra for features you don’t need and won’t use
  • “Marketed” features may not be as robust as they seem
  • Doesn’t offer competitive differentiation
  • Support might cost extra
  • Support staff and consultants won’t know your business well
  • Forced software feature changes are outside of your control
  • Price may increase over time

 

Pros and Cons of Custom Development

Pros

Cons

  • Can provide a strong competitive advantage
  • You are in control of the features
  • Often simpler to use
  • New features can be added over time
  • Your development and support teams get to know your business well
  • Modern software development platforms are well-supported and well-documented
  • Typically requires more time and resources up front
  • Project can creep in scope without careful management
  • Requires a trusted relationship with your software developer

 

STEP 3. Make a recommendation.

Which approach is right for you?

It depends.

I know you hate to hear that, but it’s true.

The last step of the discovery process is to give you our professional recommendations, and answer questions you have about the tradeoffs among your options.

In theory, the commercially available off-the-shelf software is the simplest solution. If we can find software that fits your requirements, we can help you get started right away with the purchase and implementation. Most software programs offer some options for configuration (like whether you want to use cash basis or accrual accounting for revenue recognition in QuickBooks). You may be able to do this yourself, or you may want help with the setup.

The catch with commercially available software is that you may need to change your business processes to work the way the software works, which means training employees on the new system.

If you love your current software, but you just wish it had this one extra feature… or would like to create a workflow to automate sending data to another system, we might be able to help you find it or build it. Commercial software often has upgrade and add-on options that offer just what you need. If not, we can custom develop one.  This way, you keep the software features that work and change those that don’t work, creating exactly what you need.

If none of these options are cutting it, we can build a custom software application. This could be a small, one-screen system or a significant multi-year project. If we decide to go down the road of software development or software customization, the next step would be to create a Software Development Blueprint, which we’ll explain in more detail in a later post.

Need help selecting software?

Let our IT consultants help! Our clients tell us they choose to work with us because:

  1. We are software agnostic, focused on what fits your needs, not what makes us the most money.
  2. If we can’t find an off-the-shelf software solution that meets your needs, we can do the software development.
  3. We have the expertise. In our 20+ years, we’ve seen the IT infrastructure and software systems of hundreds of businesses.
  4. We’re a right-sized small business, neither a one-man band, nor a huge IT consultancy. Our services are personalized to fit your needs. Our prices and policies are fair.
  5. We’re committed to helping you achieve your business goals with greater efficiency and less frustration.

Book an Explore the Possibilities call today! 586-263-1775

business technology quiz

What is the difference between off the shelf software and customizable software?

Off the shelf software will be available at major retailers to purchase ready to go. They will include common needs, but possibly not all. Customizable software is a software that can be created based on your own business’ needs.

How do I choose a software that's right for me?

3 Steps to choosing a software: 1. Write down all business needs 2. Search your software options (this may introduce a need for an IT Consultant) 3. Decide if off-the-shelf, customizable, or creating a new software is right for you

What software is the cheapest?

Any off-the-shelf software is going to be cheaper than a custom software or creating a new program. You may need to pay extra for add-ons as well as support once you’ve already purchased the software, making it more expensive in the long run.

What are pros of a custom software?

Custom software advantages: -Can provide a strong competitive advantage -You are in control of the features -Often simpler to use -New features can be added over time -Your development and support teams get to know your business well -Modern software development platforms are well-supported and well-documented

What are pros of an off the shelf software?

Off-the-shelf software advantages: -Low cost upfront -Support is included/easily added -Quicker installation and use -Community support -Software partner will have a proven track record (reviews, testimonials, online feedback) -Can usually integrate or add-on more features later -Multiple resources available for consulting and support

 

custom software development maintenance

Custom Software Development – Post Implementation Tips

Custom software applications help businesses get the exact functionality they need. When you’re the only business that does what you do, custom software is a way to add speed and enforce structure, while retaining your unique business processes.

Software Development Tools

Over the last 20 years, our software development team has developed, modified and maintained tons of custom applications. In our early years, we used Microsoft Access for many of the applications we developed.  In fact, we still do quite a bit of Access maintenance work. However, for new software projects, we’ve primarily switched to using rapid software development tools like Django and Python with PostgreSQL or Microsoft SQL Server.

If you’re the business owner or department head, you probably don’t care that much about the software development tools themselves. Your focus (rightly so) is on getting the right solution that fits your needs and is easy to maintain.

What often gets overlooked is the plan for routine custom software maintenance.

Maintaining Custom Software

Like ALL software, custom software needs to be regularly updated and maintained. Unlike off-the-shelf software, the maintenance schedule is primarily driven by you. Certain events may trigger an update:

  • Release of new operating system environments (like Windows 10)
  • Loss of a key software developer
  • Upgrade of a connected software application
  • Change in business processes and procedures

But some clients like to play the “How long can we hold out from upgrading?” game.

Is this you?

  • You have an older computer or server entirely dedicated to running this one application.
  • There’s only one person who is allowed to touch the programming code for fear the entire system will crash.
  • Your business can’t upgrade its systems or business processes because you don’t know how it will impact your custom software.

Outdated Custom Software Creates Risk

You may think you’re stretching your IT budget, but that’s not always true. Delaying custom software updates can add unnecessary risk and cost.

  • Clients who maintain their software regularly typically don’t have to start from scratch every few years.
  • As technology advances – and your custom software doesn’t – your company may be missing out on features that increase efficiency, security and profitability.
  • You may be “forced” to upgrade or replace your software at a time that’s inconvenient.
  • You risk having no one left who is willing or able to support your application.

Make Updates Part of Your Custom Software Development Plan

If you decide to build custom software, budget a certain amount of money to keep your software up-to-date and backed up. You may not know which operating system or database updates will require a patch to your software, but you can expect to do some software maintenance on a regular basis.

Backup and Recovery for Custom Software

Companies that use custom software need to have backup and recovery processes for both the production system and the software source code. The production system, which is the executable version of the software in use in your office, should be backed up regularly with the rest of your company files and databases.

You should also consider how and where the source code is backed up. Without the source code, you won’t be able to make changes to the software program itself. You and your software development company should discuss how many versions of the source code to keep, and the frequency and location of the source code backups. You should be able to access this code in the event something happens to your software development team.

Finally, insist on keeping a change log of updates to the software. If you ever need to bring in a different software development team, this documentation can help them get up to speed quickly.

Need Help?

The custom software development team here at Eclipse Consulting has built mobile apps, custom apps, integrations, and customizations using a wide variety of software development tools. We can help you build from scratch or update the solution you have in place today. See the questions you need to evaluate small business IT consulting services.

Give us a call at 586.263.1775 or click below to see how we can help.

Request a Tech Check