Recently read the article Software Engineering: An Idea Whose Time Has Come and Gone? Its definitely an interesting article.
My biggest take-away…. It will always be important to engineer a software product. But it is equally important to not get caught up in the engineering processes that are used to drive the construction of the product.
And if possible, never take on a software project where the value of the end-product will not be much greater than the value of effort taken to implement it – because on such projects one needs much tighter controls and the engineering process can begin to strangle the project it-self. Instead take on projects where the value of the out-come is much greater. That way, you dont have to worry as much on the engineering controls as much as the engineering design of the product. Finally, invest in smart people who will self-organize as a team to accomplish goals. Such teams will automatically create a well engineered product which comes in under-budget and on-time.