Software Design : The design of complex software systems

Too many software systems fail to deliver, despite the best efforts of everyone involved. This is because:

There are several reasons why this happens, but the most prominent one stems from the fact that software engineering is the only engineering discipline that lacks a standardised process and visual blueprint for the design of its products.
application_mock up
Civil

Civil

standard design template

Mechanical

Mechanical

standard design template

Chemical

Chemical

standard design template

Electrical

Electrical

standard design template

Software

Software

no standard design template

Software Design gives you, your business, and your end users three key outcomes:

What software design looks like at Intergy

A Typical Design Workshop at Intergy

There are two main steps in Software Design

tabs-application-mockup

Software design is fast-paced, and can be integrated into workshops, involving the business and end users in the design of the solution. This mitigates the risk of any adverse surprises. It can also be integrated into Agile, Waterfall, or any other development methodology, and works with any platform, technology, or framework. This enables detailed app customisation in the early stages, and can apply to any software project.

Software Design creates applications that enable brilliant work.

digital-design-blue-print

The Software Design Blueprint

The Blueprint comprehensively covers the information the software engineers need to either code directly, or, for complex software, create the lower-level UML, BPMN, or ORM diagrams, without having to interpret written requirements. The Blueprint’s visual models are easy for the client to approve.

the-digital-design-process

The Software Design Process

Requirements in Software Design works a little differently to traditional requirements because we now have a formal visual design phase between defining requirements and the build itself. Typically, the requirements phase is inappropriately treated as the design itself, even though the output is mostly written.

requirements

Step 1: Requirements (problems and causality)

When the conceptual design is completed, usually taking 1 or 2 sprints, we can create a high fidelity prototype and ask staff to test it. The prototype can be built to test the application on high-volume or business-critical work cases, and measurements can be taken to determine its viability at this stage.

Design (Visual modelling and UI / UX design)

Step 2: Design (Visual modelling and UI / UX design)

Visual modelling involves converting the written requirements into the core visual models: domain, data, workflow and business rules. User interface design involves curating the user experience based on the core visual models.

DIGITAL ARCHITECTURE PROCESS AND BLUEPRINT​

How to use the software design process and blueprint

This blueprint and standard process can be integrated into Agile, Waterfall, or any other development methodology, and works with any platform, technology, or framework.

Objections and Solutions to Standardising the Software Design Process

The usability and robustness of your complex business-critical applications can be often determine competitive advantage and scalability, as well as staff and end user satisfaction. Whilst software engineering does grant some flexibility and fluidity in the design process, it’s important to prioritise developing a working model upfront, and harnessing the ethos of other engineering disciplines to enable this can lead to long-term cost savings on new iterations, extraneous functionality, and cluttered systems
When it comes to designing software, there’s a difference between designing software as code versus designing software as a product. While code is abstract, (unlike metal, chemicals, and building materials), there are core components of software products that can be designed prior to commencing development. These components are the data, workflow, business rules, and the user interface.
The risk of constantly changing requirements can be mitigated by changing our initial approach to software design. Its possible to determine the requirements of an application prior to its development, and at Intergy, we use Job Analysis and Design (JAD), a method borrowed from organisational psychology, as the foundation for defining requirements. Since this philosophy is used in human resource management, it can be adapted well to manage the design of an application that is used by people on a daily basis.
The digital design process we use at Intergy is a systematic approach to take written requirements and convert them to the five visual models. Its job is to transition as quickly as possible from words to visuals, mitigating any ambiguities.
Agile and constant iteration is a direct response to the failings of the Waterfall development process. However, neither Agile, Waterfall, nor any other development methodologies solve the root cause of why an app doesn’t fulfil its complete purpose. Our digital design process can be used in Agile projects by creating a high level set of visual models to ensure visual congruency. This means that developers can start building with confidence in the final product meeting all expectations.

Our digital design process has been designed to be efficient in two key areas:

• It is designed to be used in real-time workshops, involving SMEs and end users in the initial stages
• The Blueprint has multiple levels of detail, which can be expanded upon after defining the key functionality requirements.

