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
Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Sinten posted:

Management consulting + "Agile" = :negative:
To be honest, I think it mostly goes to show that the leadership levels have no idea how to manage agile and grasp at all straws to be able to control the process. On another defeatist note, I think in general the amount of non-scientific and unproven bullshit is super high in most companies and leadership is mostly like a captain on a ship into unmapped territory. Let's pretend everything is fine and I know where I am going, so the seamen feel confident enough to keep working. In a way this actually makes sense, as the future is always uncertain... There must be an agile methodology in there somewhere.

Project Manager -> Scrum Master -> Captain
Business Owner -> Product Owner -> Navigator
Process -> Sprint -> Exploration Journey
Target product -> Epic -> Land Ahoy! / Discover New Land
Project Exception -> Impediment -> Rough Seas
etc

Now create a bunch of cool slides, allow everyone to dress up if they want to and let the money flow in. I call it "Discovery Development: Agile Exploration for Software Sailors".
It needs more boat and shipping terms in there, but I am not that much into this kind of thing but can probably crowdsource some of this to the forums.

Adbot
ADBOT LOVES YOU

Carbon dioxide
Oct 9, 2012

https://luis-goncalves.com/sailboat-exercise-sailboat-retrospective/



It's a common retrospective exercise.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Carbon dioxide posted:

It's a common retrospective exercise.
It lacks pirates and storms and is thus inferior to DD:AeSS, pronounced as Dees Aess, like "The Seas", not like "Deez rear end" as some landlubbers do.

FRINGE
May 23, 2003
title stolen for lf posting

Vulture Culture posted:

Knowing how to spot interesting and actionable patterns in messy, potentially unstructured data is a vastly different discipline and skillset from what people have traditionally called a statistician

OTOH calling it a science may also be a stretch

I'm going to be a data artist when I grow up.

Macichne Leainig
Jul 26, 2012

by VG
I wonder at what point we'll stop using bullshit metaphors and just admit that, as a whole, we have no idea how to efficiently develop software.

Vulture Culture
Jul 14, 2003

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

Protocol7 posted:

I wonder at what point we'll stop using bullshit metaphors and just admit that, as a whole, we have no idea how to efficiently develop software.
This is a lie, but efficient methods are so context-dependent and not whatsoever generalizable

Macichne Leainig
Jul 26, 2012

by VG

Vulture Culture posted:

This is a lie, but efficient methods are so context-dependent and not whatsoever generalizable

I’m just being a facetious rear end in a top hat.

I dog on SAFe a lot but it did a good job fixing the problem with my previous employer, being that pretty much every department worked independently of the others, and as much of a pain in the rear end PI Planning was, it was still valuable. It has its own problems but contextually it did solve a big problem with that company.

Really, though, I think the people are more important than the methodology, because if people aren’t willing to play along it’ll eventually grind the whole system to a halt. But for me, playing along means following the methodology, but I’m not going to enjoy a fluff meeting with someone trying to dish out an awkward metaphor. We aren’t all sailors on a ship or climbers trying to reach the apex of a mountain or something.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Protocol7 posted:

We aren’t all sailors on a ship

That is because you company did not buy the premium package of "The Seas"(tm) yet!

the talent deficit
Dec 20, 2003

self-deprecation is a very british trait, and problems can arise when the british attempt to do so with a foreign culture





this seems okay:

https://basecamp.com/shapeup

ultrafilter
Aug 23, 2007

It's okay if you have any questions.


The problem isn't how to build good software. The problem is how to get the business people on board with what it takes to build good software.

Vulture Culture
Jul 14, 2003

I was never enjoying it. I only eat it for the nutrients.
I've been using this as a guidebook to direct internal products for the past few weeks, and so far, so good

ultrafilter posted:

The problem isn't how to build good software. The problem is how to get the business people on board with what it takes to build good software.
Also called, unpopularly, "how to build good software"

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

ultrafilter posted:

The problem isn't how to build good software. The problem is how to get the business people on board with what it takes to build good software.

And there you have the reason for a lot of methodologies. Not to help devs write better software but to get business on board by hiring consulting that will implement some methodology over the "just what I say today" way of working.

