software design foot stone