----------------------------------------- Copy the snippet below and paste it between the tags of the page where your phone number appears, right after the Google tag
Articles

Why does software application development take so long and cost so much?

Answer: Why Does Software Application Development Take so long and cost so much?

Why does software application development take so long? Why is it so expensive? Why is my team consistently failing to meet project milestones? Despite all the advances in technology, these are questions we hear all the time. Some might say that there just aren’t any shortcuts – I would disagree, but more of that later.

 The common reasons why software takes so long can boil down to five key factors:

1.    Poor or Insufficient upfront planning

In our experience, this is critical and too often ignored. In the same way that you have an architect design a house, you need to understand the basic structure of your software application and map out the details of the different business processes it will need to perform. To continue the analogy, you don’t need to specify where every light switch is going to be, but you do need to know the fundamentals such as the number of floors, rooms, bathrooms etc.

 Even if you have a good idea of the software application you want to be built, without exception all our clients tell us that the upfront planning process is time well spent, as it gives the business owners and the technology experts the space to explore the best way to deliver specific functionality.

 This can also be a low-risk first step of any project. The business needs to work closely with your chosen development team to build the deliverable. If the relationship works well – commission them to build the application. If the chemistry isn’t right, you still have a valuable deliverable that you can hand over to any software development team.

2.    Changes to software requirements

Changes are a very common occurrence when building software – especially if there has been a minimal definition of business needs upfront. Some changes are easy to accommodate, and others can be a lot more complex. The better the job that is done in point 1 above, the more you can mitigate the impact of any changes. The challenge is the way that software is traditionally built. If you make a change in one part of the application, you need to do comprehensive testing to ensure it doesn’t affect other parts of the application. In practice, this creates a significant iterative process that the development team must go through if they are using traditional software development techniques, this frequently means missed milestones for the project.

3.    Poor Communications

The larger the development team, the more of a challenge this is. A formula often used in the development world shows that if you increase your team size from 7 to 9, you almost double the number of interactions required between team members. You will find many views on what the ideal team size is. In our experience small, focused teams are much more effective than large teams. The general industry view seems to be that 9 is a large number.

 4.    Ownership

As important as the Development Team, is to have a strong Product Owner. This is the person who acts as the liaison between Development Team and the business.

 5.    Changes to the Development Team

there is an important misconception amongst the business community, that software development code is easy to read for another developer. Whilst well-documented code can be read by another developer – in practice given the volume this seldom happens and often, people end up building new code at some level (industry sources suggest this can amount to 39% of a developer’s time). What is clear is that each Development Team will have their own way of creating code and establishing its own nomenclature and standards.

 If you lose members of your team, they need to read the code that has been created. To give you a sense of this challenge – a typical iPhone application can easily run to 900 pages of code if you were to print it out. Facebook would be over 1M pages. Consequently, changes to your development team can have a very big impact on how long a project will take if a new developer has to read through and digest hundreds or thousands of pages.

 The fundamental underlying issue is the size of your Code Base.

 The size of your code base – this is a fundamental challenge that not only slows down software development projects but makes them more likely to fail and if they do succeed, more complex to maintain. It is also one of the biggest barriers for innovative start-ups with a disruptive idea – because of the costs required to create and manage a large base of code.

 Not only that but creating and managing a large base of code is complex, time-consuming and full of unpredictability. The longer it takes to build, the greater the risk that there will be changes in your development team and the more complex and expensive it will be to support and maintain once you have completed the project.

 If you can reduce the size of the code base significantly, it will be faster to build, easier and faster to maintain and update. All of this reduces your risk, cost and sleepless nights. Imagine being able to build software that has a code base of at least 40% less than using traditional software coding.

 Some will point to the new low-code, no-code tools. These certainly help in reducing the time it takes to build the software. However, they tend to automatically build the same amount of source code in the background. This simply shifts the challenge to the point when you go live as you still have a large base of code to support and maintain.

 There is another way

 The SCAD Software approach is fundamentally different. We have a technology framework that makes extensive use of metadata (think of data stored in a database). We use this in place of a programming language that is prone to multiple updates during any given year.  

 Using Metadata rather than traditional programming languages, means we can expect to reduce the size of an application by at least 40%.

