Building complex custom digital products | How we do IT #6

Complex digital products don't fail because the code is bad. They fail because design, architecture, project management, and QA weren't built to work together. This video covers the techniques Merixstudio applies across each of those areas to keep large, custom builds on track.

00:00 → 00:03

Building complex custom digital products requires more than

00:03 → 00:04

just coding excellence.

00:04 → 00:08

It demands advanced techniques and a specific approach in

00:08 → 00:10

every aspect of software creation,

00:10 → 00:13

from design through project management to quality assurance.

00:13 → 00:17

All these elements work together towards a common goal,

00:17 → 00:20

keeping the development process under control and delivering a

00:20 → 00:24

comprehensive product that seamlessly covers the whole process.

00:24 → 00:25

But how to achieve that?

00:25 → 00:29

Let's take a look at some tried and tested solutions.

00:32 → 00:33

Hi.

00:33 → 00:36

I'm Magda, Business Development Manager at Merixstudio,

00:36 → 00:37

and this is how we do it.

00:37 → 00:40

This series will present you with specific design and

00:40 → 00:44

development challenges and explain how we deal with them

00:44 → 00:45

at Merixstudio.

00:45 → 00:48

Every case is based on our experience and the projects

00:48 → 00:49

we've worked on so far.

00:49 → 00:53

In this episode, we'll take a closer look at the UK based

00:53 → 00:54

specialist certification company.

00:54 → 00:58

It's an independent nonprofit NGO and an industry leader

00:58 → 01:01

in the field of high stakes testing.

01:01 → 01:04

They focus on developing, administering, scoring,

01:04 → 01:08

reporting results of valid examinations that assess the

01:08 → 01:09

student's competence.

01:09 → 01:13

The company wanted to introduce a new multistage exam that

01:13 → 01:18

would assess theoretical, practical and clinical decision making skills.

01:18 → 01:20

And that's when they faced a few challenges.

01:20 → 01:24

Up until now, the client has been relying on outdated

01:24 → 01:27

software combined with off the shelf solutions to automate the

01:27 → 01:30

process of creating and conducting examinations.

01:30 → 01:34

The software is burdened with technical and UX debts.

01:34 → 01:37

While these systems roughly met the organization needs,

01:37 → 01:41

they fell short in supporting complex testing methodologies

01:41 → 01:44

and accommodating the changes related with the new exam.

01:44 → 01:48

Moreover, the utilization of multiple solutions had a

01:48 → 01:52

negative impact on the user experience and the easiness of the process.

01:52 → 01:55

That's why to maintain the highest quality of

01:55 → 01:58

examinations, the organization decided to develop a custom

01:58 → 02:00

software solution.

02:00 → 02:02

How can we cope with these challenges?

02:02 → 02:05

Maciej Stempniak, our Senior Business Analyst,

02:05 → 02:08

will share some insightful solutions based on our experience.

02:08 → 02:12

Let's begin with discussing the project

02:12 → 02:13

management aspects.

02:13 → 02:16

How will we approach the project from this side?

02:16 → 02:18

When it comes to the PM area,

02:18 → 02:20

we should primarily focus on effectively managing the

02:20 → 02:23

complexity of the product and the extensive scope of work.

02:23 → 02:25

As the software development aligns with the evolving

02:25 → 02:27

concept of the new exam,

02:27 → 02:30

we highly recommend adopting the Scrum framework.

02:30 → 02:33

This agile approach empowers us to define clear objectives for

02:33 → 02:37

each sprint and enables us to adapt to changing priorities in

02:37 → 02:38

dynamic environment.

02:38 → 02:42

Furthermore, this kind of large scale project involving numerous team

02:42 → 02:46

members requires implementing the roles of scrum master and

02:46 → 02:47

proxy product owner.

02:47 → 02:50

This will ensure high standards for both the team's performance

02:50 → 02:52

and the product's development.

02:52 → 02:56

Scrum master ensures the efficiency of processes within the team.

02:56 → 02:59

Additionally, they take care of the team motivation.

02:59 → 03:00

For the product owner,

03:00 → 03:03

the responsibility lies in optimizing the backlog in terms

03:03 → 03:07

of business value, usability, and feasibility.

03:07 → 03:10

They manage the product roadmap and address strategic needs.

03:10 → 03:13

To clearly visualize the work progress and effectively plan

03:13 → 03:15

the tasks, we need a well suited roadmap.

03:15 → 03:18

Crafting it requires leveraging advanced estimation and

03:18 → 03:20

prioritization techniques.

03:20 → 03:21

For the purpose of the first one,

03:21 → 03:23

we would use the scrum story points method.

03:23 → 03:27

It allows teams to efficiently estimate and plan their

03:27 → 03:31

projects without getting bogged down into exhaustive details.

03:31 → 03:33

Instead of attempting to precisely predict the number of

03:33 → 03:35

days or hours for each task,

03:35 → 03:38

the team focuses on comparing the relative difficulty of one

03:38 → 03:40

task against another.

03:40 → 03:42

On the other hand, for effective task prioritization,

03:42 → 03:45

we can use well regarded Moscow method.

03:45 → 03:48

