Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have totally opposite experience from what you wrote.

We have fast changing application and we use scrum and sprints to fend off business people. Because one day they want one thing, next day 10 things more.

With sprint I can tell them to go away and make priorities because team is not capable of handling those 10 more tasks. Which in turn makes it predictable for business people because they know my team will be able to put those 10 things in next sprint (if those are soooo important, which later always turns out not really) and have it ready in production in 4-6 weeks.

With product owner and "refinement meetings" I don't have business/sales people coming to me with stupid ideas and trying to force me to implement something. They have to put more work in it so that I get structured stream of work, of course it is not always perfect but better than random sales hitting you with something by your desk.

What is important I have my team "burn down rate" which helps to communicate it clearly and they cannot argue with the number.

Other important part is that estimations are done by dev team and I think important part is that our management is not arguing with the estimations. They show trust in developers and are not trying to push down estimations or improve burn down.

So in my view my team has more power over the process not the managers. What managers/sales get form it is clear information that they can use in their work. Unfortunately I don't think it is the case for much companies.



I mean I get the problems you're facing, but is there anything about scrum specifically that makes it easier to deal with them?

We just have a list of tasks we need to work on organised by priority and a quick estimate of the time needed to implement it. We don't need to meet every morning to follow that list, going through the list and re-arranging it once a week is fine.

If someone outside of our team wants to know what we're doing, they can look it up. And they trust us that we know how to prioritise tasks related to our own product.

I've worked within a scrum team before this and I prefer this approach so much more. Prior to this I never knew what I would face that day. It's whatever the project manager told me I should face in the morning meeting, even if it meant setting aside something I didn't quite finish yesterday but could finish within an additional hour or two.


You found a loose "lowercase A"/kanban approach that works well for your team! I also kind of prefer a kanban approach, if it works well for the test of the team/company.

> It's whatever the project manager told me I should face in the morning meeting

Just to be really clear - this is not "scrum". People can have a really difficult time with "agile" and related practices because they're often conflated with bad people/managers/teams. For most of my developmement career I've followed some sort of agile-two-week-sprint-scrum-with-daily-standup process and I've never been told what tasks I'm doing each morning. I've never experienced this problem you started (but ive definitely had other problems!)

