I'm a developer and we outsource some of our projects (we used to anyway) - I've got to tell ya - I've seen worse. Oh, the horrors ... the mess. I remember once when the "consultants" deployed for the first time on our staging env we somehow ended up with 15 databases some containing credit card info and all kinds of transactions (I guess from previous clients), the reason I know is because I had to examine this madness. As far as I could tell their software was dependent on most of the DBs. By the way the software was a recruitment web app, nothing to do with payments what so ever.