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.



.avif)

.avif)
.avif)
.avif)