At the risk of being a bit no true Scottsman, the best agile practicioners (and I don't mean the Deloitte/Thoughtworks paid-by-the-buzzword type) advocate for finding a process that works well for your team, picking bits from the larger "Agile Toolbox". That's True Agile.


We’re constantly refining our processes. It’s like any other part of the business in that it benefits in having a design thinking methodology applied or else it goes stale and fails to keep up with changing dynamics of the business and beyond. For example we decided to do fewer releases against conventional wisdom because we realised our customers were not able to keep up with training and other internal processes they are required to conduct for compliance reasons.


Exactly. When I first learned about Agile development they clearly stated there is no "Agile process". It is simply having only the minimum amount of actual documented/enforced practices needed to ensure smooth development. Is your team struggling to finish tasks because they're not communicating enough? Have a morning check-in where anyone who is having an issue can state their issue, someone else can chime in that they can/know how to assist, and they can discuss it afterwards. Team being overwhelmed by requests for new/unplanned work? Set up a task tracking system and prioritize your tasks ensuring things get done in the order they need to be with none forgotten. Software development doesn't look the same anywhere you go. What works for one team/customer/environment won't necessarily work for any other. Agile is adapting the process to the people. Alternatives like CMMI do the opposite by forcing the people to adapt to the process.

The number one issue I've encountered in my area is companies that say they use Scrumm when they really don't. Scrumm is a very specific, defined process, and as they clearly state in their "handbook" if you're not following the process exactly as it's described then you aren't doing Scrumm. Period.


> finding a process that works well for your team, picking bits from the larger "Agile Toolbox".

Absolutely this.


I agree with this.. I've personally been more effective in an async communication type of approach. Communication over email, slack messages, ticket comments.. just leave a comment on my ticket, give me time to ponder on it, then I'll respond. If there's anything mission critical that really requires everyone to sit down in a room together, then we can schedule a meeting.

I accept that not everyone's like me, though.


I think your preferred way of working is pretty close to what scrum aims to achieve. Often scrum gets implemented in totally the wrong way so I can understand your negative experience.


The scrum guide is treated as a holy text by some, but (as the scrum guide even states) agile teams should be self-organising and pick and choose what tools work for them.


> We have fast changing application and we use scrum and sprints to fend off business people. Because one day they want one thing, next day 10 things more.

Then you are using Scrum to obfuscate a core communications problem in your company. Either the business people are clueless about what they want and are flailing around in a panic, or they are not able to communicate their needs to you properly, or you are unable to understand their real business requirements, or they insist on micromanaging every aspect of your product. Or some combination of these factors.

You should not have to "fend off" your professional colleagues, you should be able to have an adult conversation with your peers and frame requirements and expectations accordingly. If your company culture prevents this then that's what you need to fix, not further burden the team with the demands of Scrum.


It's nice of you to write that and you aren't even wrong but what is he supposed to do about it? File a case to have the business people fired?

You're phrasing it as if OP is the problem but he isn't, at least not the most significant part about it. Have you ever been in an enterprise environment where people simply and subtly tell you to fuck off if you want to "have an adult conversation with your peers"?

Now you're stuck with the shitty situation and need to start fending idiots off because there is often ZERO interest to improve things like communication. It's often not a startup with 10 people where you can grab a coffee and go "Hey guys let's talk about our communication issues!".

These topics are highly political once a company is large enough and they are extremely rigid and hierarchical. Exceptions exist but they are, well, exceptions.

Sorry, but I felt this post was almost accusing OP of inaction when that's a pretty easy thing to say from the outside.


I’d like to double down on your defense of OP.

Communication overheard is an inherit trait of large organizations. To some degree we can improve this with digital technology, but it’s a fundamental problem.

If you need to rewire the communication pathways of 10 people, the complexity can be up to O(n^2) because you might need to make adjustments for how every individual is getting signal from other individuals. As organizations grow the old pathways of communication are less optimal, but it’s also more expensive to rewire communication. To some degree corporate communication overhead buys stability and consistency across the organization.

You should attempt to optimize communication with those nearest to you in a large workforce, but at a certain point all you can do is give feedback to corporate about the communication pain points. If you work in a large organization and you can optimize your local communications to be completely optimal you probably aren’t communicating with enough people to have a full impact on the organization.


I'm not accusing the OP of inaction: on the contrary, they are attempting to rectify the problem with Scrum, so they are trying to do something.

What I am saying is that using Scrum to paper over a dysfunctional organization merely adds more dysfunction. It's a bit like the old joke: you have a problem, you adopt XML as the solution, now you have two problems. If you have a dysfunctional organization, then you either fix that if it's in your power, grin and bear it if you can't, or leave if that's an option. You're not going to fix it with Scrum (or for that matter, Kanban or any other off-the-shelf process).


You’re offering criticisms of what OP is trying to do, but you have not offered an alternative. What is your solution?

Thus far, your position on this is too rigid and does not account for the spectrum of: org size, type, age, etc. It lacks maturity and awareness of the realities of many organizations.

If you’ve found a place where you can implement this stance: great! The vast majority of people are not in that position, and criticizing them for it is not a great look.


The vast majority of software engineers can’t change employer?


No, this is obviously not what I said. Nor is changing employers automatically better. There are (as I suspect you already know) a myriad of factors involved in choosing an employer and choosing to leave.

The implication that this is “the solution” is pretty naive.


Then you are using Scrum to obfuscate a core communications problem in your company.

No, they're using scrum to guarantee a minimum level of effective communication. Business people don't have to be "clueless" to be constantly shifting priorities: they are reacting to the day-to-day business realities of client requests and biz dev opportunities. They're acting professionally, and in good faith. But if the dev team constantly reacted to those shifting priorities, the constant context shifting would kill their productivity and morale. Scrum provides a minimal set of tools and practices to ensure stability for the dev team, so they aren't constantly in reaction mode and have space to think about the product and be proactive.

I'm constantly amazed by people who talk about the "burdens" of scrum, like it's a lot of work that wouldn't otherwise happen. Really? Let's look at all that "extra" work:

- talking to your teammates daily to share progress, but more importantly raise red flags if there are impediments

- demo-ing your work periodically to verify that the stuff the team says is done actually meets expectations

- periodically taking some time to design the software, maybe refactor stuff that isn't correctly modeled, and planning your work

And that's pretty much it. Do people really work in places where they don't do any of that stuff? They just wing it, test everything at the end, and hope for the best?


> Business people don't have to be "clueless" to be constantly shifting priorities: they are reacting to the day-to-day business realities of client requests and biz dev opportunities.

That makes the business people sound a lot like the guy in Office Space who takes the specs to the engineers. If they are just a secretary who will rapidly oscillate priorities based on what customer yelled the loudest yesterday that isn't very useful to the business. The purpose of a product team or anyone in that capacity is to try and understand client needs prior to the client actually having them, rapidly changing priorities is generally evidence of that not happening.


> If they are just a secretary who will rapidly oscillate priorities based on what customer yelled the loudest yesterday that isn't very useful to the business

This is a gross mischaracterization, and depends greatly on the industry, stage of the product, nature of the customer, etc. I've seen major organizations shift an entire 6-12 months of roadmap to cater to one or two key customers with unique requirements, just based on the sheer size of the revenue from the deal.

Re-prioritization happens for many reasons, and while it's absolutely true that rapidly shifting priorities can be a major red flag and may be extremely detrimental, it's also true that sometimes this is just the nature of the beast. And when that's the case, having a good business/product/whatever you label it layer to shield the engineering teams is critical.

> The purpose of a product team or anyone in that capacity is to try and understand client needs prior to the client actually having them, rapidly changing priorities is generally evidence of that not happening.

Again, this depends on the kind of software shop this is. If you're building the next social media platform, you have an entirely different set of problems and concerns from a behemoth enterprise software platform trying to beat the other behemoth for that next $30M deal.


Agreed. Most of the complaints I read that aren’t just related to awful management are typically to the effect of “I’m being required to function as part of a larger organization instead of doing what I want.”

There are no perfect solutions to project management, and if you prefer to work in tiny organized communes without corporate direction then that is your prerogative. I’ll be right there with you. Otherwise, it sounds like some developers here are just annoyed that their team and departments don’t revolve around their individual desire to not be managed.


Totally - you shouldn’t. But sometimes you have to use common tools and practices to protect your teams workload and manage the expectations of an often frustrated larger business.

Plus not everyone has the privilege of a good base experience, or the option to just find a better cultured company.


How do you solve it when you have Billy and Bob. Billy is working on customers X, Y, Z. Bob is working on customers C, F, G.

Billy and Bob want different things for different customers. Billie gets commission on solving stuff for his customers, Bob for his own. Both of them promise their customers everything next month.

Now you have 10 developers and Billie convinced 5 of them that building his things is important. Other 5 devs are convinced by Bob to work on his ideas. Developers are not informed about how much each customer is worth, as they don't need it for their jobs (just as Billie and Bob don't have any access to source code, databases and servers). Remember you need to have "least knowledge/privilige" principle because you don't inform all employees on all details of company deals (because I am writing about B2B products).

