I'm currently working on a project combining Mathematica and SysML (in MagicDraw/Cameo). I am coding in Mathematica using the contributed MTools for OO (and no, that does not mean I can't have my functional cake and eat my OO at the same time).
I am modelling the Wolfram Language code system in SysML (adhering to my SysML-friendly coding recipe). Again and again, when I get stuck or can't see the forest for the trees just coding, I go back to the SysML modelling (not every tiny bit, just the main logic), with Activity Diagrams and BDDs and see how to refactor my code.
I use SysML to plan the refactoring. It takes courage. Every time I do it I am rewarded. Because graphical engineering uses another part of the brain. There is a synergy. You can't just code; you can't just model. Magic happens when there is both.