Cuntpunch
Oct 3, 2003

A monkey in a long line of kings

I fear the problem is in personnel. No matter how clearly a successful organization can identify and describe what works wonders for them - it works for them because of the people that are executing it, not because the methodology itself is profound.

shrike82
Jun 11, 2005

There's nothing really unique about how software development projects fail (relative to other industries) except the specific project management dialect used.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Cuntpunch posted:

I fear the problem is in personnel. No matter how clearly a successful organization can identify and describe what works wonders for them - it works for them because of the people that are executing it, not because the methodology itself is profound.

Distilling further: "Successful companies hire the right people for how the company works."
Sounds about right.

Hollow Talk
Feb 2, 2014

Keetron posted:

Distilling further: "Successful companies hire the right people for how the company works."
Sounds about right.

Not really, though. Successful companies try to continue to succeed with the people that stay after they have been hired based on past practices and successes.

Every new hire might or might not stay, and might or might not influence how the company works. "The company" isn't an unchangeable entity, and being "successful" is not a permanent guarantee. Culture, cultural fit, success, and methodologies only ever exist at a point in time. Hiring "the right people" based on your current success might or might not lead to further success.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon
I've always thought that the big problem is that all the agile methodologies are designed to solve problems at the team level with short time spans, but companies need to think at a large level with long horizons and contractual deadlines, and one's figured out how integrate agile at that level. Some companies use SAFE, some use OKRs, and some use this thing where three times a year everyone throws out agile and "plans" every story you want to do. That's my favorite.

Macichne Leainig
Jul 26, 2012

by VG

Hollow Talk posted:

Hiring "the right people" based on your current success might or might not lead to further success.

Even then, "the right people" can change at the drop of a hat. Putting someone on a new team could improve or worsen their performance based on so many team-specific factors alone.

I've seen it myself, I had a coworker who was thriving on one team, moved to a different team to work on newer and "cooler" things, his performance tanked, and then he got canned.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Protocol7 posted:

Even then, "the right people" can change at the drop of a hat. Putting someone on a new team could improve or worsen their performance based on so many team-specific factors alone.

I've seen it myself, I had a coworker who was thriving on one team, moved to a different team to work on newer and "cooler" things, his performance tanked

Oh hey look it's me whenever someone assigns me to do front end or serverside, things I'm not good at!

Rubellavator
Aug 16, 2007

Volmarias posted:

Oh hey look it's me whenever someone assigns me to do front end or serverside, things I'm not good at!

What are you then, some kind of middleware man?

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!
Teams also decide to change. The team I'm on isn't really working on the things that were planned and discussed with me last year before I joined. I'm going to work on a few interesting things here in the next month or two, but after that I don't know if there will be much left. They're supposed to have an 18 month plan ready soon, which will at least establish 6mo of projects and/or focus, so I'm hoping to know by the end of this month if I'm working within my current team or taking to managers about doing other things inside this org.

... Or talking to other entirely different groups within or without the company. :ohdear:



Lately I've been thinking that effective software development teams would be nothing more than consultants with short term individual ownership of delivery. Small modification or reconfiguration would be permitted, but there would be no endless refactoring and rebuilding. Code that doesn't solve a problem would simply be thrown out as unmaintainable, inextensible, etc. Any code that isn't modular enough would be dropped as "poor design". Everything in production use would be "this should do one thing well and here's the interface".

Of course there are a handful of things that benefit from optimized, compiled, tightly coupled components, but it seems like most big balls of mud are too tightly coupled and don't provide those benefits (nor need to in most applications), instead just serving to over-complicate support and maintenance of the product.

Vulture Culture
Jul 14, 2003

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

lifg posted:

I've always thought that the big problem is that all the agile methodologies are designed to solve problems at the team level with short time spans, but companies need to think at a large level with long horizons and contractual deadlines, and one's figured out how integrate agile at that level. Some companies use SAFE, some use OKRs, and some use this thing where three times a year everyone throws out agile and "plans" every story you want to do. That's my favorite.
OKRs really don't solve this class of problem well at all. They perform best in cases where there's a quantifiable goal that people can make tiny needle-shifts towards. My favorite example from the John Doerr book was when Susan Wojcicki talked about setting a four-year company OKR for YouTube of a billion hours in daily user watch time. It was a clear, actionable metric, and anyone who had an idea was empowered to act on it in order to increase eyeballs and user engagement. This worked because it was iterating on an established core value proposition in a way that anyone could get behind. When you have a major initiative that's operating as a feature factory for the fulfillment of distant contracts, how would you structure that OKR? Everything's destined to become a sales metric.

