In a recent question on unsolved issues in Computer Science, one answer was, probably correctly, criticised for not strictly being a CS problem, but a software engineering one.
In software engineering we have best practices, patterns, methodologies and templates, perhaps because it's quite a woolly area - probably more art than science - everyone has their own way of solving their problems, whether big or little (we've all got our utility library, right?)
So what are the big unsolved problems in Software Engineering? And why are they still unsolved, what's stopping us from having nailed-on solutions?