Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Maluco Marinero
Jan 18, 2001

Damn that's a
fine elephant.

necrobobsledder posted:

I think that sales-eng is probably a far more important dynamic and culture overall than so-called devops.

Honest truth. My studio is just me and one other guy and we're both direct contact with clients, sometimes with a design agency between.

We've gotten confident enough in our digital process that we know how to knock back proposed projects with poorly defined specs. Instead we push for workshops of 3-4 hrs with the client, that allows us to unearth hidden assumptions and give us enough material with which to estimate the project.

Because velocity isn't exactly a stable concept when you're switching projects and they're all short lived (100-250 hrs), we just make our points match up with half hours estimated to be spent on a particular feature.

Then when we progress through the job we can map points % completed to budget % spent (we only provide hour estimates, not fixed priced quotes). This way we can also show direct impact to project completion when new stuff gets requested on the board, because story rejections that involve incremental details are added as a new story instead of recycling on the same story.

All of this in the service of exposing the realities of development to the ones requesting features & paying the budget. It's not pure agile but we look at it less as a dogma and more as part of our toolbox to facilitate customer communication.


But I think it all comes back to development being given access to stakeholders, proper access, ability to discuss, people who know how to dig to the bottom of specifications til there's enough of a framework that you won't be surprised.

Sounds like waterfall but we really don't see it that way, because we're still amenable to change, we just expose it and make the impacts of change clear, while ensuring the big ideas are largely understood before we proceed.

Adbot
ADBOT LOVES YOU

Iverron
May 13, 2012

Che Delilas posted:

There was some whining from the product owner about tasks being on the board for such a long time, as if he expected vague epics to get done in two weeks just because we were doing two week sprints. But we haven't been officially reprimanded for not getting things done or anything like that. I think that's partly because we do make lots of incremental progress on our tasks (they're just huge epic tasks so at the high-level overview of the product roadmap it doesn't look like it moves very fast).

And partly because we're on a skeleton crew and we have approximately 8 years of new development in our "our customer wants this soon" pile, and they know if they start yelling at us about their complete inability to plan or staff correctly, people are just going to get a new gig that at least pays better, and the company is going to be in even more dire straits.

It sounds kind of bad writing this out but really the situation isn't really stressful. We are so far underwater when it comes to imminent fetures and overpromises that there's no amount of extra effort we could put in that would even make a significant dent. So it's just, get done what we can get done, and let the business people deal with the consequences.

That doesn't sound too bad. Management that has any grasp of what to avoid doing that would push away the guys who won't have any issues finding better work is decent enough.

The underwater problem usually explodes for us not internally but externally when the client has been either over promised or is simply unreasonable. That shouldn't involve Developers, but we inevitable get pulled in to talk said client off the cliff because no one else really understands the product.

Hughlander
May 11, 2005

My preferred way is WIP limits for Scrum and Kanban for teams with large amount of support contingencies but that still deliver projects do so in a Kanban style with a velocity burn down.

Bruegels Fuckbooks
Sep 14, 2004

Now, listen - I know the two of you are very different from each other in a lot of ways, but you have to understand that as far as Grandpa's concerned, you're both pieces of shit! Yeah. I can prove it mathematically.

Pollyanna posted:

That is the broken down version. What I end up doing is looking at the parent story and writing down the requirements/my own breakdown in the ticket before I work on it, just so people aren't like "BUT I EXPECTED THIS" because I constantly run into that problem and am extremely sick of it. :shepicide:

I have a question. When is it appropriate to use a Scrum-like approach, and when is it more appropriate to use a Kanban-like approach? I've found that for projects that aren't super heavily structured and are kind of pick-things-up-and-work-on-them like ours, Kanban works way better than Scrum because nobody really knows how much is gonna be worked on and when things will be done. v:v:v (But we still do Scrum because management is absolutely terrified of not having numbers and estimates and things to judge worth, value, and performance with.)

Scrum is used when your company has recently decided that the whole "agile" thing is a good idea and hired a bunch of consultants to give everyone planning poker cards.

