Magic in software development