business-critical software development