Kanban is used when scrum is not working for your company because it doesn't have enough of an attention span to group stuff into sprints/split user stories into sprint-sized chunks/complete work in time boxed sprints. As near as I can tell, Kanban involves stacking a bunch of tasks into a queue, prioritizing them, and continuing to execute until you run out of tasks, but still filling in the same reports and calling stuff sprints. It's like being a Mennonite instead of being Amish - you dress the same way, but don't quite do all the crazy stuff the consultants tell you to do.

Keep in mind I've never worked a place where doing scrum didn't seem like getting paid to play Dungeons and Dragons, so maybe there are like true believers?

Messyass
Dec 23, 2003

I know Kanban doesn't have many rules per se, so it's hard to even do it wrong, but every implementation described on these last two pages sounds like an abomination.

The idea is to visualize the entire flow of a piece of functionality and to make sure there's a shared responsibility between biz/dev/ops to pull it through as quickly as possible.

If the problem is that not enough stories are ready than that is exactly what Kanban will make visible (you do need to have an agreed upon Definition of Ready). Kanban isn't going to solve the problem for you though. Again, that's the shared responsibility of everyone involved in the process.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Messyass posted:

I know Kanban doesn't have many rules per se, so it's hard to even do it wrong, but every implementation described on these last two pages sounds like an abomination.

The idea is to visualize the entire flow of a piece of functionality and to make sure there's a shared responsibility between biz/dev/ops to pull it through as quickly as possible.

If the problem is that not enough stories are ready than that is exactly what Kanban will make visible (you do need to have an agreed upon Definition of Ready). Kanban isn't going to solve the problem for you though. Again, that's the shared responsibility of everyone involved in the process.
Anecdotally, having fewer rules seems to make it easier to do it wrong, because you not only need to exercise discipline, you also need good judgment. You can't rely on someone else's canned process to save you.

Steve French
Sep 8, 2003

Vulture Culture posted:

Anecdotally, having fewer rules seems to make it easier to do it wrong, because you not only need to exercise discipline, you also need good judgment. You can't rely on someone else's canned process to save you.

I love the (perhaps unintentional and unfair) implication that you actually can rely on scrum to do this for you

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.

Steve French posted:

I love the (perhaps unintentional and unfair) implication that you actually can rely on scrum to do this for you
Certainly not. I was comparing Kanban to prescriptive frameworks like ITIL, COBIT, PRINCE2, and the like.

smackfu
Jun 7, 2004

Do you point bugs or not? We have not but our new product owner wants to because they can't get a sense of what will actually be delivered if people work on bugs and that delays stories.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

smackfu posted:

Do you point bugs or not? We have not but our new product owner wants to because they can't get a sense of what will actually be delivered if people work on bugs and that delays stories.

Yes. Bugs should be prioritized, given point estimates, and assigned to sprints. Ideally, the product owner will agree that bugs come first and that they shouldn't be delayed just to get more new features, especially since bugs tend to beget more bugs and make it harder to implement new features in the first place.

Che Delilas
Nov 23, 2009
FREE TIBET WEED

New Yorp New Yorp posted:

Yes. Bugs should be prioritized, given point estimates, and assigned to sprints. Ideally, the product owner will agree that bugs come first and that they shouldn't be delayed just to get more new features, especially since bugs tend to beget more bugs and make it harder to implement new features in the first place.

We're trying a thing where product gives us their priorities and we then inject stuff we know needs to happen into that list where we think it should go and then pull from that. We will then have a brutal cage match to agree on the final sprint goal. Note that this does not mean we're taking the same amount of tasks from the product team and just piling on more poo poo, product priorities are getting sacrificed as we decide that this bug or piece of technical debt is more important.

