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

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