As a programmer, I am amazed that software ever works properly.
It's always underestimated, there are umpteen ways to design anything and many will never deliver what is wanted. Customers want the earth promised to them at no extra cost. Bull**** rules at every level. Nobody can agree on the best method to work to.
It's only a success as an industry because there's so much competition that eventually someone gets it right and produces a worthy product that kills off the other 9 contenders that never really delivered value.
I just can't imagine how one could set out to produce a great bit of aviation software from scratch and have any confidence at all that it would be ok. I'd almost say you need to have 3 competitors for every subcomponent and pick and choose the best after the fact.