It also means we future-proof our clients from changes in the underlying technologies, which reduces the risk of technical debt.

 This is a much faster way of building Customised Software. It also leaves you with an easier and lower cost application to maintain. This is how we can deliver software on average 75% faster than using traditional software coding.

Top Tips for Completing your Software Development Project – Quickly and successfully

 1.    Establish your Business Requirements up front and at a fixed price

Invest quality time working with your Development Team to build a proper set of business requirements. This means thinking through as many of the business permutations as possible. Define the reports you want from the system as this helps validate whether your Database will be designed in the right way. This will require an iterative process with a core team of experts from your side and the development team. Ensure the team have the space to invest in preparing thoroughly for this phase of the project. You don’t want it to drag on – but you do want it to be a high-quality set of interactions.

Once you have this, ensure you get a fixed price from your Development Team. This will have a caveat that if you change the specification, they will need to come back to you for further discussion. However, this should not include them returning because they didn’t realize the scope initially.

 2.    Technology – Use technology to create as small a code base as possible

 Talk to your software development partner – the smaller the code base, the easier it will be to manage and update going forward. It is vital to consider not just your build cost, but also the cost of ongoing maintenance and support. If your development team can have the same people that built the application be involved in the ongoing maintenance, we would suggest this is an added advantage.

 3.    Long-term mutually beneficial relationship with a Development Team

 The relationship you have with your Development Team is critical. Senior Business Leaders will often say to me that they always want their Development Team in-house so that they can eyeball them on a Monday morning. Whilst I can concur with this sentiment, we don’t believe this is always the best option as you will have the ongoing cost of recruiting, managing, motivating and developing that team. Not only are Development resources at a premium at the moment, but as you can see from the table below from a pure cost per head, there are cheaper places to look.

Why Does software application development take so long

Outsourcing is becoming increasingly popular and to do justice to this topic would require a separate article. The one word of caution we would mention here is not to be seduced solely by lower day rates.

We have spoken to too many customers who have reported that whilst the upfront cost was lower, the overall project ended up costing them a lot more. The important considerations are cultural fit, communications and a partner that isn’t so much larger than yourself that you don’t get the support you need,  

Experience suggests an optimal solution is an outsourced team with a similar culture, with local management in your country as the primary interface and a commercial agreement that is fixed in the initial build and that both sides are heavily incentivized to ensure the application’s ongoing success. This should enable you to find a solution that commercially makes sense and is the right team for your business.

 We believe this relationship should be seen as a Partnership, where both sides share the project’s cost and risk. We would define success when you view your Development Team as a logical extension of your business.

 4.    Small Focused Software Development Team

 There is a fair amount of research that has been carried out looking at the optimal size of a Development Team. Industry sources suggest that above 10 is too many and less than 3 is too small. Ultimately it is a fine balance between additional resource capacity and the communications overhead on the downside. Some people would suggest 7- 9 is the right number, clearly depending on the size of your project.

 We are strong advocates for very small focused teams. With a strong Product Owner to provide the interaction between the business and the development team and a strong Scrum Master (a person who leads the development team, removing obstacles, and ensuring they are efficient as possible), you can create a very dynamic and agile team.

 Summary – Did we mention that there is another way?

The title of this article in part has been the driving factor in the creation of SCAD Software. For the last 20 years, we have believed that some of the fundamentals of the way software is built and the commercial models around have been flawed.

We have developed a way of building software, using established industry-leading technology and methodologies that enable us to deliver software 75% faster than traditional software coding. The reason being we reduce the size of the source code base by at least 40%. Not only does this provide many technical benefits, but it also enables us to change the established business model. We feel it is important to provide a fixed price on the back of a clear set of requirements and share some of the risks of the software build with our clients.

 These are big claims. However, we have a track record to support them. The table below illustrates some of the projects we have been involved with and the time it has taken us to build them.

No alt text provided for this image

Table Of Contents

© Copyright . | SCAD Software

Dawie Martins

Head of Client Success and Product Management

With an illustrious career spanning three decades, Dawie Martins has cultivated expertise in diverse technology-related businesses across various sectors, including Retail, Hospitality, and Consultancy. His journey, which has taken him from a developer's role to Product Management, uniquely positions Dawie to lead the charge in Customer Success and Product Management services for our clients. 

In his role as Head of Customer Success, Dawie operates at the intersection of commerce and technology. His mission is to ensure the seamless translation of commercial imperatives into highly effective software applications that not only meet but exceed the outcomes specified by our clients. 

