Preheat oven to 350 degrees F.
In a bowl, combine warm water, yeast and sugar. Lightly stir, then set aside and let sit for 5 minutes until frothy.
In a large bowl, combine 2 cups of flour, sugar, nonfat dry milk, and salt and mix until well combined.
Add in shortening and work into the dry ingredients until it is crumbly in appearance.
Add water and yeast mixture along with egg to the dry ingredients and begin mixing.
Gradually add flour one cup at a time to form a soft dough. Once all flour has been added, continue kneading or mixing for another 2-3 minutes. When done, the dough should be slightly sticky to the touch.
Cover the dough with a towel and let rise until double in size.
Once dough has risen to double in size (about an hour), generously flour a surface on the counter and scape the dough out of the bowl and onto the floured surface.
Knead a few times, then roll the dough out into a large square shape.
Softly spread the softened butter evenly over the dough.
Next, sprinkle the brown sugar evenly over top of the butter followed by the cinnamon.
Using a pizza cutter, cut 12 even slices of dough in long strips. Roll each slice of dough tightly and place on a greased baking sheet pan.
Bake for 25-30 minutes until the tops of the cinnamon rolls are golden brown.
Remove from oven and let cool.
While cinnamon rolls are cooling, in a large bowl, beat together softened cream cheese, powdered sugar, heavy whipping cream and vanilla until nice and smooth.
Spread evenly over top of cinnamon rolls.
Serve and enjoy!