Why requirements engineering is still valuable in 2021 and beyond?

As software consultant I speak with German companies on daily routine
 and I always fascinated by the challenge in the projects and many times I being asked by company owner‘s, why my company Orlovsky Consulting GbR can’t just write code even if the requirement are not formal and or not yet defined or will be defined at the later point.
The idea to write code without proper requirements analysis is very foreign to me and my team and I consider such projects as potential failed projects.
For example in the report of the StandishGroup International you can see following diagrams:
Image
It is obvious, that you need to analyze project before, during and after releasing it!
Furthermore the amount of developers is not essential for success of the software project/s and this statement should not considered as another consultant tricks, but it correspond to what I saw and experienced firsthand!
In my favorite book  “The mythical  man-month”
Image
 , you will find statement like following: „Adding Human Resources to a late software project makes it later“

This book is not new, I always find it strange and ironic that so many senior developers and managers just not aware of it.
Our IT industry is not so old, but we are not children or teenagers anymore, we adults and should behave like ones and take full responsibility for our work and decisions which we make.
Some company owners would respond to my statements like following
"well we can’t do anything about our deadlines and they are fixed (due to government agreements and contracts and previous agreements)."
I respond most times like following:
Sure, I do understand this, but do you plan to ship sh***t or you plan to do something great and the best possible job?

Then the most company owners say:

a) "Well we can’t do jack sh** about this, thank you for your offer , you will hear from us!"
Then I never hear anything from them. ;)
b) "You presented your analysis clearly and it obvious to us that perhaps we should reconsider our possible partnership,
but I don’t think that our major client would agree on new terms which your company suggest!!!"

Then I receive a formal rejection from those companies.
 Here is a big problem,because its a fact, that many German companies are not ready for the change, they usually say we use agile or mix with Kanban and Scrum, but in my opinion it goes nowhere and just postpones the enevitable failure of theirs project.
The real root of this problem as follows:not right prediction of estimate on delivery of final product, here I recommend to be honest.
Always say that your company obviously would not be able to deliver all previously negotiated features and try to negotiate a new delivery pipeline where clients feature request’s would be delivered in the predictable and honest and accurate manner.
I strongly recommend and advise companies to take action and revaluate 
software projects and business models , most times there signs,
that something is not right and it must be fixed.
 
Requirements engineering would help, because it allow to recognize following:
  1. What are actual functional and non-functional requirements ?
  2. What are the corner conditions of the requirements?
  3. Because of formal requirements, they would be recognized by all team members you will be able to validate them, by that I mean to validate trough all involved stockholders, product owners and team members.
  4. If requirements engineering done right, you will be able to catch the misconceptions  and misunderstanding sooner than later.
  5. The developers would spend less time in understanding and implementing of requirements and even less in debugging.
  6. Requirements help to create enough documentation for your project and it is good feeling when you can read a requirement and able to repeat the test as user and validate that was implemented as expected
This is final part of
"Why requirements engineering is still valuable 2021 and beyond?"
 
If you use agile and wish to have such state of project,
you must be ready for the change, some people afraid of the change, because they are used to bad working environment and constant stress and some people just only  care about to push enough code that the final product wouldn’t crash during user experience. Such people usually work to the senior architect position and leave company or deprecate the project just because it does not suits current business needs ;)
ImagePicture source: Scaling Software Agility Best Practices for Large Enterprises by Dean Leffingwell
If you consider all of things which I mentioned and referenced here and in the past 2 articles, you should think and make honest estimation about what you’re really getting from your current business process, if you not sure what to do next, contact external consultants  or create a dedicated team for project analysis , but do anything to change the direction of your company!

I really hope, that you as a decision maker take all options in count, because it’s always bad when you know that project would fail and done nothing to fix it, so find a solution and fix it!
(Hint, Hint: use requirements engineering)