So far it seems to be going pretty well; we're getting stuff into the sprint that circumstances were forcing us to do (and therefore not just faking it by committing to extremely light sprints just to leave time for us to do "non-sprint work"). Product hasn't bitched at us for not getting enough features into the sprint (yet; we'll see what happens when we try to make the argument that we can't get any features into a sprint because of our crippling technical debt that we simply cannot let sit anymore, that'll be a fun day). Interested to see where this goes.

Truman Peyote
Oct 11, 2006



My team assigns all bugs story point values of zero on the grounds that they represent work left over from the original story. Since this work belongs to that ticket, their story point value has already been captured in that ticket. This is a stupid system that doesn't do anything except reduce the quality of our metrics.

Hughlander
May 11, 2005

Makeout Patrol posted:

My team assigns all bugs story point values of zero on the grounds that they represent work left over from the original story. Since this work belongs to that ticket, their story point value has already been captured in that ticket. This is a stupid system that doesn't do anything except reduce the quality of our metrics.

It also intrinsically encourages crunch. You have 40 new story points and 10 bug points to do when 40 hour weeks get you 40 points of velocity. Guess everyone needs to do 50 hours this sprint to meet the story goals!

john donne
Apr 10, 2016

All suitors of all sorts themselves enthral;

So on his back lies this whale wantoning,

And in his gulf-like throat, sucks everything

That passeth near.

Makeout Patrol posted:

This is a stupid system that doesn't do anything except reduce the quality of our metrics.

This should really be the thread title

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

New Yorp New Yorp posted:

Yes. Bugs should be prioritized, given point estimates, and assigned to sprints.
How do you give a point estimate to a bug if you're not even sure what's causing the bug? Don't those estimates end up being glorified timeboxes?

leper khan
Dec 28, 2010
Honest to god thinks Half Life 2 is a bad game. But at least he likes Monster Hunter.

Sagacity posted:

How do you give a point estimate to a bug if you're not even sure what's causing the bug? Don't those estimates end up being glorified timeboxes?

You can base the estimate on how long it's taken to track down and resolve bugs in that system or systems of similar complexity in the past. Type of error can factor in as well.

All estimates are glorified time boxes?

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.

leper khan posted:

All estimates are glorified time boxes?
Excellent point :)

vonnegutt
Aug 7, 2006
Hobocamp.

Makeout Patrol posted:

My team assigns all bugs story point values of zero on the grounds that they represent work left over from the original story. Since this work belongs to that ticket, their story point value has already been captured in that ticket. This is a stupid system that doesn't do anything except reduce the quality of our metrics.

I had a manager who did this for a while. He thought we should do it out of a sense of "pride in our work". For being someone who loved to talk about being a "rational actor" all the time, he sure didn't understand the concept of perverse incentives, and kept insisting that the team would "just take care of" stuff that wasn't being rewarded and was in some cases actively being punished. For example, "bugs" were filed by the support team, so fixing them required talking with the support team and occasionally the original user, which occasionally took days to resolve to support's satisfaction. Then we would get chewed out at our weekly velocity meeting about why we weren't meeting our goals.

smackfu
Jun 7, 2004

The tricky bit is that sometimes the people suggesting zero point bugs are also suggesting that bugs should be extremely rare. That most things that passed acceptance criteria should only have features to change them, not bugs. So in that environment, bug points are not that important and whether they are zero on principle or given points doesn't really matter.

It's not much of an answer to a project owner who says, "if I prioritize a lot of bugs this week, that makes the contents of this sprint completely incorrect???"

Sagacity
May 2, 2003
Hopefully my epitaph will be funnier than my custom title.
But if you have zero-point bugs and your velocity goes down because of that, isn't that then a valid metric as well? I mean, it shows you're spending more and more time fixing bugs than actually working on stories, which seems like a very useful indication that somewhere in the development process (not necessarily development) something is not going as planned.

You shouldn't be chastised for the drop in velocity obviously, that makes little sense.

KoRMaK
Jul 31, 2012



Zero points bugs???

If I gotta fix a bug, and it's in my sprint, it's getting a point estimate.

New Yorp New Yorp
Jul 18, 2003

Only in Kenya.
Pillbug

Sagacity posted:

But if you have zero-point bugs and your velocity goes down because of that, isn't that then a valid metric as well? I mean, it shows you're spending more and more time fixing bugs than actually working on stories, which seems like a very useful indication that somewhere in the development process (not necessarily development) something is not going as planned.

You shouldn't be chastised for the drop in velocity obviously, that makes little sense.

It's trivial to look at points from bugs vs points from stories in basically every tool used to track that kind of thing. Effort spent on bugs is still effort, and it should still be tracked and understood for sprint planning purposes. Your velocity isn't actually dropping when bugs are being fixed. If the team typically completes 100 points of work in a sprint but is spending 20% of their time fixing bugs, their velocity is still 100, regardless of where the effort is being expended.