But OKRs are also agnostic to the underlying methodology used to structure work. They focus on delivering measurable results and avoid prescription of how teams are organized, what critical paths look like, how work is done or how far in the future it's planned/estimated. Their initial A-list proponent was Andy Grove at Intel, who as a hardware business were not particularly known for their embrace of agile methodologies.

Vulture Culture
Jul 14, 2003

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

PhantomOfTheCopier posted:

Lately I've been thinking that effective software development teams would be nothing more than consultants with short term individual ownership of delivery. Small modification or reconfiguration would be permitted, but there would be no endless refactoring and rebuilding. Code that doesn't solve a problem would simply be thrown out as unmaintainable, inextensible, etc. Any code that isn't modular enough would be dropped as "poor design". Everything in production use would be "this should do one thing well and here's the interface".
There's no objective valuation of what "one thing well" even means as a cultural value. "Designs" are accumulations of point-in-time tradeoffs that hopefully amount to something comprehensible. Doing one thing well implies doing everything else poorly, which sounds great when you're talking about having a work queuing system that happens to be terrible at automatically converting pop songs into MIDI. It sounds less great when being really performant means forcing people into an event-driven architecture when what they really want for their developer use case is something that stores the whole state in memory, or when having a great experience for new users means endless footguns for security (see: PHP 4). Modularity is a great theoretical requirement until you land at FizzBuzz Enterprise Edition (in my opinion, most software needs less modularity, not more).

PhantomOfTheCopier posted:

Of course there are a handful of things that benefit from optimized, compiled, tightly coupled components, but it seems like most big balls of mud are too tightly coupled and don't provide those benefits (nor need to in most applications), instead just serving to over-complicate support and maintenance of the product.
All the balls of mud I've worked on grew organically out of systems that did the opposite: they were too modular, ambitious, and aspirationally architected, to the point where it was easier to build a feature the wrong way by bolting it somewhere it didn't belong, because that thing supplied some of the scaffolding or plumbing already, as opposed to purpose-building a thing to just do the loving job.

Keetron
Sep 26, 2008

Check out my enormous testicles in my TFLC log!

Vulture Culture posted:

All the balls of mud I've worked on grew organically out of systems that did the opposite: they were too modular, ambitious, and aspirationally architected, to the point where it was easier to build a feature the wrong way by bolting it somewhere it didn't belong, because that thing supplied some of the scaffolding or plumbing already, as opposed to purpose-building a thing to just do the loving job.

And then people are afraid to refactor when they recognize a part is bolted on wrong because they are unsure how to get the time for that.

Xik
Mar 10, 2011

Dinosaur Gum

Volmarias posted:

Oh hey look it's me whenever someone assigns me to do front end or serverside, things I'm not good at!

Rubellavator posted:

What are you then, some kind of middleware man?

I just saw a recruiter post this on linkedin and thought of this exchange.



I think the worst part for me is that it was posted by someone from a well respected talent/recruiting agency over here.

Vulture Culture
Jul 14, 2003

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

Keetron posted:

And then people are afraid to refactor when they recognize a part is bolted on wrong because they are unsure how to get the time for that.
I mostly agree with the general sentiment that most cosmetic refactors (i.e. not to support a known upcoming product need) are like unplugging and redoing a patient's IVs because the tubes look messy at a distance

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Rubellavator posted:

What are you then, some kind of middleware man?

I do Android development, preferably the more under the covers stuff. I'll touch UI stuff as needed, but it's not my preference or my forte. I'm happy to let someone else write the backend for me.

So, yeah, I guess Middleware isn't the worst way to describe it?

feedmegin
Jul 30, 2008

Volmarias posted:

Oh hey look it's me whenever someone assigns me to do front end or serverside, things I'm not good at!