Whilst no two software projects are the same, the foundation of the design process that initiates them can be standardised, and this is evidenced in every other form of engineering. Visual blueprints are the key to maximising the efficient delivery of positive user experiences.

Our UI  & UX consulting services can involve an audit and modification of an existing system, or completely new development – or any mix of these services that you would like. Hence, we can’t put an exact price on it without going through our initial free consultation stage.

How we use design thinking to create UI/UX solutions

User experience design is about four main things
presenting-data

Presenting Data

presenting-work-and-activities

Presenting Work and Activities

presenting-user-interface-control

Presenting User Interface Controls

organising-within-architecture

Organising Within Architecture

Our Design Services

UI and UX Design

We provide outstanding mobile, desktop, and responsive user interfaces.

solution-technical-solution

SOLUTION TECHNICAL DESIGN

We help you define the best architecture and features for your app.

software-development

Software Development

Our team of design consultants, project managers, and experts come together to build your bespoke application.

business-nsw
NSW-ICT-Scheme-Logo
ISO 27001 Certified
Microsoft-Solutions-Partner-logo
arn-innovation-award

We’re trusted by over 500 organisations, both private and public - to deliver incredible UI/UX experiences

Case Studies

BIA marine-card-feature

BIA

How Intergy helped bring contractors and contracts
together in the maritime industry through UX design.

SMA

STATE MEDICAL ASSISTANCE

How we helped SMA create a comprehensive Business Management System.

BMP

BMP+ BIOFOULING

Developing a Custom Software Application
for the Maritime Industry with a modern UI.

clinic-space

UI/UX design by Intergy for ClinicSpace/Healthspace

sma

UI/UX design by Intergy for State Medical Assistance

sports-block-mobile

UI/UX design by Intergy for SportsBlock

Smart Technology and Beautiful Design are the foundations,
of successful lasting digital transformation in the workplace.

Connect with Us

Sydney (Headquarters)

1/153 Walker Street, North Sydney 2060.

Phone

1300 739 117

Tell Us About Your Project

Call us on 1300 739 117 or complete the form to book your free consultation and discover how we can add value to your business software solutions.

Our Recent Clients

The Software Design Blueprint

The Blueprint has five core models:
Frame-3-1

The domain model is a summary of the space in which the application works, whilst the workflow, data business rules, and interface represent its design and behaviour. The Blueprint comprehensively covers the information the software engineers need to either code directly, or, for complex software, create the lower-level UML, BPMN, or ORM diagrams, without having to interpret written requirements.

The domain model contains the body of knowledge underlying the work to be done. It includes:
It ensures the project team has a clear understanding of the work people need to do with the new software system and the knowledge and skills required. The content summarised here informs the following four core models that represent the design of the software system.
The workflow model shows exactly how work will be done including activities and decisions and can be tested, on paper, as being fast, easy and enjoyable. It’s the main model used to support the business case through the expected performance improvement.

The data model shows the data on which the workflows operate and ensures that the data is organised in the right way to support work.

The business rules model describes the policies and other rules governing how the system works and ensures governance and compliance.

 Finally, the user interface brings everything to life and shows exactly how the system works through its design and behaviour.

Ideation

Generate several concepts

Refine a single concept

Detailed design and engineering

Detailed specification

Construction

The Software Design Blueprint does the same job as the architect’s blueprint. It gives people a clear, precise, and comprehensive plan that can be approved or changed prior to commencing development.

FAQs for the Software Design Blueprint

We’ve made software design efficient and possible to use in workshops, eliminating the need for written requirements. This mitigates the risk of redundant functions and costly ongoing iterations.

Whilst workflows are essential, we also use the rest of the models to determine the data and business rules, and develop a user interface upon defining these parameters.

UI design is essential, because it’s the only thing your end users will see. Intergy are experts at designing user interfaces and user experiences that are captivating, and we use all of the aforementioned models to ensure that your UI is on-brand, and meets the requirements of the business case.

The Software Design Blueprint and Process does the same job as an architect’s blueprint. It lets you see all the detail you need, and you can test it with a prototype to make sure it solves the performance problems and delivers a real improvement in people’s performance.

