News for hackers. Stuff that matters.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by vidanay on Thursday March 01, 2018 @02:11PM (#16495122)
So, what makes a payroll system at this scale so difficult? On the face of it, there are salary employees and there are hourly employees. How many taxing bodies does Canada have? Federal, provincial, and municipal? Is that a few dozen or a few hundred? Is Canadian tax code crazy complicated that doesn't allow for a rules based system?

I'm honestly curious as to how a "simple" payroll system can go so far off the rails.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by BoorishBears on Thursday March 01, 2018 @02:17PM (#16495190)
I remember thinking “Why does this simple state Jury Duty site need to be down from 9PM to 9AM”

“I could write a site that did this job with 99.9% reliability in a weekend”

Turns out disability laws require a real person be available to assist with the site. Imagine bidding on a website project and accidentally promising 24/7 live support.

That’s government tech in a nutshell.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by dragonwriter on Thursday March 01, 2018 @02:27PM (#16495280)
> So, what makes a payroll system at this scale so difficult?

Complex pre-existing business rules of a large, sui generis employer (governments, especially sovereign ones rather than localities, often are because the laws that apply to other employees don't apply to them, and the rules that do apply often aren't coherent across-the-board policies determined by a central org focussed on HR, but often are set in special case laws applied to individual subunits of the government by a legislature then operationalized by the HR staff in that subunit) trying to be put in a COTS system make it hard, but probably what makes it most out of control is that the contractor is optimized in maximizing value extracted not efficient delivery and that governments generally suck at overseeing IT contracts (sometimes this is corruption, but it's often just lacking the knowledge and skills to do it effectively at the direct contract management staff level, often complicated by mandated IT contracting frameworks that are based on the underlying assumption that software engineering is basically structurally the same as civil engineering.)

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by x0x0 on Thursday March 01, 2018 @02:48PM (#16495504)
It seems like lots of the payroll was being carried out by humans in local units. Humans are very good at holding lots of exceptions in our heads and, in the absence of clear rules, doing reasonable things. Computers are shit at both of the above.

So things like Bob negotiated with his boss to leave early on Thursday to cover childcare and, in exchange, is coming in early on Tuesdays... but got asked to come in Saturday and now has overtime and what does he get paid based on province or local rules? Does OT end at midnight or not? Do employees get paid non-required OT as a courtesy? And frankly, lots of payroll probably sometimes violates the rules in minor ways, but as long as the employee is happy and the org is happy no-one is upset. Computers are not good at letting small things like that go. And that's a pretty trivial case.

What about eg janitorial that is paid by multiple government orgs on some cost sharing arrangement because the orgs share office space, but is covering an event for a 3rd org in the 2nd org's space? And that janitor is on a particular contract, one of perhaps 5 or 6? If that has to get encoded into a central system, have fun with that. God only knows how many exceptions there are across a quarter of a million employees.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by aero142 on Thursday March 01, 2018 @05:38PM (#16497065)
The fundamental problem is when people want software to prevent people from ever messing up instead of simply enabling people to do their jobs better. I heard someone say the other day that they wouldn’t use a simple workflow tool becuase it didn’t provide read only access for other company employees. Look, other people could walk over to your desk and throw all of your papers in the trash too. You still use paper. Why must software prevent malicious actions perfectly?
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by diggernet on Thursday March 01, 2018 @04:06PM (#16496338)
> Humans are very good at holding lots of exceptions in our heads and, in the absence of clear rules, doing reasonable things. Computers are shit at both of the above.

Which is a remarkably concise summary of my thoughts regarding self driving cars.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by lopmotr on Thursday March 01, 2018 @05:34PM (#16497027)
When did you form those thoughts? The last 10 years has had pretty monotonic progress in the opposite direction. It seems unlikely for the technology to suddenly stop and certainly not go backwards.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by diggernet on Thursday March 01, 2018 @06:25PM (#16497365)
It's that 80/20 rule... I'm sure Canada saw monotonic progress in their payroll system over the last 10 years, too. But with cars, the 20 can kill, not just screw up paychecks.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by slavik81 on Thursday March 01, 2018 @07:48PM (#16497857)
> does he get paid based on province or local rules?

I believe the answer is "neither". Federal employees are exempted from both. That case would be decided based on federal law and the union contract. It's made more complex by the fact that the union contract is often applied retroactively to events several years in the past due to how long negotiations take.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by simonw on Thursday March 01, 2018 @04:41PM (#16496654)
Thanks for this, this is an excellent set of examples.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by AndyNemmity on Thursday March 01, 2018 @03:29PM (#16495928)
Corruption is often brought up, and I'm not saying it doesn't happen, but any time I've been consulting, it's always general issues, personal issues, technical issues, refusing to change, all sorts of standard stuff. Not corruption.

It's hard to implement even a minor thing in a large company.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by pixl97 on Thursday March 01, 2018 @06:31PM (#16497401)
Probably because you don't notice the corruption.

That vendor that has lots of technical issues and the manager that is refusing to change. Well, they know each other and the vendor is giving kickbacks for dragging it out as long as possible.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by dragonwriter on Thursday March 01, 2018 @10:02PM (#16498615)
Most of the corruption in government IT contracting is more subtle; its things like government managers developing relationships with contractors and favoring them subtly without kickbacks, simply because they are comfortable and feel better working with them. The people doing it probably mostly feel like they are actually doing a public good and working around red tape, because they genuinely believe that intangibles that wouldn't be weighed properly in the formal process do weigh in favor of the contractor being a better value.

OTOH, yes, the kind with actual kickbacks absolutely exists, too.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by AndyNemmity on Friday March 02, 2018 @11:33AM (#16502959)
I don't even know if I call that corruption. Humans are the key part of business, and relationships with contractors are just a reflection of that. That absolutely happens, near constantly. I don't think of that as corruption, as much as in a world of very difficult success, when someone proves they can be successful, and make you feel confident, it makes logical sense to stick with them.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by mkohler on Thursday March 01, 2018 @02:26PM (#16495272)
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by vidanay on Thursday March 01, 2018 @02:37PM (#16495389)
That's.....amazing

It almost gives the impression that an air traffic control system is actually easier (although also failed.)

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by fruzz on Thursday March 01, 2018 @02:58PM (#16495614)
Both are incredibly complex (I am a developer on an air traffic control system.) There are thousands of requirements for voice communications alone.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by raverbashing on Thursday March 01, 2018 @03:19PM (#16495833)
Interesting

In the end, it seems a bit like "why is $social_network hard" I mean, why is it hard to show my my social graph?

And the answer is: it isn't. The issue is building a system that deals with everybody's social graph. Because you have in your social feed one person that has few friends (easy), that other person that is followed by several people and they leave lots of comments (and you are loading their information when the post is shown - and of course there's no way of sharding that so your info can be read from one shard exclusively) and everybody has their list of blocked persons, other permissions than on top of that you have things like "algorithmic reordering", prioritization, paid promotions, etc

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by emmelaich on Thursday March 01, 2018 @07:30PM (#16497744)
Similarly,

Gay marriage: the database engineering perspective

https://qntm.org/gay

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by jessaustin on Friday March 02, 2018 @10:18AM (#16502048)
That article doesn't seem to exist at the moment. For the sake of discussion, let's imagine there was some DB schema somewhere that kept two separate WOMEN and MEN tables. Can we not agree that was always wrong? Gay marriage cannot possibly be the first situation in which that sort of decision caused extra work or inconvenience.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by Demoneeri on Thursday March 01, 2018 @02:19PM (#16495198)
There are multiple rules based on collective bargaining (union).

"The software platform itself, a heavily modified version of Oracle’s PeopleSoft program, had yet to be encoded with many of the payroll complexities faced by a massive and diverse public service, such as unique shift rules for Coast Guard officers or prison guards."

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by j45 on Thursday March 01, 2018 @03:18PM (#16495821)
Decades of different payment rules are anything but simple.

Imagine people hired over the last 50 years. Each at a different rate, pay scale, union, non-union, some people in a position have certain perks, some don't, and it all varies from region to region, province to province, department to department of the government.

I recently oversaw a payroll transformation project in Canada for an energy co at a smaller, but most complex scale according to the payroll vendor.

A few key problem makers add to the payroll mess;

- Accountants and their spreadsheets who think adding one little tweak here or there isn't a big deal. They create so much technical debt. It's not realized, until 10 or 20 simple tweaks on top of each other, and then have to interpret them relative to labor or union rules of each province. Accountants are not a vision of innovation. You will hear many just talk about having to do "manipulations" of data to get it how it should be and quickly losing vision that computers are good calculators and followers of instruction.

- HR / Payroll practitioners do not have enough digital skills on average. Either they can't do the excel work and feel threatened, or do have the excel skills and feel threatened. Either way, change management is a constant threat.

- No one knows how to successfully procure, implement and roll out software as a non-technical manager. Whether it's accounting, hr, payroll, sales, every position is becoming digital first, and the powers that be are not. It's a good case as to why CTO's are needed reporting to CEO's who get the big picture.

Payroll othherwise, is a neat problem on it's own. In my case, the project ended up implementing a larger vendor of payroll that did a decent job that was saved by preparations we made at the CTO level.

Before selecting a vendor, a payroll script capturing the rules for all employees in all regions to calculate everything was developed in-house. It took months of hardening at a few payrolls per month. Using this in-house payroll tool, and not wishing to update it, it was used to hold the screws to the payroll vendor if their output didn't match. Hilarity inevitably ensued.

If someone built the stripe of payroll, it would be something.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by AndyNemmity on Thursday March 01, 2018 @03:32PM (#16495987)
Let alone all the country specific rules. Just that is impossible to deal with properly.
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by j45 on Thursday March 01, 2018 @05:05PM (#16496822)
Absolutely. You reminded me of the pain I blocked out from the project - at the end client decided to go international and now needed to pay people everywhere through separate entities after swearing they never would at the start.

Sadly the "global" payroll vendor did not have a global, multi-entity solution, and required individual accounts to be setup in each country and reconciled.

Creating a new multi-tenant, multi-entity, multi-country compatible mainframe is maybe something that needs further exploration.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by mikekchar on Thursday March 01, 2018 @10:05PM (#16498626)
The headline is misleading. According to the content of the article, the project has been going for 10 years and has spend $460 million. The government has pledged another $431 million in the future to deal with problems going forward.

$460 million over 10 years is $46 million a year, which is still a lot of money, but if you break it down it's not nearly so mystifying. If all the money is being spent by contractors, we could assume that the loaded labour rate of the contractors is about $200K per year. It's been more than a decade since I was in Canada, but I'm guessing this is not an outrageous rate. That breaks down to 230 people working on the project. In truth, the payroll system seems to have been operational for the last 2 years and the system employs 500 employees (it was supposed to replace 1200 employees, thus saving money, but there is no indication if those 1200 were, indeed, replaced). I'm guessing that the $460 million includes those 500 employees for at least 2 years and may also include capital costs to house them (the reporter may not be interested in depreciating capital assets in their report).

So it's hard to say exactly how many contractors worked on this, but it's probably safe to say that there were more than 100. A government project with more than 100 contractors == not possible to succeed in my experience. Just the communication issues alone would be insurmountable. As time wore on and pressure to put something into use grew, the mistakes would have piled up causing absolute mayhem.

Unfortunately this is an all too common occurrence. If you go to any meetup in Ottawa and talk to government contractors I'm sure there will be a couple wiping their brow and saying, "This is a stroke of luck because it will take some of the heat off our our project that is burning even more money".

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by xexers on Thursday March 01, 2018 @03:18PM (#16495826)
The unions have crazy complex pay rules.

For example, in the private sector, if my boss goes away on a 2 week vacation, usually the boss might delegate someone to answer questions and possibly run meetings... but that delegated person doesn't get paid more.

However, the public sector unions have negotiated that the delegated person get a pay bump for those 2 weeks only while the boss is away.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by smnrchrds on Thursday March 01, 2018 @03:25PM (#16495895)
> How many taxing bodies does Canada have? Federal, provincial, and municipal?

For payroll tax, only federal and provincial. Municipalities can only collect property tax, not sales or payroll tax. So, all in all, 14 tax jurisdictions (1 federal, 10 provincial, 3 territorial).

If they were also handling payroll for diplomats and other Canadian employees in other countries, this number could be significantly higher.

Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by uhhhhhhh on Thursday March 01, 2018 @05:54PM (#16497166)
My understanding is its not taxing, its shift work and the thousands of edge cases across the various gov departments that have evolved their pay systems, contracts/union agreements separately
Re:Canada to Scrap IBM Payroll Plan Gone Awry Costing $1B by threeseed on Thursday March 01, 2018 @02:17PM (#16495188)
FTA: ".. had yet to be encoded with many of the payroll complexities faced by a massive and diverse public service, such as unique shift rules for Coast Guard officers or prison guards."