News for hackers. Stuff that matters.
Re:Why Jira Sucks by ajkjk on Thursday December 31, 2020 @03:05PM (#25596556)
I disagree back, but at a different place. "who have to report progress and who are responsible for budgets." is the real problem. It's crazy that progress on engineering is measured in the number of tasks completed. This was one of the points of agile in the first place (to deliver user-stories, rather than engineering tasks) but it has mostly been lost since then, because people who are managing engineers don't know how to think about that at all.

A big engineering endeavor is more like an artistic endeavor that takes multiple people, like a giant sculpture or mural or something, than it is like a construction project. The right way to do it, imo, is to put your faith in a tech lead and a trusted team to deliver it in a timely fashion, and then step back and let them work. They don't need to be delivering tasks on any specific cadence; they need to deliver the overall effort.

More importantly, a tech team needs to be free to do a good job of owning the work they're doing. Properly owning and being invested in something feels basically impossible when someone is demanding you complete little one-off tasks for them -- good technical ownership means having the time and space to zoom out and fix systemic problems, rather than always chasing the next sprint's deliverables.

Of course then the manager comes along and says: well, why don't you just track the systemic problems that you want to fix in Jira? And it seems like a good idea but it ruins it. Having to document and schedule everything you do is completely in opposition to doing the kind of passionate, obsessive engineering that produces the good results.

Re:Why Jira Sucks by ryandrake on Thursday December 31, 2020 @05:11PM (#25597775)
> The right way to do it, imo, is to put your faith in a tech lead and a trusted team to deliver it in a timely fashion

I've been on both sides throughout my career, as the engineering lead sometimes, and as the project manager other times, and let me say, this is often just results in blowing estimates and deferring uncomfortable conversations until after things blow up.

Let's take two projects. Project A is estimated by the eng team to take three months to complete. It's not broken down into tasks that are individually estimated and tracked. Just one monolithic task: Do Project A. The project manager says "go!" and then leaves the tech lead to basically run open loop, maybe with a monthly "So, how are things going, eh?" conversation.

Project B is estimated by the engineering team to take three months, but is then broken into small week-long sub-projects, and days-long sub-tasks, highlighting dependencies. After stacking the tasks up and assigning them to the team, it looks like the project will actually take four months. Throughout development, new tasks are created as bugs are found and assigned priorities. The project manager and eng lead watches the finished/remaining task lists daily or weekly, and can easily tell when something is taking much longer or much shorter than expected, and what other parts that depend on that will be delayed.

Which project do you think has the best chance of making its estimated complete date? If the complete date is actually a deadline, which project can be more easily re-sized half way through if we need to cut scope in order to make it? Which project can the team's boss's boss's boss more easily obtain status information about? How does anyone besides the eng lead know whether Project A is even done?

Re:Why Jira Sucks by ajkjk on Thursday December 31, 2020 @05:29PM (#25597917)
The first approach relies on a lead and a team that actually has the ability to do this style of development. No doubt it would not work with lots of teams in practice, but I think it would work for a lot if they were ever given the option.

Of course the way to do it is not to completely let the team go untethered with monthly checkins. You can still monitor progress, at the tech-lead level. But micromanaging the team members has always seemed hugely detrimental to me. In particular, let the team deliver in chunks: a prototype, a major feature, a reduction in bugs. But let them follow their passions in their day-to-day work.

In my experience, plan B gets something done, but you pay for it by shipping half as much and it's half the quality, plus everyone is unhappy. I guess if all you want is to ship something for a deadline go for it.

edit: to be clear, I don't think you should turn the team totally loose. I just think the right level of external micromanagement is at the scale of weeks, rather than the 'hours' I see useless managers doing in practice.

Re:Why Jira Sucks by ncann on Friday January 01, 2021 @12:20AM (#25601089)
I couldn't agree more. The second approach is definitely more likely to make the deadline. At the same time, it will often result in disgruntled people who just do the minimum possible to ship. The extra meetings and overhead result in less time for actual dev work, and people will be hesitant to make any improvement they deem would be nice to have, no matter how small, because of all the processes it has to go through.
Re:Why Jira Sucks by namdnay on Thursday December 31, 2020 @05:23PM (#25597868)
> A big engineering endeavor is more like an artistic endeavor that takes multiple people, like a giant sculpture or mural or something, than it is like a construction project. The right way to do it, imo, is to put your faith in a tech lead and a trusted team to deliver it in a timely fashion, and then step back and let them work.

My heart wants to agree, and I think that up to a certain level for internal projects you can do this. But at some point that’s just not possible from a business perpective.

Can you imagine going to your client and saying “you know that project you’ve paid us 150M$ for? Don’t worry about it, Bob’s on it, he’s the best. See you in 3 years’ time for the launch!”

Re:Why Jira Sucks by BigJono on Friday January 01, 2021 @12:12AM (#25601049)
That's not the idea. There's a shitload of middle ground between breaking everything down into daily tasks and daily meetings; and disappearing for 3 years until you emerge with a completed product.
Re:Why Jira Sucks by namdnay on Friday January 01, 2021 @08:07AM (#25602986)
I agree and there’s the right balance to be struck. But I’ve worked with big customers on big projects, and the one thing they all have in common is a love of metrics. When you’re spending a lot of money you need to be reassured weekly that all is on track and all is good
Re:Why Jira Sucks by closeparen on Thursday December 31, 2020 @05:39PM (#25597993)
Commercial artistic endeavors are deadly serious about schedules and coordination. Broadway and Hollywood have some of the most intense and impressive project management in the world. They couldn't survive without it.

But it does look pretty different from tech project management. Department heads are not treated as task monkeys. They are treated as being potentially myopic about their own pieces of the puzzle, and given support on integration with the rest of the production.

Re:Why Jira Sucks by ajkjk on Thursday December 31, 2020 @05:52PM (#25598127)
The appropriateness of different styles of planning is based largely on how much the work is labor vs knowledge-work. Programming disproportionately ends up being knowledge work, because everyone is always working in a language, framework, scale, or business area that they don't understand.

After all, programming is a craft that can have things akin to "writer's block" (for instance, being stuck on a bug or design). It's more like writing the script than shooting the movie.