code analysis could give some statistic numbers, which are not determinant, but good to start with, if you are looking at some design defect or bad coding practice. such KPIs could be how many methods in a class, or how may levels of if/else used...
is there some code metrics for MVVM program?
for example, one thing i noticed in one of our last project is, each class sounds not big, but there's a tree that make the possible workflow very complex: ViewModel Command => Business Method => ViewModel Properties => ViewModel "Navigation Properties" (hidden/shown/collapse/expand) Note: I call it "Navigation Properties" as the whole MVVM project's navigation is based on MVVM binding, but setting some VM properties as hidden/shown/collapse/expand, the GUI is navigated.
is there some special design "trap" that MVVM might fall into, and KPI's to watch that?