in any development you have two options:
1 - using child theme. full separate development to add or rewrite some functions.
2 - using template and css overrides. partial css changes within core theme.
child theme is the easiest way.
if your development takes too long, during this time master theme can be upgraded many times to fix security and design bugs, you can safely overwrite any file in master theme.
you will keep any changes in child theme.
option 2 is only for little changes, like custom css file to move some design.