I mean, I mostly write microcontroller firmware, which end am I working on?

Spring Heeled Jack
Feb 25, 2007

If you can read this you can read

Vulture Culture posted:

I mostly agree with the general sentiment that most cosmetic refactors (i.e. not to support a known upcoming product need) are like unplugging and redoing a patient's IVs because the tubes look messy at a distance

Not if the tubes are tangled in a way that would cut off the supply if not addressed.

Ask my about the mobile app my company spent ~1 year designing that does not look good.

lifg
Dec 4, 2000
<this tag left blank>
Muldoon

Vulture Culture posted:

OKRs really don't solve this class of problem well at all. They perform best in cases where there's a quantifiable goal that people can make tiny needle-shifts towards. My favorite example from the John Doerr book was when Susan Wojcicki talked about setting a four-year company OKR for YouTube of a billion hours in daily user watch time. It was a clear, actionable metric, and anyone who had an idea was empowered to act on it in order to increase eyeballs and user engagement. This worked because it was iterating on an established core value proposition in a way that anyone could get behind. When you have a major initiative that's operating as a feature factory for the fulfillment of distant contracts, how would you structure that OKR? Everything's destined to become a sales metric.

But OKRs are also agnostic to the underlying methodology used to structure work. They focus on delivering measurable results and avoid prescription of how teams are organized, what critical paths look like, how work is done or how far in the future it's planned/estimated. Their initial A-list proponent was Andy Grove at Intel, who as a hardware business were not particularly known for their embrace of agile methodologies.

You're probably right. It was John Doerr's book that led me to think that some companies are using them well to lead hundreds of smaller agile teams.

Surprise T Rex
Apr 9, 2008

Dinosaur Gum

Spring Heeled Jack posted:

Ask my about the mobile app my company spent ~1 year designing that does not look good.

My last company spent a year and a bit, 28 sprints or so, building an app that in the end looked like every Babby's First Material Design App tutorial. I think the original estimate was 7 sprints.

That whole project was a shitshow, actually. They spent about £1m on it because they hired an expensive digital agency based in London to do the brunt of the work, despite being a software company with a dev team on staff. All it had to do was scan barcodes and post some data to an API, then show the user some details about the product they scanned.

The agency was charging us £500+ per day per dev, which for London I guess isn't unreasonable, but most of the devs we got had never worked with C# or .Net before, so they kept asking us extremely basic questions. None of the contractors stayed on the project for longer than a couple of months, some of them would pick up extremely small tickets and spend two weeks on it with no progress at all, and in one case we had a "Senior" contractor working with us, who'd only been a developer for around a year. One agency dude giving progress presentations to the managers started writing the "X tickets not done" thing in green so it'd look slightly better at a glance.

When we finally released it (and moved onto something else), the first B2B customer to touch it found so many showstopper bugs they threatened to break the contract and stop working with us entirely. Cue organizational panic, lots of "how could this happen?" and a drop-everything-else, three-month firefighting session loosely organised into sprints where every ticket was basically the Product Owner pasting a link to a crash report on our logging tool.

About 6 months later they made us redundant, saying there were "too many long-distance communication issues" since we were based a couple of hours away from them. They've been trying to hire a new dev team for about 8 months now I think, and as far as I know, they only have a dev manager, one dev, and two contractors to fill the gaps because they're offering not-London salaries in a very commutable-to-London area.

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.

Volmarias posted:

I do Android development, preferably the more under the covers stuff. I'll touch UI stuff as needed, but it's not my preference or my forte. I'm happy to let someone else write the backend for me.

So, yeah, I guess Middleware isn't the worst way to describe it?

I guess you could call that application layer/service layer.

Middleware in a web app is generally a bridge between layers - an example of middleware I've worked on is token authentication middleware so that the developers of individual web apps in our own enterprise app don't have to roll their own authentication, they just call my methods in startup and voila, we all authenticate using token auth without them having to worry about authentication themselves.

Volmarias
Dec 31, 2002

EMAIL... THE INTERNET... SEARCH ENGINES...

Bruegels Fuckbooks posted:

I guess you could call that application layer/service layer.