For me professional way is to have a product owner who listens to both of them, knows how much each customer is worth for the company, checks with the team how much each feature costs and makes priorities. You create a single line of communication and defined process. You communicate in a clear way what can be achieved when, well maybe with a bit of a slip here and there. Billie and Bob get one person to communicate with, get clear forecasts that then they can communicate back to the customers.

Maybe that is different if you have B2C products because then you don't have such scenario there.


Or there are just multiple stakeholders with differing needs.

The benefit of having a single PO is that they reconcile the competing priorities and the developers don't have to do it themselves.


All true but do you have any practical solution to dealing with incompetent micro-managing middle managers when you don’t have the power to fire them?


Yeah. I'm glad this person is not on my team. The whole attitude sounds toxic as fuck.


My last place had those problems, but scrum was used in the opposite way. If we pushed back on things, we weren't "agile". Burn down was used a a club even though the model they chose would usually result in everything pending until the last two days of the sprint. Our estimations were completely ignored, plus the fact that they were estimations. We would make estimates, and be told they weren't commitments. Later when stuff would be pulled into the sprint, the team lead and manager would lower them, and we'd be castigated for not meeting them.


> We would make estimates, and be told they weren't commitments.

Yeah, this is ridiculous; Scrum actually changed the term from ‘Commitment’ to ‘Forecast’ back in 2011. But the industry didn’t pay attention to that minor but important change.