For clients engaging SCAD Software to build applications destined for the market, Dawie and his team offer Fractional Product Management Services. They become invaluable partners in crafting and maintaining a product roadmap, assuming the mantle of the product champion within the client organization. This collaborative approach ensures that our clients' visions are realized efficiently and effectively. 

Dawie's wealth of experience and his dedication to driving success for our clients make him an indispensable part of SCAD Software's commitment to delivering excellence in every project we undertake. 

Shawn De Wet

Chief Technology Officer

Shawn De Wet brings to SCAD Software over two decades of unparalleled expertise in software systems delivery. His career exemplifies a relentless pursuit of problem-solving excellence and a commitment to end-user satisfaction, achieved through meticulous system architecture and design. Proficient in core enterprise ERP systems, Shaun's recent achievements stand as a testament to his prowess, including the conception and successful launch of two cutting-edge SaaS products on the robust Azure platform. 

While Shawn's professional accolades are impressive, his vitality extends beyond the confines of the office. An ardent lover of the outdoors, as evidenced by his passion for mountain biking, Shawn's dynamic and adventurous spirit infuses our technological endeavors with a fresh perspective and boundless energy. 

At SCAD Software, Shawn leads the charge in Operational Delivery of Client solutions. He heads the development team and works closely with our valued clients to ensure they realize their desired outcomes from our technology solutions. His commitment to excellence and customer satisfaction is a driving force behind our success. 

Andy Fensham

Founder, Chief Architect

Andy Fensham's journey is a testament to his unwavering commitment to reshape the software development landscape. With a background in global banking software consultancy, he founded SCAD Software in 1998 with a visionary goal – to address the mounting technical debt that was becoming a liability for businesses worldwide. 

Andy's unique blend of technical expertise and business acumen empowers our clients with pragmatic, robust software solutions that yield tangible results. Recognizing the risks posed by outdated software, he pioneered an innovative approach to custom software development, consistently delivering large-scale projects at an astonishing pace – 75% faster than traditional methods. 

Andy's dedication not only safeguards our clients' future but also cements SCAD Software's position as an industry trailblazer. He continues to lead our innovation roadmap, constantly seeking new ways to enhance our offerings with more examples of how we can turn “minutes to seconds”. 

Shaun Orpen

Group CEO

With an impressive career spanning over three decades in the Technology and Telecoms sectors, Shaun Orpen brings a wealth of experience to his role as Group CEO. His journey began with the groundbreaking entry of Microsoft Excel into the UK market, a stepping stone that eventually led him to play pivotal roles on the UK Executive Board during Microsoft's meteoric rise from £10 million to £1 billion in revenue. 

During his tenure at Orange, Shaun spearheaded the division responsible for catering to Small and Medium Businesses in the UK. Since then, he has continued to shape the success of a number of small and global technology enterprises, leveraging his strategic acumen and commercial leadership. 

Shaun's unwavering commitment to the convergence of technology and business is evident in his track record of elevating every organization he's been a part of. As the driving force behind SCAD Software's commercial endeavors, Shaun is leading our expansion across the UK, Europe, and the USA. 

His steadfast ethical stance, mirrored by his partner Andy Fensham, forms the bedrock of SCAD Software's principles, defining our approach to client interactions and business dealings. 

Stephen Moore

Chairman

Stephen Moore's illustrious career speaks volumes about his leadership capabilities. With a rich background spanning diverse industries such as Retail, Events, Technology, Telecoms, and Media, he has consistently demonstrated his ability to craft and execute growth, differentiation, and exit strategies in highly competitive markets. 

As the visionary Founder/CEO of multiple successful ventures, Stephen has guided five companies from their inception to remarkable exits and IPOs, including the noteworthy £117 million listing of Expocentric Plc on Techmark 2000. His track record extends beyond entrepreneurship; he has played a pivotal role in over 40 companies as a Non-Executive Director, Chairman, Consultant, and Advisor, raising more than £85 million in private and public markets. 

What sets Stephen apart is his global perspective, cultivated through extensive work in the UAE, US, Singapore, Hong Kong, and EMEA. This international experience enriches SCAD Software's strategic direction, making him an invaluable asset in our mission to navigate the complex landscape of digital transformation and empower our clients to achieve enduring success.