I start simple with mine. Start with the deployment, just getting the pod up and running, completely stateless. Get that stabilized, once that's happy then start moving onto the service, connecting to the UI. Then I finish anything else I can before adding in state - environment variables (first just in the deployment, then once that's done worry about a config map and secrets). (Adding volumes in just complicates it because then you have to reset those volumes if you want to go back to a clean state).
As a list:
Deployment (stateless) - get to not crash
Service - connect to it
Environment variables, extracting out what can be
Secrets, adding those to the chart
Volumes, adding in state
Move to a nice clean setup with a clean values.yaml.
Finally, once your happy, then make it conform to other standards. Getting it stood up in k8s is the hard part, then customizing can come after.