In your opinion which is the most critical aspect of software engineering?