Thoughts on software development