Middleware in a web app is generally a bridge between layers - an example of middleware I've worked on is token authentication middleware so that the developers of individual web apps in our own enterprise app don't have to roll their own authentication, they just call my methods in startup and voila, we all authenticate using token auth without them having to worry about authentication themselves.

I'm aware of what middleware is, and yes service layer or app layer is a better description, but it was also a joke.

feedmegin posted:

I mean, I mostly write microcontroller firmware, which end am I working on?

Is your micro controller a web service, or is it a GUI?

CPColin
Sep 9, 2003

Big ol' smile.
Hell is that one coworker who always replies to multiple-recipient email threads by walking over to your office and giving a verbal update, no matter how many times you remind them to please reply-all to the email so everybody's in the loop.

trem_two
Oct 22, 2002

it is better if you keep saying I'm fat, as I will continue to score goals
Fun Shoe

CPColin posted:

Hell is that one coworker who always replies to multiple-recipient email threads by walking over to your office and giving a verbal update, no matter how many times you remind them to please reply-all to the email so everybody's in the loop.

That, or the remote equivalent of a direct message reply in Slack.

:murder:

Macichne Leainig
Jul 26, 2012

by VG
Bonus points for someone replying to an email far back in the chain hours after the email has already been replied to, splitting the email chain into a fork of unintelligible thoughts.

PhantomOfTheCopier
Aug 13, 2008

Pikabooze!

Vulture Culture posted:

There's no objective valuation of what "one thing well" even means as a cultural value.
You've identified your problem; now you get to fix it.

Why should the bulk of software design be based on subjective cultural values? Priority of requests can certainly be established via such subjective or statistical measures, but functionality is a matter for objectivity. You're not getting code approved that just doesn't work, independent of what you might claim as your cultural value.

quote:

"Designs" are accumulations of point-in-time tradeoffs that hopefully amount to something comprehensible.
No. Those are called "hacks", "extensions", "scope creep", "making it do something it wasn't designed to do". The bailing wire holding on your muffler is an accumulated p.i.t. trade-off, but it is not "design".

quote:

Doing one thing well implies doing everything else poorly
False dichotomy. It could also mean not trying to do those things at all. Maybe those things should be left to other tools better able to do them. I don't tape a hammer to my circular saw to pound nails, and I don't need to make my text editor speak SMTP. I can utilize tools that do those things well.

One of us hasn't passed this way before. I'm not sure which way or where, but I'm certain we've arrived at different places.

shrike82
Jun 11, 2005

quote:

Why should the bulk of software design be based on subjective cultural values? Priority of requests can certainly be established via such subjective or statistical measures, but functionality is a matter for objectivity. You're not getting code approved that just doesn't work, independent of what you might claim as your cultural value.

lol

CPColin
Sep 9, 2003

Big ol' smile.

CPColin posted:

Hell is that one coworker who always replies to multiple-recipient email threads by walking over to your office and giving a verbal update, no matter how many times you remind them to please reply-all to the email so everybody's in the loop.

Now a different coworker just called me back because a spreadsheet I emailed them didn't look right. I apologized that I don't know the system involved well enough to know off the top of my head what the problem is. They said, "Okay, I'll call Coworker B and ask about it, because it sounds like this task needs to be reassigned." I clarified to please email the two of us, because I can't troubleshoot this stuff over the phone. They said okay and hung up.

Two seconds later, I hear Coworker B's phone ring in the next office over. gently caress off.

Edit: Coworker B wasn't at their desk when the phone rang, but Coworker A must've sent an email, because B just closed their door and called back. Bet I'll hear more about this soon and it'll have a fun extra layer because I've told my boss several times that I didn't think it made sense for me to be even handling running these reports in the first place.

Sounds like B is getting annoyed on the phone, so maybe I'm in the clear.

CPColin fucked around with this message at 00:16 on Aug 13, 2019

Adbot
ADBOT LOVES YOU

return0
Apr 11, 2007

Protocol7 posted:

Bonus points for someone replying to an email far back in the chain hours after the email has already been replied to, splitting the email chain into a fork of unintelligible thoughts.

Replying to correct an earlier error or provide relevant information is desirable. The bad part is how crap email is.

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