- https://www.scrum.org/resources/commitment-vs-forecast


It seems like your team is at war within your own company. You are actually building a wall! That doesn't feel right, and doesn't feel any more positive than what the previous comment was describing.


It's not a wall, more like a moat with a drawbridge :)

The drawbridge is lowered every two weeks and that's when the team delivers and demonstrates the stuff they did during that time. This is also the time the stakeholders get to present the prioritised list of work that needs to be done during the next two weeks (Product backlog).

During the two week period if the stakeholders need to communicate to the Fort of Scrum, they can shout from the other side of the moat and the Scrum Master is the only one with access to the only tower in the castle where the shouting can be heard. The team has complete autonomy and peace to work for the two weeks.


And here I am, building tunnel under the moat, being cozy with the stakeholder in order to influence his decision and secure some sprints that make sense ( for my team, I absolutely don’t care about the product, it’s a lost cause behemoth, the product will be fine. )


I thought someone was digging a tunnel next to mine!


I don't think so. Within a company departments can have different interests that sometimes clash. A mature team would notice this tension and signal this to the stakeholders. I think developers often think that people outside scrum teams have a well thought through plan of things they are doing. That's often not the case, they're just trying to figure out what they need to do to get things done. If a team signals that business people need to make a priority call, that brings a lot of clarity. I think it's a good sign.


But this is exactly why we have these processes! Companies have trouble prioritising and planning _at scale_ - they're constantly at war with themselves - so we introduce a process to manage the inefficiencies of many people, with conflicting priorities and points of view, trying to develop a product.


I don't see it as a wall, but defined order (how new tasks are put into the queue) instead of chaos (when sales people come directly to the developer's desk and order new requests without others involved)...


I propose that you read "The Phoenix Project (A Novel About IT, DevOps, and Helping Your Business Win)".

I don't feel like I am building a wall, I am building a structured approach to communication and software building that is predictable to deliver value to our business and our customers.


Exactly, it seems to me they aren't taken seriously / respected by the business side as professionals that can work autonomously.

Using scrum/agile to fix a lack of trust, not sure how that's going to work out long-term.


I would describe someone who has defined process, defined check-in periods, defined communication lines and is following it as a professional.

How do you work as a professional autonomously without setting rules for work and setting up process for regular progress check-in?


Perhaps think of it more as a cell wall - some things can pass through by osmosis, but ti is a much more controlled thing.


Well, I enjoy talking to the front line aka sales people to hear what's going on out there. I appreciate their input. While there might be lots of stupid ideas, there are also good ones, and some times I feel like it is a reality check which helps to get out of the developer bubble.


Difference is in talking as bouncing off ideas and sales pushing work on you or talking nicely and expecting you do things for him/her.


Yes, until one of the 10 tasks flips one of the assumptions and changes a large scale decisioning system on its head...The processes work for certain type of projects. F-16 pilots have different concerns than 737 jets than a tractor trailer driver than a bicyclist, if moving from point A to point B is what matters..




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: