You can approach the creation of software as an engineering problem, but what's unique about software is that you can still produce useful software even if you don't. If there are budgets and deadlines and guarantees to be considered then you need engineering.