vonnegutt
Aug 7, 2006
Hobocamp.

Sagacity posted:

You shouldn't be chastised for the drop in velocity obviously, that makes little sense.

Right, that's where the whole thing breaks down. If you have a metric, (most) management is going to reward that metric more than something without a number attached. Even without explicit rewards/punishments, people will work to a metric more if given the choice, because it's public and visible. It's incentivized. And that means it will be gamed. In this case, the best way to get the "Points" to go up was to do greenfield development on stories that had lax acceptance criteria. You can imagine what the quality of the code looked like with this as the sole metric.

Bugs, tech debt, and other "non-productive" code quality stories should absolutely be given equal points as feature development. Then priorities can be set accordingly.

baquerd
Jul 2, 2007

by FactsAreUseless

Sagacity posted:

But if you have zero-point bugs and your velocity goes down because of that, isn't that then a valid metric as well? I mean, it shows you're spending more and more time fixing bugs than actually working on stories, which seems like a very useful indication that somewhere in the development process (not necessarily development) something is not going as planned.

You shouldn't be chastised for the drop in velocity obviously, that makes little sense.

Velocity should be treated like a closely guarded secret that must never be released outside the scrum team. If you let the secret out, it will become useless.

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug
The core problem is that you have people who want to measure and quantize something you can't measure and quantize. Development is a creative process with a gently caress ton of variables. The boss wants a hard set of numbers but actual developers know that you can give estimates at best. There is just no simple measure of anything.

KoRMaK
Jul 31, 2012



Me and my team have been able to mostly quantize the dev process. It's not as shoot from the hip creative as I used to think.

There is still blurryness, but it can be made small enough to be tolerable.



My process goes:
1) Spec gets delievered
2) Spec gets evaluated by dev, questions clarified, etc
3) Spec should be in a spot where it is estimatable. This is still high level here, but it can be estimated. My estimates can range from as small as 30 minutes to days, depending on how blurry the thing is I'm doing
4) Spec estimates get approved and broken up into smaller chunks
5) When a task gets brought into the sprint, it gets thought through enough to break it into 3 hour or less chunks. A big helper for getting clarity on blurry stuff is that a blurry task usually needs research and design before it can be implemented, so that is another task (or tasks) in of themselves. e.g. If I have a 1 day long task - that means its very blurry. I can at least break that up into 3 hrs of research, 3 hours of design, 3 hours of implementation and 1 to 2 hours of writing tests.

Shadowhand00
Jan 23, 2006

Golden Bear is ever watching; day by day he prowls, and when he hears the tread of lowly Stanfurd red,from his Lair he fiercely growls.
Toilet Rascal
I have to say, for work related stuff, this thread is one of the best on the forums if only because it keeps me mindful of what developers go through when they're interacting with anyone outside of their immediate team.

CPColin
Sep 9, 2003

Big ol' smile.
After that year of lobbying for a job title change to "Senior Java Architect" and winning the "Technology Leader" award at the company party, which I told my boss I wouldn't attend because failing to get an annual award every year makes me feel bad, the company decided they didn't need an architect after all! I did it, everybody! :waycool:

spiritual bypass
Feb 19, 2008

Grimey Drawer
Cool, I got fired for cryptic reasons today too :hfive:

ChickenWing
Jul 22, 2010

:v:

:yotj:

Che Delilas
Nov 23, 2009
FREE TIBET WEED

smackfu posted:

The tricky bit is that sometimes the people suggesting zero point bugs are also suggesting that bugs should be extremely rare. That most things that passed acceptance criteria should only have features to change them, not bugs. So in that environment, bug points are not that important and whether they are zero on principle or given points doesn't really matter.

The one blaring alarm in my head when I started learning about Agile methodologies came from this idea, that bugs were going to be very rare. My first question was basically, "that's nice but what about the real world?" In an ideal situation you might be able to get close to that but how often do you get "ideal?" I'll just go ahead and treat bugs like they exist and require work.

KoRMaK
Jul 31, 2012



Che Delilas posted:

In an ideal situation you might be able to get close to that but how often do you get "ideal?" I'll just go ahead and treat bugs like they exist and require work.
Yes