The Software Design Process

Our Software Design Process has two main steps: Requirements followed by Design.

FAQs for the Software Design Process

Not at all! The software design process only takes one or two sprints to complete, and greatly mitigates any change requests, reiterations, and late-stage user experience problems in the long-term. This retains the conceptual integrity of the entire project.

Providing designers with an environment that is conducive to maintaining structural integrity actually enhances their opportunity to be creative, as they don’t need to worry about other potential shortfalls.
A design process means that you need to properly understand the requirements and then engage in a systematic design process to create the design solution. That means that doing the design at the right time with the right information means it will be consistent with the design at the end.
At Intergy, we find that the most cost-effective and timely way to design a user experience is by clearly defining the requirements of the project and completing a conceptual design in its early stages. This saves our clients time and money and ensures that they are happy with the project before we write a single line of code.

Requirements (Problems and causality)

The primary method we use to collect requirements is job analysis and design (JAD) from organisational psychology. JAD is a structured process to either design new jobs or document existing jobs.
Therefore, given its importance in these critical business functions, we also use it to directly inform the requirements for enterprise apps, whether used directly by staff or by customers to interact directly with the business for a stronger customer experience.

This is the structure of a job

Most importantly, the KPIs capture critical performance metrics used to show how well the system needs to perform for people and can be used to compare current and future performance to support the business case. The delta of the financial, service, growth, or process impacts is central to the business case where performance improvement is the key driver.
The key result areas are the major areas of work and contain the key decisions and key tasks to be performed. These key tasks are then used to design the corresponding workflows to show exactly how they will be performed and the expected performance improvement to be realised. This approach also allows us to convert non-functional requirements like usability, into functional requirements that can now be clearly and precisely designed.
At Intergy, we used several methods to determine the cause of any workplace or functionality issues. We can then incorporate these into the design process to ensure that the final product has addressed these and mitigates any risk of new problems arising. We use fishbone/Ishikawa diagrams, systems thinking, and statistical analysis to find potential problems and then define new requirements to address these.
Once we’ve clearly defined any issues, and identified their root causes, we can move into the Design phase and determine the best solutions to ensure that staff and end users have positive experiences.

FAQs for Step 1: Requirements

At Intergy, we capture requirements by involving all parties in initial workshops. We predefine all of the necessary functions of the application before a single line of code is written, and this allows us to create a visual blueprint that can be handed over to the development team once the framework is approved by our clients.

Design (Visual modelling and UI / UX design)

The Design phase has two main steps to it:

Visual modelling

Visual modelling involves converting the written requirements into the domain, data, workflow, and business rules models. These are separated into nouns, verbs, adverbs, and adjectives that define the functionality of the application. Instead of representing the requirements in a long, textual format, we at Intergy convert these into a visual representation, simplifying it so that our clients and the end users can add or remove bespoke features easily, prior to any development taking place.

UI / UX design

When the first four models are complete, and specifically the workflow, data and business rules models, we can now start designing the user interface.
By creating the core visual models first, rather than diving straight into UI design, we can design the user interface for any type of device, such as web, mobile, tablet and speech. The core models ensure each type is consistent so people can use different devices without having to learn how each one works.

How to use the software design blueprint and process

The Software Design Blueprint is useful whether you’ve started a software development project already and need to convert written requirements, or are about to commence a UI/UX project and want to make sure the application works correctly in its first iteration. Once the design is complete, the models can be extended into UML, BPMN, or any other technical specifications for business-critical projects. This initial conceptual design is used to ensure that all stakeholders are in agreement on the functionality and user experience of the application, and the following diagram depicts how a project can progress to this stage. By following this blueprint, we can maximise the chances of success for UI design, development, testing, and release.

FAQs about how to use the Digital Blueprint and Process

At Intergy, we find that designing a robust blueprint maximises the longevity of the software application we are developing, and ensures that our clients receive the bespoke functionality they require in a timely manner, with little need for any further iteration or technical assistance upon release.