What is low code technology? And why should you consider it? Pritesh Pattni The demand for new and upgraded technology isn’t going anywhere. The human race continues to adopt new technologies to replace either existing non- or low-tech solutions, or look for new ways to make our lives easier, more collaborative and more connected. This means we need to find creative ways of meeting that demand. So, when clients ask us ‘what is low code technology’ we tell them that it’s a creative, cost-effective and reliable way to get technology projects done faster, making the most efficient use of development time and expertise. In fact, you could call recent advances in this technology, the low code development revolution. What has caused the spike in demand for low code solutions?Well, the IDC FutureScape Worldwide Developer and DevOps 2021 Predictions stated that the shortage of full-time developers will reach 20% by 2025. That’s just a couple of years away. There simply aren’t enough developers out there to meet the demand for new technology. So, rather than slow down the pace of change and adoption, the industry has been adopting new ways of working. Low code – older than you think You may have only just started to hear about low code development. In fact, low code has been around in one form or another for the past 10 years or so. According to TechRadar, we are already in the third generation of low code. The first generation was built not for commercial use, but to give hand coding developers the option of a few shortcuts and allowing them to look at better ways of developing. However, this generation of low code technology wasn’t flexible enough to develop quickly, or to be consistent, and it often caused problems in the development cycle, rather than making life easier. The second generation of low code was designed largely for a non-developer audience. This is easier to identify with if you ever built your own website by dragging and dropping the elements you needed to build a home page, for example. It allowed businesses to take control of their own IT to a certain extent, and helped to speed up time to market. But these low code platforms were really just for performing a straightforward task – they didn’t have the ability to grow with the business and some platforms weren’t as architecturally strong or robust as they could have been. So, what is low code technology today? It’s certainly come a long way – today’s low code platforms are sophisticated, able to integrate with other software, allow for commercial scalability and help development teams to complete projects faster and more cost-effectively. Low code technology is reducing pressure, reducing cost, reducing time These are the three central benefits of choosing low code technology for your next project. IT leaders have been under pressure for many years – not just with the complex process of general digital transformation, but also with managing the challenges of home and remote working. Looking for secure, affordable solutions means that more IT departments are evaluating low code vs traditional coding, and seeing that in many cases, low code is the better option. That’s because it offers: Faster time to market Lower in-house development team costs Reduced pressure on existing IT resources Wider company involvement in digital development Reliable application outcomes Plus, you can use low code technology to develop software for a wide range of applications. Our partner low code platform, OutSystems, lists some of these in its blog, What Can You Really Build with Low-Code? Business process automation solutions Web apps Workflow management Data visualization and reporting OutSystems expands this list, however, because at first glance it looks like fairly standard, non-complex software. However, low code can handle complexity. So a ‘web app’ could easily be a secure banking app used by millions of customers. A ‘workflow management’ app could be targeted at internal teams across a global business. A ‘business process automation solution’ could take several linked processes that are currently managed across different software platforms and bring them into a single digital process that saves the organisation significant time and money. Learn more about the benefits of using a low code app builder. Why consider low code technology? If you have any sort of software or digitalisation project on the horizon, you should be looking at the benefits of low code technology. Not only can it handle most commercial requirements, it is scalable, easier to maintain and update than hand-coded software, and delivers a faster, cheaper outcome. And the fastest and most efficient way to get a successful low code project delivered, is to work with expert consultants who have delivered many projects like this before. That’s where ISB Smart Solutions comes in. Learn more in our blog How to Choose the right Low Code Development partner. We’re a proud partner of OutSystems – one of the most highly-rated low code technology platforms on the market today. Learn more about why we choose OutSystems as our low code platform. So, Why not get in touch to see how low code could transform your next project? Contact us today to find out more. Recommended Posts How to choose a low code platform partner How to choose a low code platform partner Pritesh Pattni If you have a technology project or digital transformation programme, you are probably considering a low code solution. Low code offers a range… Read More What does it mean to work with an OutSystems Partner? What does it mean to work with an OutSystems Partner? Pritesh Pattni What does it mean to work with an OutSystems partner? When you’re planning a software project, you want to look for a development… Read More The OutSystems low code platform guide – an introduction The OutSystems low code platform guide – an introduction Pritesh Pattni If you’re considering using a low code solution for your next software project, you’ll want to know all about the various… Read More
7 types of technical debt and how to manage them
7 types of technical debt and how to manage them Pritesh Pattni 7 types of technical debt and how to manage them Most organisations are in technical debt. Why? Because, in challenging economic times, IT budgets come under pressure, updates and new software purchases are delayed, and organisations are put in a position where they are trying to grow their businesses without quality tech underpinning that growth. Technical debt manifests itself in a number ways, depending on the type of organisation and the tech investment choices that have been made. In our blog, Recognising technical debt in your development approach, we referenced an academic paper that identified 13 types of technical debt. In this blog, we’ll concentrate on the 7 most common types of technical debt, and how, if you start to manage these areas, you can improve a number of key areas across your organisation. Technical debt #1: Code debt This is one of the most common types of technical debt. Code debt happens when software developers take shortcuts, leading to poorly-created or inefficient coding. This usually happens during a hard coding project, where tight deadlines, lack of experience or reduced team size can result in corners being cut. The resulting bugs or crashes, along with increased need for fixes and maintenance puts organisations in significant technical debt. Technical debt #2: Architecture debt It’s not just the way applications are coded that incurs technical debt – it’s also the underlying architecture. This is an area that needs to be properly addressed as part of a software project, but is often where shortcuts are made in order to keep to project deadlines or release dates. And yet, just like a building project, without the right architecture, the software simply won’t be able to perform at the desired level. Poor architecture or design leads to an inability to scale the software when needed, and can end up costing a huge amount to fix in retrospect. Technical debt #3: Testing debt Testing is one of the most important parts of the software development process, and a comprehensive test approach should be built into a project plan to ensure that the software is reliably ready for release. Inadequate testing means that errors in the software are not identified, and therefore the software will be buggy, crash more often and even open the organisation up to security issues. Failing to test thoroughly will cause technical debt problems down the line. Technical debt #4: Dependency debt Failure to update existing software, or choosing not to move to new software when a third party vendor stops supporting a product, results in technical debt that can damage your organisation. This type of debt can leave your organisation open to cyber attack or other security challenges, and reduces your ability to deliver the most efficient service to your customers. Technical debt #5: People debt This issue manifests in a couple of ways. First, you may not have enough people on your team to run your project effectively. This means that the work gets spread too thinly. This, along with pressure to meet tight deadlines, means that your team may not be able to ensure that their work is the standard it should be. Secondly, cutting corners in recruitment, or not paying the market rate for coding expertise can mean that the people on your team simply don’t have the necessary skills to build the software you need. When this happens, your project suffers, your software is sub-standard and your people often leave, so you also have recruitment and retention issues. Technical debt #6: Process debt Successful software projects are based on robust processes. These processes are the framework of the project, giving it the structure it needs to progress on time and on budget. Where those processes are missing – or are ignored in favour of getting things done faster, or reducing costs, the software itself will suffer. This will lead to increase costs and increased downtime further down the line. Technical debt #7: Documentation debt Documentation might not be the most exciting part of a software development project, but it is essential. Documentation contains all the know-how within the project, helping others to manage it in the future, and saving hours of time spent searching for relevant resources. On too many projects, however, documentation is seen as a ‘could-have’ rather than a ‘must-have’. So it is often incomplete or inaccurate. In the long term, this causes technical debt that racks up costs in terms of time and finances. What happens when you manage your technical debt? There are some significant business benefits to tackling your technical debt. Leaving your debt to increase simply isn’t an option. By identifying your top areas of technical debt and starting to address them sooner rather than later, you can make a range of critical improvements: Improve your security vulnerability Reduce long-term maintenance costs Become more innovative Boost your competitive advantage Allocate resources more effectively Increase flexibility and scalability Deliver better customer service Shorten time to market Improve retention and team morale How can a low code approach help? Low code is a good way to address technical debt. It’s a faster, more accurate and more efficient way to create new applications, or transfer current processes from inflexible software like Excel to something that adds measurable value to your organisation. Using low code significantly reduces technical debt, and provides organisations with the scalability and flexibility they need to operate effectively and grow strategically. At ISB Global Smart Solutions, we are a long-term partner with OutSystems – one of the longest-standing and most comprehensive low code platforms on the market. If you’re concerned about your technical debt, why not get in touch to see how we can help? Recommended Posts How to choose a low code platform partner How to choose a low code platform partner Pritesh Pattni If you have a technology project or digital transformation programme, you are probably considering a low code solution. Low code offers a
Technical architecture – what does it mean and why does it matter?
Technical architecture – what does it mean and why does it matter? Pritesh Pattni Choosing to work with a low-code platform like OutSystems may mean that you save time and money over traditional high-code, but it doesn’t mean you can forget about technical architecture, which must form the solid foundations. In our experience, apps, systems and digital transformations often fail because of a lack of thought and preparation in this area. Organisations often adopt many different types of technologies as they scale, mixing apps and spreadsheets post-it-notes, with on-prem and cloud-based systems. All these technologies will have different security, different user controls, different data models, different integrations, different business process flows. Worse still, similar applications may produce different results. This confused landscape can end up it’s working against the organisation rather than for it, causing significant problems, and high costs. What is technical architecture? According to cio.com, ‘Technical architecture provides a way to describe, evaluate and plan the evolution of the information technology that IT manages and the enterprise relies on.” This is the foundation of the technology you use in your business. And it’s just one part of a wider process. Ideally, technical architecture works alongside enterprise architecture – which is essentially the organisation’s strategic IT approach. This also has to align with the overall business strategy, delivering IT systems and solutions that allow the organisation to meet its targets efficiently and reliably. Having up-to-date technical architecture in place means that any new system being developed for your organisation can be more easily scoped, designed and built – because you know exactly how it is going to fit in, where it needs to integrate and how it will be used. The dangers of poor technical architecture How important is good technical architecture – not just to your new projects, but to the overall success of the IT in your organisation? Here are seven ways that poor technical architecture can have an impact: It becomes more difficult to scale. Businesses need to grow. And complex businesses often grow in different directions at different times. Your IT needs to be able to handle this growth, but without good technical foundations, it may hold back progress. Integration is tricky. There’s no one system that can run a complex business by itself. As organisations grow, they inevitably take on several different IT systems and solutions to help them manage day-to-day business. And to do that successfully, all your systems should integrate with each other where necessary. Systems with poor architecture can find it hard to integrate, resulting in process inefficiencies and a lack of visibility. Sub-par performance. Why invest in a system if you can’t get the most out of it? Without good technical architecture, you could find things run more slowly, some operations don’t work at all and users get frustrated. Security worries. Everyone working in and with your business expects you to have strong IT security. However, poor technical architecture can lead to gaps that hackers can exploit, leaving you vulnerable to data loss and potential fines and legal action. Creates inflexibility. Organisations need to be able to adapt to changing circumstances or market trends. Think about how suddenly businesses had to transform their IT during the pandemic. Those with sound technical architecture were much more flexible than those without. Long-term technical debt. Often, the good groundwork needed on technical architecture is forfeited for short-term gains in cost and time. But this can lead to long-term problems, and systems can quickly become redundant or surplus to requirements. Ongoing expense. While technical debt leaves organisations struggling to perform, a lack of focus on technical architecture can also result in financial expense. This is typically because systems have not been properly evaluated or have been a quick fix. Maintenance, fixes and updates then become expensive and time-consuming. Technical architecture for app development When you are considering a new piece of technology, such as an app, you need to take a structured approach. Whether your app is to replace an internal process or to support your customers or suppliers, it needs to be properly thought through from both a usability and a technical point of view. In order to get the most from your investment, the technical architecture behind your new development must be strong. And that will include looking at your current technical architecture to make sure your app will function to the best of its ability. By focusing on these key areas, you can be sure that the long-term technical performance of your development has been properly thought through, and is a foundational part of your approach: Undertake a requirement analysis to ensure you understand exactly what all your stakeholders want to achieve. Ensure your design and architecture are scalable, in line with your business and IT strategies. Always focus on performance, as this will ensure the best possible user experience, and an efficient overall outcome. Build security in from the start, as this is fundamental to the privacy of your organisation and your users – and to your wider IT systems. Future-proof by choosing to work with technologies that are tried and tested, have good user communities and are respected by professional developers. A good development team, using a market-leading low-code platform like OutSystems, will make technical architecture a focus of your project. This will give you confidence not just in the functional performance of your project, but in its long-term technical strength. Recommended Posts How to choose a low code platform partner How to choose a low code platform partner Pritesh Pattni If you have a technology project or digital transformation programme, you are probably considering a low code solution. Low code offers a range… Read More What is low code technology? And why should you consider it? What is low code technology? And why should you consider it? Pritesh Pattni The demand for new and upgraded technology isn’t going anywhere. The human race continues to adopt new technologies to… Read More What does it mean to
7 benefits of using a low code app builder
7 benefits of using a low code app builder Pritesh Pattni In the past decade, there has been an explosion in app development – using both hand coding and low code app builder platforms. From games to internal corporate apps, these clever pieces of software govern much of our daily lives. In fact, according to research from Insider Intelligence, US mobile users spend 88% of their daily activity on apps of one sort or another. And with Statista figures suggesting that there are 3.55 million apps on Google Play and 1.6 million on the App Store, this is a technology that’s not going away. So, if you want to build an app, where do you start? Like all technology projects, you start with research – this gives you a clear idea of what you want to achieve, who your app is for, how much money you have and how you want to approach the build. Traditionally, app development has been done by hand coding. This means a team of highly-skilled developers, which can result in long lead times and high costs – even for straightforward apps. But now with the emergence of low-code app builder platforms, such as OutSystems, Microsoft Power Apps and Quickbase, the way that apps are developed has completely transformed. In fact, we’d argue that the low code revolution has begun and is taking over! In this article, we’ll explore the main benefits of a low-code app builder and explain why it could be the right choice for your business. Why use a low-code web app builder? There are many reasons why a low code option might be best for your app – whether you’re building a commercial app, a dedicated app for your customers, or an app that helps you manage your business processes better. Faster time-to-market The app space is a competitive one. Whatever type of app you’re building, the sooner you get it out to your audience, the sooner you can reap the rewards. For this reason, choosing a coding option that gives you both reliability and development speed is critical. A low-code app builder gives you exactly that. Lower development costs Using traditional hand coding takes time – and money. Even businesses with huge budgets to throw at app development are looking for more cost-effective ways to get to the end goal. While low code development still requires development skills, the automated nature of the platforms means you can achieve the same outcome with fewer people and a shorter development cycle – and that all translates to a lower development cost. Scalability One of the mistakes that many businesses make when they turn to app development is to only think about what the business needs today. This is particularly true for businesses who are adapting current spreadsheet processes into apps. As your business grows, your app should be able to grow with you, supporting you to meet your strategy. Good quality low code app builders can talk to you about your business’s future needs, and build in the features you need to accommodate your growth. Faster development cycle Speed is often a key requirement of app development. Low-code platforms use a ‘drag and drop’ approach for many of the key app elements. This means that once your development team knows what you want, they are able to build faster than traditional hand coding. This means you can reduce the development cycle time, helping your business to stay a step ahead. Easier to maintain Once you’ve paid for your app development, you’ll need to make sure everything is kept up to date and easily accessible for users. This covers everything from load times to security features. Traditionally, you’d need a dedicated support package, and updates may result in downtime for the app – interfering with the seamless experience your audience wants. Low-code web app building is typically easier to maintain and avoids this type of extensive downtime. Better integration Depending on the purpose of your app, it may need to integrate with other software. This could be payment software for commercial apps, or internal software for business solutions. The best low-code platforms have reliable integration capabilities, allowing your users to get the best possible experience – and the app to deliver to your expectations. Lower error count Like many manual processes, hand coding runs the risk of introducing human error. Quite often, these errors are not discovered until the app is in use – even with good-quality testing processes in place. Low code app builder platforms reduce the opportunity for error by automating much of the development process – so you can be more confident about the app’s end performance. We are a proud OutSystems partner – one of the world’s most popular and reliable low-code app building platforms. We have used OutSystems to build our own leading software solution for the waste management and recycling industry, and we also work with clients to develop their own apps. These help them to improve efficiency, boost customer service levels and use technology to drive a competitive edge. You can find out more by contacting us today. Recommended Posts How to choose a low code platform partner How to choose a low code platform partner Pritesh Pattni If you have a technology project or digital transformation programme, you are probably considering a low code solution. Low code offers a range… Read More What is low code technology? And why should you consider it? What is low code technology? And why should you consider it? Pritesh Pattni The demand for new and upgraded technology isn’t going anywhere. The human race continues to adopt new technologies to… Read More What does it mean to work with an OutSystems Partner? What does it mean to work with an OutSystems Partner? Pritesh Pattni What does it mean to work with an OutSystems partner? When you’re planning a software project, you want to look for a development… Read More Where next? I’m an OutSystems Customer looking for Applications to
How to adopt a low code digital transformation approach
How to adopt a low code digital transformation approach Pritesh Pattni Adopting a low code digital transformation approach Digital transformation is critical to future commercial and organisational success. It updates and streamlines your processes and systems to make your organisation fully customer-driven, using technology to power better experiences for everyone who comes into contact with you. There’s no argument against the fact that every company should be looking at this – but should you also be looking at a low code digital transformation approach? What is digital transformation? IBM defines digital transformation as an approach that, “… uses AI, automation, hybrid cloud and other digital technologies to leverage data and drive intelligent workflows, faster and smarter decision-making, and real-time response to market disruptions. And ultimately, it changes customer expectations and creates new business opportunities.” Many companies have already embraced digital transformation, or have even built their businesses in a digital-first environment. However, a large number of businesses are still considering the best approach, or have made a start, but are not sure where to go next. Let’s face it, for anything except the simplest business, digital transformation can be complex and time-consuming. For digital transformation to fully succeed it requires:: detailed analysis and mapping of existing processes and approaches ensuring you are meeting the relevant regulatory or legislative requirements associated with your business, adding protections against data theft and other cybersecurity issues researching, testing, assessing and choosing the digital solutions that will form your digital transformation onboarding the new technology, training staff, and managing a cultural process of change. And that’s a lot to consider when your business is also trying to focus on generating new sales, and keeping existing customers happy. So how can you make all of this easier? One area that is gaining popularity is the Low Code approach, so much so that it is already being described as a Revolution. Read our guide on the Low Code Revolution here. What is a Low Code Digital Transformation approach? Whilst Digital Transformation usually involves software and apps that have solutions “out of the box”, most companies will want or need to customise them in some way. A low code development approach is a framework for customised software and app development that has been specifically designed to work without the need for specialist coding knowledge. Think of low code as providing the building blocks of various functions that can then be pieced together to perform a specific task. That way, staff across your business can create, edit and optimise solutions to make their day-to-day work more efficient, without the need for an IT / coding specialist to do it for them. How Low code development enables digital transformation when working with limited resources In many cases, digital transformation is being managed by internal teams – and most often, the IT department. Resources – from personnel to budget – are likely to be limited, and companies want to get the most for every pound, euro or dollar they spend. Add to that the demands of business units, partners, shareholders and customers, and it’s easy to see why companies going through a digital transformation are looking for ways to reduce time and budget while increasing useful output. That’s where low-code digital transformation has a place. It requires fewer skilled developers and uses dedicated platforms to product technology solutions like web apps and wider software solutions. By using pre-built elements, easy-to-use interfaces and straightforward functionality, it makes building technology faster and easier. Using low code means you can build strong applications without the long and expensive development cycles often associated with traditional hand coding development. And you are working from pre-existing code libraries that have already been rigorously tested for stability and security. All of this helps you to manage your digital transformation even with limited resources. Learn more about the differences between low code vs traditional development. Why turn to low-code development? Let’s start with your digital transformation roadmap. This should focus on where you want to be at the end of the process, and the steps you need to take to get there. And it should take into account that there’s no real ‘end’ to this process – it’s all about continuing to give your customers the best possible experience, and making your organisation as efficient as it can be. The reason that increasing numbers of organisations are turning to low code for digital transformation is because it offers the agile, effective solution that they need. Faster development cycles – app development is faster with low code than with traditional hand coding. The nature of low code platforms removes the need for programming, allowing developers to concentrate on getting the user experience right. So not only is your development faster, it’s also more focused. Involve the whole business – historically, development teams have been left alone by other parts of the business because it has been impossible to see what they do. This has hampered collaboration across organisations and meant that expensive technology hasn’t always hit the mark. The easy-to-understand visual nature of low code development means that the IT department can share progress and work with subject specialists, technical experts and business strategists to develop best-in-class applications that deliver to everyone. Your budget goes further – Digital transformation is expensive. So it’s essential that you spend your budget wisely – and have measurable results to show for your spend. Using low code is significantly less expensive than outsourcing to expensive development consultants. You’ll be able to get more functionality, additional advice and better results for your money. Future-proof your business – this kind of transformation is for life, not just for the next year. So any applications you build must be updatable, scalable and able to integrate with the other systems you have now – and anything you might use in the future. The best low code platforms allow integration across a range of other software and technologies, giving you the flexibility you need to ensure your transformation keeps
Why choose low code vs traditional development?
Why choose low code vs traditional development? Pritesh Pattni There was a time when there was only one option available to companies who wanted to build an app – use traditional hand coding. As a team of experienced developers ourselves, we know that there are significant benefits of using hand coding to build certain types of software. But there can also be drawbacks, and that’s why we have embraced the emergence of low code platforms too. That way, we are able to offer clients the approach that suits them best – advising on whether to choose low code vs traditional development, no matter where they are in their digital transformation journey. The pros and cons of traditional development Traditional hand coding might sound old fashioned or archaic – it’s anything but. Talented and experienced developers use programming languages such as Python and Java to create software programmes from scratch. Good traditional development results in highly usable and useful software and it has transformed many processes and commercial offerings. So, hand coding is far from unfashionable – it is just better suited to certain types of development projects. These include particularly complex or customised solutions, where developers need to have complete control over every element. Development can be completely bespoke, but with that comes additional time, resources and costs required in order to fully deliver the solution required. These are some of the reasons traditional development might not be right for your project. So it’s always worth considering both sides before you decide on the right approach for you. For example, hand coding takes a long time. When you are asking developers to write code from scratch, you are asking the team to invest a considerable amount of time and effort into your project. This can extend development cycles – particularly if the team is busy, or you have a change of personnel during your project. It can also be expensive – you are paying for highly skilled developers, often with many years of experience behind them. This costs money, and so you should check whether your budget can absorb these types of costs. And finally, as with all human processes, there’s the potential for errors in the coding. If you are hiring a reliable development team, these can often be avoided, but it’s easy to make a mistake in the code – one that you might not find during testing, but can cause trouble for your end users. Considering the low code option Low code development has been increasing in availability and popularity for several years. Don’t confuse this with no code development, though. No code is where all building is done by using pre-created elements. You don’t need any technical expertise to do it, and you might get reduced functionality because of that. It’s always best to have some development experience on your project, to make sure you are getting the best technology for your needs. Why choose low code? There are several reasons, and for us, the benefits at the top of the list are speed, cost and flexibility. Low code platforms have elements that help to minimise the amount of hand building needed for an app or software development project. They allow integration with other platforms, and developers are able to customise the basic elements to meet the project specifications. Significantly reducing the need for traditional coding by introducing drag and drop modules and a range of other features helps to reduce both time and cost. This supports rapid app development, meaning you can meet new business needs faster, and get to market quickly. Both of these support business growth and good customer service. Along with this time reduction come positive cost implications. Reduced development cycle time also reduces your spend. And because you don’t need a large team of developers, you’re not paying for all that extra expertise and experience. So your bills should be much more manageable on a low code project. Flexibility is also important – not just during the development period, but once your solution is up and running. Low code allows for collaboration, so you can discuss and update the application quickly and easily. General maintenance is also faster, and you can build in scalability, so the solution grows with your business. Learn more about how low code can support your digital transformation journey. Low code vs traditional – which is best? Although low code sounds like an easy option – and it is – if you’re thinking about low code vs traditional development, bear in mind that a good low code option will also include some developer expertise. Talk to companies who have a strong development team, because they will take the time to understand what you’re looking for, and help you to design a solution that works technically as well as aesthetically. If possible, choose a company that partners with one of the recognised platforms – for example, we are an OutSystems partner. You can learn more about the benefits of Outsystems here This means that we have excellent knowledge of how to use the platform to its best advantage, whilst also having the development experience to give you the advice you need. Contact us today to find out more. Recommended Posts How to choose a low code platform partner How to choose a low code platform partner Pritesh Pattni If you have a technology project or digital transformation programme, you are probably considering a low code solution. Low code offers a range… Read More What is low code technology? And why should you consider it? What is low code technology? And why should you consider it? Pritesh Pattni The demand for new and upgraded technology isn’t going anywhere. The human race continues to adopt new technologies to… Read More What does it mean to work with an OutSystems Partner? What does it mean to work with an OutSystems Partner? Pritesh Pattni What does it mean to work with an OutSystems partner? When you’re planning a software project, you
Low-code Development
Welcome to the low-code development revolution Low-code development opens up a whole new world of user-friendly, low-cost, time-saving software projects. This guide gives a complete overview of how your business could benefit from the low code revolution. Working in a low-code development world For an increasing number of organisations, low code development has become the software development tool of choice. And that’s great – it offers a range of benefits that help businesses to manage projects faster and cheaper. Like all technologies, low code performs at its best when it’s in the right hands. While ‘citizen developers’ can certainly use it to create new apps or software, low code is designed to support professional developers to get things done faster without compromising quality. What is low-code? According to IBM, low-code is: “… a visual approach to software development that enables faster delivery of applications through minimal hand-coding. The graphical user interface and the drag-and-drop features of a low-code platform automates aspects of the development process, eliminating dependencies on traditional computer programming approaches.” And that’s a great definition. Low-code platforms help developers to build new products quickly and easily. They significantly reduce programming time, because there’s much less need for a developer to sit there and code each part of the software. Instead, they can build an app or a piece of software in a much more intuitive way with visual, AI-powered, model-driven development resulting in a user-friendly approach to creating software applications. This reduces development time and cost and allows companies to bring their products to market faster. Popular enterprise low-code platforms There are many low-code platform options on the market today. Some of these are operated by big names in the IT sector, including Microsoft, Google, Siemens and Oracle, and others have established a reputation for dedicated low code expertise, such as OutSystems, Zoho Creator, Kissflow and Retool. The platform that development teams choose to work with will depend on what they want to achieve. Some teams are brand-loyal, so if they are already using Microsoft for other applications, for example, they may be more likely to choose Microsoft Power Apps as their low-code platform. However, if developers are looking for the best tool to help them achieve their software goals, they will look at a variety of low-code options to see what fits best with their organisation and with the types of software they want to produce. We looked at a recent Gartner comparison of low-code platforms. The top five platforms, based on developer ratings were: OutSystems platform Appian low code platform Microsoft Power Apps Salesforce Platinum Quickbase Mendix was ranked 6th. OutSystems scores highly for scalability, integration, customisation and ease of deployment, administration and maintenance. ISB Global Smart Solutions is proud to be an OutSystems partner – and our development team are OutSystems experts. We chose OutSystems as the high-performance low-code platform enables us to develop up to 10x faster, in a truly agile way. The growth of low-code technology The idea for low-code has been around for a while – technology leaders always knew that there would be a better way to build new products than to hand-code everything forever. Various forays into the forerunners of low code failed because the technology – including IT security – just wasn’t ready to support the way low-code needed to work. So it’s only really been in the last 10 years that low code has started to penetrate the market. And now, Gartner forecasts that 65% of application development activity will use low code technology by 2024 – and that many of those will be built by people with limited technical skills. Low-code delivers benefits that include: Faster time to market Lower in-house development team costs Reduced pressure on existing IT resources Wider company involvement in digital development Reliable application outcomes Does that mean low-code technology will replace traditional software developers? We don’t think so. It’s tempting to think that way, given all the conversations about AI and the way it will influence ‘traditional’ tech roles. But what low code actually brings is the tools developers need to help give them more time to plan, design and test, spending less time on coding, and more on getting exactly the right approach for each product they develop. Low code vs. traditional software development As the use of a low-code approach grows, there have been many conversations about whether this spells the end of traditional, hand-coded software development. As we’ve already said, we don’t think so. There will certainly be some projects that benefit from maintaining traditional coding. For example, very complex projects that need detailed customisation may be better suited to a traditional approach – but that often needs a longer lead-time, which must be factored in. By comparison, low code offers a number of project benefits: Speed of development – one of the biggest benefits of low code is speed. Apps and other software can be built quickly and easily, helping organisations to connect with their target market rapidly with a good quality product. Regular Updates & Improvements – apps are constantly under development, with new features being added and others upgraded based on customer feedback. Low code allows for an agile approach to keeping your product not just up to date, but ahead of the game. Reliability & Stability – using low code helps to reduce the number of bugs or errors in your application. This reduces testing time and gives you confidence in the quality and performance of the end product. And with good quality support from your low code platform and developers, you know that customers are getting the best user experience. What about Low Code Development vs. No Code Development? While we’re comparing low-code to traditional development, let’s also consider ‘no code’ options. There are several no-code platforms on the market, and these are designed specifically for users with no technical skill. For example, these platforms might allow people to build a simple website simply by dragging and dropping elements into a template. A
Spreadsheet Mindset
Challenging the ‘Spreadsheet mindset’ Pritesh Pattni All businesses use spreadsheets – they are a staple of organisations everywhere. And, while they deliver a wide range of benefits, using spreadsheets for some business processes can be slow and prone to error. That’s why many businesses are considering moving some of the processes currently managed by spreadsheets, onto apps where the goal is typically to improve data accuracy, streamline processes, enhance collaboration. In principle, this sounds like a great idea, and while it will require some up-front investment, it will save money in the longer term. However, there are a few things to be mindful of to ensure the change from a spreadsheet to an app delivers benefits to the business. What is the spreadsheet mindset? This is a term we use to describe the way that some businesses approach replacing spreadsheets with an app. Simply put, it’s when people decide they just need the app to do what the spreadsheet currently does. By replicating the content, formulas and outcomes of the spreadsheet, the business feels it will have accomplished a digital transformation that improves productivity and efficiency. To our minds, there are some fundamental flaws in this approach – flaws that lead to businesses spending a lot of money on app development and just getting a very expensive new spreadsheet for their money. Let’s look at the key dangers of the spreadsheet mindset. You’re recreating something that might not be working – simply turning your spreadsheet into an app won’t transform the way you do things. If you’re struggling with the way your spreadsheet currently works, you need to spend some time considering what you want and how to get there before you spend any money on app development. You haven’t consulted your users – knowing the target audience is one of the most fundamental aspects of app development. Without understanding who’s using the app, you can’t possibly design something that works for them. If a developer agrees to transfer your spreadsheet process to an app without asking about your users, beware. You haven’t thought about the future – designing an app to manage today’s process is good; developing something that is scalable and adaptable for the future is even better. Why spend thousands of pounds for something that might be out of date in 12 months’ time? Many business app failures occur because there’s been no planning for what might come next. You’re jumping on a bandwagon – this is easy for businesses to do, particularly if the competition is adding apps and new technology to their business. But app development is expensive and you need to be able to show a return on your investment. So rather than changing a spreadsheet process to an app just for the sake of it, always make sure you’ve got a clear business case. Why move away from spreadsheets? There are certainly many arguments in favour of ditching spreadsheets. They can be cumbersome and sometimes unreliable. They are difficult to keep secure, and a single error can create chaos. For example, during the 2012 London Olympics, someone on the ticketing team keyed in 20,000 remaining tickets rather than 10,000. So the tickets oversold, and it cost the organisers more than £500,000 to manage the issue. Business leaders know that using spreadsheets can make them vulnerable. They are looking for process solutions that are more secure, more reliable, operate faster and contribute positively to productivity. They want technology that can be used simultaneously by staff members wherever they are, and whatever devices they are using. And apps are the ideal answer. Properly designed and developed, they are an excellent investment, protecting the business for the future, simplifying processes and bringing teams together. How to get it right The first step to successfully transitioning from a spreadsheet to an app is to sit down and plan exactly what you need the app to do. This includes setting out the reasons why the spreadsheet approach isn’t working for you, and considering what your ideal app would look like – both now and in the future. Once you have an outline idea of what you want, you need to find the right development team to work with you. The best option for this type of app is low code – this is where the app is built on a dedicated platform, using a combination of drag-and-drop elements and some traditional coding. Low code delivers a faster build, a reliable solution and the ability to integrate with other systems – without the much larger costs incurred by traditional hand coding. There are lots of low code app developers about, and it can be difficult to know who to work with – particularly if this is your first venture into the world of business apps. So, to avoid getting stuck in an expensive spreadsheet mindset, here are some tips on finding your low code development partner: Which platform do they use? There are a number of low code platforms, and you want to work with a developer who is experienced with a mainstream platform – preferably as a partner organisation. This shows that your development team will have in-depth understanding of the platform, so that they can build the best technology for you. Common platforms include OutSystems, Quickbase, Salesforce, Appian and Microsoft Power Apps. What questions do they ask? In order to build you an app that does everything you need, your development will need to know about your business, the app users, the key processes, future uses and any other processes the app will need to integrate with. The fewer questions your developers ask, the more wary you should be. What experience do they have? There are plenty of low code developers who only focus on taking excel processes and convert them to apps. This might seem like a bonus, but it means they don’t have the wider experience that often comes in useful for building a reliable, useful app. Talk to your developers about the types
Recognising technical debt development
Recognising technical debt in your development approach Pritesh Pattni ‘Technical debt’ is a widely used term in the software development industry. It’s also a term that often carries a wide definition and, depending on the context, can be seen as positive or negative. Our article on this issue sets out our interpretation of the types of technical debt development teams should be aware of, the reasons why they occur, and how you can use existing technology – specifically low code – to avoid technical debt in the first place. Why does technical debt matter? Our conversations with software teams tell us that, in a highly competitive commercial environment where the most important thing is to get to market first, technical debt is a growing threat. An inconsistent, or laissez-faire approach to technical debt is often driven more by the business or commercial leads than by the IT or software department. This puts increasing strain on IT and development teams which in itself contributes to missing project milestones or reducing the quality of code. First, let’s define technical debt. Technical debt refers to the consequences of taking shortcuts or making suboptimal design and implementation decisions during the development process. Just like financial debt, technical debt accumulates interest over time and can become costly to manage and maintain. In fact, there have been many attempts to define technical debt. For some practitioners, it’s always an intentional act, much in the way that taking on a financial debt is an intentional act – you need to get something done immediately, and you are prepared to take the impact further down the line in order to achieve that immediate goal. For others, technical debt can also be accrued unintentionally – perhaps by using an inexperienced project manager, or not considering the whole scope of the project at the outset. For us, technical debt is about making decisions today – on whatever basis – that will negatively affect the quality and performance of your product and its commercial viability in the future. How does technical debt occur? Initially, technical debt was defined by the strategic approach developers took. In 2014, however, a group of academics in Salvador, Brazil, published a paper called ‘Towards an Ontology of Terms on Technical Debt’. In this paper, they highlighted 13 types of technical debt: Architecture Debt Build Debt Code Debt Defect Debt Design Debt Documentation Debt Infrastructure Debt People Debt Process Debt Requirement Debt Service Debt Test Automation Debt Test Debt This list helps us to see how, in pursuing budget, time or release goals, development teams can actually build up several types of technical debt throughout a project. In some cases, debt in one area may lead to debt in another, and this can become a cycle that is hard to break. What are the costs of technical debt? In 2022, McKinsey Digital published an article that looked at how to measure the way technical debt impacted organisations. Historically, measuring this issue has been tricky – unlike financial debt, technical debt is difficult to see and therefore difficult to quantify. So while organisations know they have it, they can’t really say how it affects the bottom line. McKinsey spoke to CIOs about this issue, and discovered that those CIOs estimated that: ‘technology debt amounted to around 20-40% of their entire technology estate’. The consultancy company’s research showed that there is a significant relationship between business performance and technical debt. This echoes our own experience – technical debt costs organisations in several ways. Certainly, there are the direct costs of recoding or redesigning software to take account of earlier sidesteps. This may mean hiring more development staff, with the resulting overheads. There is also a time cost – the time you save early on in a project will need to be spent at a later date. There may also be a reputational cost. For example, rushing to get your solution out of the door is fine, but delivering a clunky, unfriendly or buggy solution will have an impact on your reputation and on your ability to win new business. And finally, there’s the cost of missed opportunities – if you had spent slightly more time on getting elements of your solution absolutely right, perhaps you could have increased your market share, tapped into a new niche, been able to price more profitably or developed new and useful skills within your team. Using low code to reduce technical debt Technical debt doesn’t have to be an ‘accepted’ part of every development. There are better and more productive ways to do things. Low code allows you to work within a standard architecture and framework. This limits the opportunity for technical debt from the very beginning of your project and allows your product to evolve without the need for huge rewrites or redesign. By effectively managing technical debt, a company can strike a balance between meeting short-term deadlines and achieving long-term strategic goals in its development process. By harmonizing contemporary application development platforms, organizational structures, and team priorities, you can gradually reduce your debt without compromising ongoing project timelines. With the right tools and methodologies, you no longer have to face the dilemma of choosing between speedy development and robust implementation. OutSystems enables companies to not only rapidly build applications using a visual, model-driven development environment and reusable components but also ensures the security, resilience, and scalability of cloud-native, enterprise-grade applications. OutSystems ensures that the developed apps remain future-proof and minimizes technical debt with features such as an Architecture Dashboard that actively monitors for it and TrueChange, an AI-powered automation layer that swiftly detects and addresses performance and quality issues. While many companies struggle to tackle this problem, OutSystems empowers businesses to proactively halt technical debt in its tracks and create applications that remain consistently relevant and up-to-date. At ISB Global Smart Solutions, we are an long standing OutSystems partner and have in-depth experience of using their high performance low code platform both for our own industry-leading solution and business critical
The App Trap
The App Trap Pritesh Pattni An app, short for “application,” refers to a software program designed to run on a mobile device, such as a smartphone or tablet, or on a computer. Apps are typically developed to perform specific functions or provide certain services to users. Developing an app is an exciting project. And, with apps becoming a central part of the way we interact with brands, it’s no surprise that companies of all types are investigating how they can add an app to their communications and customer service mix. Statistics show, however, that 21% of users delete an app after just their first use – and Statista has reported that 71% of mobile device users around the world said they had deleted apps within three months of downloading them. Apps are expensive to build, and producing an app that no one uses is money down the drain. Yet many companies still throw themselves into app development without taking the time to think why they are doing it or what they want to achieve. That’s the App Trap – where the enthusiasm to develop outweighs the consideration of the user. Why build an App There are many reasons to build an app, and it’s important to conduct market research, define your target audience, and consider the costs, resources, and technical expertise required. Additionally, it’s crucial to ensure that your app provides value and solves a problem for users to increase its chances of success. Reach a Mobile Audience: Convenience and Accessibility: Enhance User Experience: Commercial Opportunities: Branding and Visibility: Competitive Advantage: Data and Analytics: Why apps fail There are many reasons why apps fall flat. These issues can be easily avoided with the advice and support of experienced app developers, who understand how to design the right user Interface, maximise the user experience, build the architecture to integrate with your existing systems and fulfils an important need for the target audience. Some of the most common reasons that apps fail include: Inefficient Development Platform – There are many ways to design, build, deploy, host and support Apps and with technology moving so quickly it’s imperative the right platform is used. ‘Low Code’ Application development platforms represent a revolution in App development, the most popular are: https://www.gartner.com/reviews/market/enterprise-low-code-application-platform The user doesn’t come first – The starting point of any technical design – from a database to an app – is what the user wants. Too often, an app project is built around what the business wants, and this is a mistake. There’s no point introducing an app that customers don’t need or won’t use. On the other hand, if there are buying processes or communications that could be better managed with an app, that’s your starting point. The technical architecture is poor – We all use apps every day. So, our expectations of what a good app looks and feels like are high. It doesn’t matter what sector your business operates in, or how big it is – your customers will expect your app to work as smoothly as Amazon or Google. There isn’t enough testing and feedback – This is a critical part of app development – there should be testing planned at every milestone, along with user feedback. It underpins your quality control, especially when your app is tested by independent users or by dedicated app testers. You don’t think about your core business systems – An app is usually an extension of your other business systems, allowing customers to interact with you more easily. So, the app needs to be integrated with your core business systems, delivering a seamless transfer of information between the app and your system. One of the first questions your developer should ask is about the current ERP or other business systems you are using, so they understand how that integration will work. Introducing OutSystems OutSystems is what’s known as a high-performance low code platform and is an established and respected technology. This means you can use the ‘easier’ approach to coding to develop a wide range of applications. These applications are easily scalable, more secure and support complex projects. ISB Global has been an OutSystems Low Code Partner since 2013, developing great ideas into brilliant software. We use OutSystems in our own product development, and our highly skilled development team can work with you to produce a structured, reliable, and user-friendly app for your business. Our core team is comprised of dedicated OutSystems Developers, Scrum masters, Engagement Managers, Project Managers, UX Designers, Business Analysts. Data Modellers, and OutSystems DBA and Infrastructure Managers, and our extensive experience in scoping, designing, developing, testing, and deploying software applications means you get excellent results and outstanding return on investment. Just get in touch with us today to find out more. Recommended Posts How to choose a low code platform partner How to choose a low code platform partner Pritesh Pattni If you have a technology project or digital transformation programme, you are probably considering a low code solution. Low code offers a range… Read More What is low code technology? And why should you consider it? What is low code technology? And why should you consider it? Pritesh Pattni The demand for new and upgraded technology isn’t going anywhere. The human race continues to adopt new technologies to… Read More What does it mean to work with an OutSystems Partner? What does it mean to work with an OutSystems Partner? Pritesh Pattni What does it mean to work with an OutSystems partner? When you’re planning a software project, you want to look for a development… Read More Where next? I’m an OutSystems Customer looking for Applications to accelerate my journey → I’m an OutSystems customer looking for patterns & features to accelerate my journey → I’m an OutSystems Customer using SAP and looking for an advanced integration engine → I’m an OutSystems customer and I need additional development support for my team →