It's very useful for managing backlog and requirements.

03:48 → 03:52

It allows us to assess what we would definitely accomplish in a given period.

03:52 → 03:56

Proper project management is definitely a crucial part of

03:56 → 03:58

dealing with complex products.

03:58 → 03:59

But what about the technology?

03:59 → 04:03

Tech solutions should all be about ensuring reliability,

04:03 → 04:06

scalability, and security as the system evolves and has to

04:06 → 04:10

collect analytical data as well as track record changes with

04:10 → 04:11

clear audit trail.

04:11 → 04:16

It is also key to provide high performance with zero downtime during the exam.

04:16 → 04:19

Apps that reflects such complex processes invariably call for

04:19 → 04:21

well considered architecture.

04:21 → 04:24

It needs to encompass all dependencies, remain scalable,

04:24 → 04:26

and prime for future expansion.

04:26 → 04:29

That's why Software Architect ongoing engagement in building

04:29 → 04:31

complex products is more than welcome.

04:31 → 04:35

In this case, we decide to create a modular event driven architecture.

04:35 → 04:38

We base the whole application on what's going on in the event

04:38 → 04:40

stream, not on user request.

04:40 → 04:43

We opt for this solution to achieve utmost scalability,

04:43 → 04:45

effortlessly adding new component instances to bolster

04:45 → 04:49

throughput, and an architecture bid upon event facilitates

04:49 → 04:51

parallel handling of multiple requests.

04:51 → 04:53

And what about the architecture style?

04:53 → 04:56

Does every complex digital product require microservices?

04:56 → 04:57

Well, not always.

04:57 → 05:00

While microservices are often considered the default choice

05:00 → 05:02

for comprehensive systems,

05:02 → 05:05

we intentionally deviate from using them in this specific case.

05:05 → 05:08

This decision primarily stems from the ongoing product

05:08 → 05:10

development phase on the client's end.

05:10 → 05:13

Our main emphasis revolves around crafting the domain and

05:13 → 05:16

integrating the business logic within the application.

05:16 → 05:19

Prematurely dividing the application into independent

05:19 → 05:22

microservices could potentially complicate the rectification of

05:22 → 05:23

any missteps later on.

05:23 → 05:26

It is of utmost importance for the solution to maintain the

05:26 → 05:30

required flexibility to adapt to ever evolving product needs.

05:30 → 05:33

While we do have satellite applications connected via message bus,

05:33 → 05:36

it is imperative to clarify that they do not operate as

05:36 → 05:39

independent microservices, although they may become them.

05:39 → 05:40

One day.

05:41 → 05:44

So let's move on to the design aspect of the projects.

05:44 → 05:48

How can we ensure the highest level of usability for such a

05:48 → 05:49

complex product?

05:49 → 05:52

First of all, we need to understand the product inside

05:52 → 05:56

out, considering all its dependencies, user profiling,

05:56 → 05:58

and business context to kick start our collaboration.

05:58 → 06:01

An extended discovery workshop will be essential in

06:01 → 06:04

acquainting ourselves with the fundamental requirements and

06:04 → 06:05

domain knowledge.

06:05 → 06:06

Yet, we cannot stop here.

06:06 → 06:09

Given the scale of the app and the long term perspective of

06:09 → 06:12

our work and the modular architecture we've recommended,

06:12 → 06:15

we'll need more time and special approach to delve into

06:15 → 06:16

the product details.

06:16 → 06:19

That's why we propose a gradual development process,

06:19 → 06:22

breaking down the work into specific modules and start it

06:22 → 06:24

with the dedicated discovery phase.

06:24 → 06:27

We kick off an in-depth discovery session using the

06:27 → 06:30

insights gained to generate tailor made solutions for the

06:30 → 06:32

identified requirements.

06:32 → 06:34

These proposals will then be validated with the client

06:34 → 06:37

through internal usability testing.

06:37 → 06:38

Once the details are finalized,

06:38 → 06:41

we proceed to the development phase led by our skilled

06:41 → 06:43

programmers and QA engineers.

06:43 → 06:47

Lastly, we gather feedback from end users to continually improve

06:47 → 06:48

and enhance the product.

06:48 → 06:51

From the UI perspective, in projects of this magnitude,

06:51 → 06:54

a well defined design system and style guides are essential.

06:54 → 06:56

They provide centralized, scalable,

06:56 → 06:58

and consistent approach to design,

06:58 → 07:01

facilitating seamless collaboration among teams and stakeholders.

07:01 → 07:03

So as we can see,

07:03 → 07:06

building complex custom products involves not only the

07:06 → 07:09

right technological solutions, but also proven

07:09 → 07:12

processes and specific roles within the team.

07:12 → 07:16

They enable the management of the vast scope of work and

07:16 → 07:20

effective tackling of comprehensive technical and business issues.

07:20 → 07:24

I hope this video will help you to make sure your IT

07:24 → 07:27

partner has the mature enough approach to face advanced

07:27 → 07:31

challenges that always come with complex product development.

07:31 → 07:33

Thanks for watching,

07:33 → 07:37

and don't forget to check out more content on our insights.

Let's connect and build together