Bongo Bill
Jan 17, 2012

Every bug happens because a previous story was done wrong.

If this happened because it was accepted when it should not have been, then the effort spent on "fixing" it is actually additional effort correctly implementing a rejected story. If it's like that, there's a case to be made that the bug should not be estimated, because the ensuing reduction in velocity is actually accurate - it really did take that amount of time to do it right, and consistently measuring it that way will account for the friction introduced by inevitable human errors. This carries the caveat that it takes a very disciplined organization to process that information effectively; it can exacerbate the consequences of existing bad incentive structures, to say nothing of the complications introduced by prioritization.

On the other hand, if the bug is something that was not touched on in the original story, then it's better thought of as an expansion of the scope of that story. That means it merits re-estimation, and the difference between the original estimate and the new one might as well be applied to the bug itself.

Most teams are probably better off estimating bugs.

I mean, ultimately, like everything else, it comes down to "Why is this being measured?"

Bongo Bill fucked around with this message at 04:21 on Jan 5, 2017

KoRMaK
Jul 31, 2012



Yea, you are right about that fixing broken past mistakes and promissies could be theoretically billed to past stories, and should be charged at 0 currency now to address

BUT IF I DID THAT I WOULD NEVER GET ANYWHERE. NEITHER WOULD MY TEAM

My whole life is addressing past mistakes! That's where the inspiration for my best features comes from. Every feature should be billed as an exponential debt to past mistakes!

ToxicSlurpee
Nov 5, 2003

-=SEND HELP=-


Pillbug
Sometimes bugs also come up because that one library when updated decided not to play nicely with that one other library. Or that one hack you did that got everything working 100% of the time at that time turns out to only be 99% effective two months later. Other times you had a tight deadline coming up so you cobbled together anything that works as desired. Hell other times a hardware upgrade makes everything explode.

Other times it's just plain ol' human error. Making bugs "very rare" is a pipe dream for anything more complex than a hello world. Anybody who believes bugs can be totally prevented or eliminated doesn't understand what programmers do.

A significant chunk of what programmers do is fix inevitable bugs.

necrobobsledder
Mar 21, 2005
Lay down your soul to the gods rock 'n roll
Nap Ghost
Agile gets even wonkier when you mix in operations work trying to keep a site reliable and healthy while features are being deployed rapid-fire. Sometimes it manifests in a bug, but the effort to research and discover it is oftentimes lost - wtf does that count as then? In pathological cases, engineers will work hard fixing numerous bugs or helping unblock others due to poor comprehensibility of the codebase, getting zero credit for the effort necessary to do even basic tasks, and being summarily fired for fixing the problems caused by others that kept their heads down rather than addressing fires burning in front of them - this literally happened to a guy I worked with.

Without following or adequately addressing Deming's 14 points of quality management, I've seen most places regress to the negative social tendencies that drove an organization to "go Agile" in the first place precisely because most low-performing organizations do not practice any of the points. Agile does almost nothing to stop people from breaking all of the principles, so it does not address quality of output by a group of people whatsoever. Adding extra stakeholders might address the one part about eliminating barriers between people, but half the time that's not even Agile, it's (enterprise) devops.

Steve French
Sep 8, 2003

Also, scaling problems, for example. Maybe not a bug, but also not a user story?

But running into a scaling issue doesn't mean the story for the feature that is no longer scaling was done "wrong" since it may have been an entirely correct and reasonable approach to the problem when originally built.

Unless you're of the opinion that tech debt is never worth incurring and everything should be built to scale as much as it'll ever possibly have to from step 1.

redleader
Aug 18, 2005

Engage according to operational parameters
Obviously your PO needs to enter an epic to update your stuff to support a certain scale of operation, which will then get broken down, sized, prioritized and assigned to sprints as appropriate for the business!

Messyass
Dec 23, 2003

Just stop estimating effort, unless it is to make an honest decision whether to deliver a certain feature or not. And in that case demand that at least the same amount of energy is devoted to estimating the value of the feature.

Adbot
ADBOT LOVES YOU

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

This last page I am seriously lost if people are being serious, sarcastic or ironic.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply