What is software development?

About

According to Wikipedia ‘software development’ is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. It’s a reasonable description. At Encanvas, because we use no-lo software development tools and methods, the need to program or de-bug becomes irrelevant. We therefore describe it as – ‘The process of scoping, designing, deploying, documenting, testing, and tuning software applications.’

Software development lifecycle management

Over the years there have been several popular methods of developing software. These are articulated by the lifecycle a development takes from initial conception to completion, and beyond. We summarise these here.

Waterfall

As the term suggests, with waterfall development, a series of software developers (normally using different tools) are tasked with performing blocks of development. These activities are supervised by a project leader who sets out the development plan. Often, developers will disappear for days until the next project review meeting. This approach used to be the most common, particularly when the need to use different tools (demanding the skills of different developers) meant there was no other way.

Agile / Scrum

The existence of more versatile cloud software development environments has made it possible for agile software development to happen. The underpinned principle of agile development is that small teams, meeting regularly (in a scrum), agreeing what needs to be done, sprinting to get them produced in a day, then reviewing progress speeds up software development considerably. Unfortunately, this step forward in the software development approach does little to eradicate the project overheads and risks associated with manual coding.

Agile Codeless with Live Wireframing

Use of codeless (requires developers to no longer see or use code) Integrated Development Environments (IDEs) has made it possible for software developments to be managed by one person from start to end. The key design role is performed normally by someone with business analyst skills, as appreciating what needs to be created – and why – becomes the greater risk to project failure. This has led to the ability of software development to happen in workshops, in near-real-time. At the term suggests, live wireframing focuses on rapidly developing a live wireframe ‘prototype’ of a solution and ‘failing fast.’ Through the use of an integrated development environment, it’s possible to de-risk projects by iterating designs at a very low cost.

The risks of software development

Software development is known to be a hugely wasteful process.

A Harvard Business Review article article ‘Why Your IT Project May Be Riskier Than You Think’ published in November 2011 uncovered that, followed a survey of 1,471 IT projects with an average spend of $167m:

  • The average overrun was 27%
  • One in six of the projects studied was a black swan, with a cost overrun of 200%.
  • Almost 70% of black swan projects also overrun their schedules.

This level of performance has changed little in the intervening period. So, why are software development projects so inconsistent in their delivery? There are a number of factors:

A lack of clarity of what needs building

Specifying how an application should work – the process it must fulfill, the aspirational needs of stakeholders, user interface, the logic rules, data integration, and processing, etc. – is complex. Working with stakeholders unsure of what they need, and struggling to visualize how it will work for them, makes it even more difficult.

A lack of surety in outcomes and RoI

Calculating a Return-on-Investment It’s hard to envision ‘how well’ a software development will work, and the level of influence the application will have in improving the process.

The complexity of the software development project process

When multiple individuals are working on the same project using different software development tools, it’s difficult to keep everyone on the same page and keep developments on-track. Even when projects manage this, the consequence of using a blend of development tools means that a small change to one aspect of development can have a big knock-on effect. For example, changes to the database structure can demand changes to front-end forms, requests for reports can expose shortcomings in data designs, etc.

The challenges of manual coding and scripting

Anyone that’s ever tried their hand at coding or scripting knows that it’s a slow and detailed process. When code is created manually, there’s always the risk that errors will be made. Worse still, there is a risk of malware being introduced or intellectual property loss. These risks demand that applications are heavily tested before they are released. This costs a lot of time and money to do. Any changes result in a new wave of developments.

When ‘customers’ change their minds

It’s not uncommon for users and stakeholders of a software development to change their minds over what’s needed. When this happens, it can significantly delay or even de-rail developments.

integration and data quality issues

Few applications function in isolation. Normally they need to take data from third-party systems or deposit it somewhere. The quality of data and the challenges of integration can take 30 to 45 percent of the project-spend. When data is poor, the RoI of projects can reduce or be completely removed. Data quality can make software developments redundant.

Platform versioning issues

When an application is used by a community of users or customers and they request changes to be made over time, this can result in development teams to have to support more than one version of their software. Unless some pre-planning goes into how platform versioning is managed, it can result in a long tail of code management overheads.

About Encanvas

Encanvas is an enterprise software company that specializes in helping businesses to create above and beyond customer experiences.

From Low Code to Codeless

Better than code-lite and low-code, we created the first no code (codeless) enteprise application platform to release creative minds from the torture of having to code or script applications.

Live Wireframe

Use Encanvas in your software development lifecycle to remove the barrier between IT and the business. Coding and scripting is the biggest reason why software development has been traditionally unpredictable, costly and unable to produce best-fit software results. Encanvas uniquely automates coding and scripting. Our live wireframing approach means that business analysts can create the apps you need in workshops, working across the desk with users and stakeholders.

AppFabric

When it comes to creating apps to create a data culture and orchestrate your business model, there’s no simpler way to instal and operate your enterprise software platform than AppFabric. Every application you create on AppFabric adds yet more data to your single-version-of-the-truth data insights. That’s because, we’ve designed AppFabric to create awesome enterprise apps that use a common data management substrate, so you can architect and implement an enterprise master data management plan.

Customer Data Platform

Encanvas supplies a private-cloud Customer Data Platform that equips businesses with the means to harvest their customer and commercial data from all sources, cleanse and organize it, and provide tooling to leverage its fullest value in a secure, regulated way. We provide a retrofittable solution that bridges across existing data repositories and cleanses and organizes data to present a useful data source. Then it goes on to make data available 24×7 in a regulated way to authorized internal stakeholders and third parties to ensure adherence to data protection and FCA regulatory standards.

Encanvas Secure&Live

Encanvas Secure and Live (‘Secure&Live’) is a High-Productivity application Platform-as-a-Service. It’s an enterprise applications software platform that equips businesses with the tools they need to design, deploy applications at low cost. It achieves this by removing coding and scripting tasks and the overheads of programming applications. Unlike its rivals, Encanvas Secure&Live is completely codeless (not just Low-Code), so it removes the barriers between IT and the business. Today, you just need to know that it’s the fastest (and safest) way to design, deploy and operate enterprise applications.

Learn more by visiting www.encanvas.com.

The Author

Mason Alexander is a senior consultant specializing in helping organizational leadership teams to grow by implementing enterprise software platforms that improve data visibility, process agility; and organizational learning – creating an enterprise that learns and adapts faster. He writes on subjects of change management, organizational design, rapid development applications software, and data science. He can be contacted via his LinkedIn profile.

Further reading