Hi Emily,
I would start with an Polygon object that contains already a certain amount of “edges” to create the “cuts” on the top. If you have this, place a “Spherify-Deformer” underneath and set the Deformer up so you get the round shape.
The Spherify should be set to 100% Strength. The “Deformed Editing” for the editing views under Options>Configure>Attribute Manager>Display should be enabled.
You can now move points (in Point mode) on your object, and keep the sphere like surface! Sort out the points to get the edges as you would need them in “Top-View”. If you have that “cut out roundish” element on top and more importantly the triangular shape established the initial work is done. Any change of a point is so forced to stay on a spherical like shape, the only concern here is to keep the mesh dense enough, but not too dense. Test this for your needs.
From here check the object with a “Subdivision Surface” [HyperNURBS] and if that worked fine, use the Current State to Object.
Extrude and other standards are now the next steps, but I guess you know it from there.
Do some tests first and “play” with the set up, to see how the Spherify works with objects. I created in that way the Head from a main character in a movie. Keep in mind that you can scale the Spherify, e.g., in Y to get a shape that would look like more such an M&M.
All the best
Sassi