News for hackers. Stuff that matters.
Re:JIRA is an antipattern by perlgeek on Sunday December 09, 2018 @02:30PM (#18642752)
> And so people take tickets, implement them as written, pass them off to whoever is next in the workflow, consider their job well done, even if working on scattered groups of them in parallel might be much more effective … and without ever considering the larger goal. “Implement the Upload button” says the ticket; so that is all that is done. The ticket does not explain that the larger goal of the Upload button is to let users back up their work.

Jira was designed for agile software development like Scrum, so you should write user stories, not mini specifications.

An upload button alone is no user story, a story might be "As a user, I want to be able to import the Excel reports that I get from company $XY, so that I don't have to manually enter the data, and save a lot of time that way", ideally including a reason why that data needs to be there.

That way, you get the context that the article is bemoaning the lack of, and the developer might even think "Hey, I know company $XY has an API for getting the report data, wouldn't it be even easier if we fetched it directly?"

And in a good agile process, you'd discuss this with the product owner, and rewrite the story to "As a user, I want data from $XY company in my system with minimal effort" or something like that.

No tool can substitute a good development process, and good communication between the involved parties.

That said, Jira does have it downsides, and not tracking dependencies very well is one of them.

And then there are things that can be downsides, but don't need to be. It's so flexible that many shops configure it to be pretty much unusable, but others create workflows that work very well.

Re:JIRA is an antipattern by lumost on Sunday December 09, 2018 @02:46PM (#18642845)
I think you've hit on the fundamental contradiction of agile and scrum.

> An upload button alone is no user story, a story might be "As a user, I want to be able to import the Excel reports that I get from company $XY, so that I don't have to manually enter the data, and save a lot of time that way", ideally including a reason why that data needs to be there.

The implementation of this functionality in a way that will delight customers could hypothetically take 3 weeks as it requires the implementation of an upload button, a datastore to store the uploaded values, and an integration into a legacy feeds system to get the spreadsheet's data to all of the places it needs to go.

In most scrum processes 3 weeks of effort would not be accepted, and the story would be "broken down" into smaller issues such as "implement an upload button". Even worse scrum projects emphasize anti-patterns of "parallelizing" efforts, so we'll assign each of those smaller stories to separate individuals. While theoretically a customer focused engineer could look at the original user story, there is minimal incentive to do this - and most engineers will focus on pushing stories across the board, the upload button may or may not ever work in a way that customer's desired - and any attempt to fix it requires restarting the whole process.

Re:JIRA is an antipattern by perlgeek on Sunday December 09, 2018 @02:55PM (#18642891)
> In most scrum processes 3 weeks of effort would not be accepted, and the story would be "broken down" into smaller issues such as "implement an upload button".

Yes, but a good scrum process goes like this:

1) the PO presents the story

2) the developers discuss it, and find that it doesn't fit into a single sprint

3) developers and PO together break it down into small issues, for example by turn the original story into an epic, and creating more, smaller issues in that epic.

So when a developer works on the smaller story, they have heard about the context before, and have a link to the epic with the broader context in case they have forgotten.

It's not automatically provided by Jira, but if you use the tools correctly, you can absolutely provide that context.

Re:JIRA is an antipattern by renox on Sunday December 09, 2018 @04:56PM (#18643526)
Bah this process is faulty, we use it at work and this means that a feature which has to manage N things is almost always split into 'manage 1 thing' then 'goes from 1 to N' even though it takes more work and the resulting code is much more ugly..
Re:JIRA is an antipattern by jeffreygoesto on Monday December 10, 2018 @02:39AM (#18645973)
If your problem's complexity is big enough, you can't get good solutions without an explicit architecture step. I've seen quite a few bad ad-hoc architectures being created trying to break down epics that were too big. Your team needs a lot of discipline to come up with a good plan/architecture (per story/epic at least) first. Scrum did not help here, to me it seems it legalized hacking away the day... In some domains you can't pay back that kind of dept easily...

The article may have a clickbait headline, but „have an overview and use JIRA in addition to track the leafs of the work hierarchy“ is true.

What I found is that almost all projects try to organize as tree but they should organize as matrix, at least if there are many cross-cutting components.

Re:JIRA is an antipattern by hinkley on Monday December 10, 2018 @11:59AM (#18649248)
If my team had that much discipline to begin with, they’d do just fine without Scrum.
Re:JIRA is an antipattern by mnsc on Monday December 10, 2018 @12:53AM (#18645533)
There's many ways to split a story and oftentimes I would argue that creating a smaller version first makes the code better. Ie writing code that you _know_ will have to change not far off in the future.

https://agileforall.com/resources/how-to-split-a-user-story/

Re:JIRA is an antipattern by merb on Sunday December 09, 2018 @05:24PM (#18643680)
i've seen plenty of people that tried to tackle a big problem at once and the result was way more ugly than just split the problem up. at my work place my boss always writes down the complete issues/features and let the people do them however they like, but most of the time this is bad, because doing something at once without a certain structure will yield a way bigger mess than if the thing would've been splitted.
Re:JIRA is an antipattern by wolco on Sunday December 09, 2018 @05:57PM (#18643858)
That's why you pay for experience. Doing it at once leads to better overall design provided the developer can produce proper structure on there own.
Re:JIRA is an antipattern by notduncansmith on Monday December 10, 2018 @12:51AM (#18645528)
There are two primary styles of software development.

The first is “make the change/feature easy, then make the easy change/feature”. I call this Structure-Driven Development (SDD), because the features of the software are emergent properties of the structure of the system. This often concerns various “layers” of the system (HTTP, auth, validation, data access, error-handling, etc).

The second is “make the change that’s currently easiest”. I call this Feature-Driven Development (FDD), because the structure of the app is whatever emerges from feature development. This, naturally, concerns the various features of the software itself, spread across whatever primitive components are already available and usually copying structure from the first few features written.

IMO, successful agile product development involves a mix of these styles. SDD produces better structure at the expense of heavy up-front development costs. FDD helps you figure out where to apply SDD.

I like to start projects with SDD for the first few weeks of a project, then alternating styles every 2 weeks to test and refine structural assumptions (think of it like a REPL for architecture). This also helps keep teams from getting too stuck in either style as many do.

Get locked into SDD, end up not shipping a single feature for weeks. Especially prone to happening on single-developer projects. Especially unlikely with good project management + strong communication between engineers and stakeholders.

Get locked into FDD, code yourself into corners, gradually building a pile of mud that no-one fully understands. Far less likely (but still possible) on single-developer projects. Senior engineering oversight and adequate time budgeting are critical to preventing this.

Both styles have their tradeoffs, and like most things it takes experience/maturity and a dash of luck to navigate the balance successfully on a given project.

One indicator that your SDD is working is that you do much less of it after the first month or two of development, as the structure will be in place and effort can largely shift to features and polish.

EDIT: Cleaned this up into a post here https://medium.com/@hi_17592/software-development-styles-ebe...

Re:JIRA is an antipattern by beaconstudios on Monday December 10, 2018 @06:24AM (#18647056)
there's also a blended style where you start with FDD then perform SDD in the refactoring. This way you're not performing blind architecture - you make the necessary change and you systematise the solution during refactoring, if it is a change in system behaviour. You can use this technique on an ongoing basis at a per-ticket scale and trust that you are 1. not violating YAGNI and 2. always in a state of minimum-viable-well-designed-architecture.
Re:JIRA is an antipattern by merb on Monday December 10, 2018 @04:02AM (#18646342)
> That's why you pay for experience. Doing it at once leads to better overall design provided the developer can produce proper structure on there own.

that's not true. an experienced developer will actually structure the project in a good way, even if the problem is split into multiple issues.

Re:JIRA is an antipattern by brazzy on Monday December 10, 2018 @04:08AM (#18646367)
Or it leads to dicking around forever while you change your mind five times about what the "proper structure" is because you're not comitting to anything and not getting any feedback. Experience has very little influence on that.
Re:JIRA is an antipattern by wolco on Monday December 10, 2018 @10:10AM (#18648401)
If someone is playing around trying to get a proper structure it really is a lack of experience.

If a person repeated the same project 5 times on the last attempt would require very little trying to find the proper structure. Experience has everything to do with that.

Re:JIRA is an antipattern by defined on Monday December 10, 2018 @02:17PM (#18650405)
"Analysis paralysis" is a real thing, so I partly agree with you. Sometimes you have to take parts of a large concept and "dick around" with it to discover the unknown unknowns and how not to do it, then feed that back into analysis.

After a number of iterations of this, you converge on a baseline architecture that you try to support future change without being excessively focused on YAGNI. Over-focus on YAGNI often leads to architectures that are so inflexible that when you DO need it, you can't add it without a demolition crew[1].

People should also remember the context in which YAGNI came up: Kent Beck, Ward Cunningham, Smalltalk, and the C3 project. This particular combination of people, project, and process made YAGNI feasible. And the C3 project, which spawned XP, was not as successful as folklore would have it[2].

It's not always so. Imagine if YAGNI was the focus of Roy Fielding and the HTTP specification, which has lasted remarkably well because of allowance for future change in the architecture.

Scrum and other processes that claim adherence to the Agile Manifesto work best in certain contexts, where code turnaround can be fast, mistakes do not take the company down and fixes can be redeployed quickly and easily, the requirements are not well-understood and change rapidly, and the architecture is not overly complex.

Many other projects don't fit this model, and people seem to think that so-called "Agile" (which even the creators of the Manifesto complain is not a noun), and mostly Scrum, is the sole exemplar of productivity.

The fact is that there are many hybrid development processes, described by Steve McConnell[3] long before the word "agile" became a synonym for "success", that may be more suitable to projects that have different dynamics.

An example of such a project could be one that does have well-defined requirements (e.g. implementing something based on an international standard) and will suffer from a pure "User Story" approach.

Let's be much more flexible about how we decide to develop, and accept that you need to tailor the approach to the nature of the project, based on risk factors, longevity, and other factors, and not on dogma.

And let's not underplay the extreme importance of a well-thought out architecture in all but the most trivial of projects.

[1]: https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it

[2]: https://en.wikipedia.org/wiki/Chrysler_Comprehensive_Compens...

[3]: https://www.amazon.com/Rapid-Development-Taming-Software-Sch...

Re:JIRA is an antipattern by HeavyStorm on Wednesday December 12, 2018 @05:40AM (#18662777)
Still, there's no blaming JIRA. That's a methodology issue, not a tool issue.
Re:JIRA is an antipattern by joejerryronnie on Sunday December 09, 2018 @03:21PM (#18643040)
Mature empowered teams will also discuss the cost/benefit to determine if the feature is really worth the effort entailed in light of the thousand other priorities in the backlog. Sometimes this leads to alternate, more efficient approaches to addressing the need or at least a healthy discussion on the true MVP of the feature.
Re:JIRA is an antipattern by spdionis on Sunday December 09, 2018 @03:02PM (#18642943)
Indeed the main point to provide context in the scrum process is the refinement meeting.
Re:JIRA is an antipattern by njanse on Monday December 10, 2018 @10:35PM (#18653179)
I completely agree, the refinement meeting is the key.

We've just spent a year interviewing 200+ product owners about the problem that the article are describing. For most teams, JIRA works great for monitoring progress on closely defined tasks, but context "above story level" is a real problem. The better teams do already use another tool than JIRA to write such documents, typically at "epic level", and typically using Google Docs and/or Confluence.

But almost all struggle with writing this document, where common problems include: * duplication of work and manual updating between the document and JIRA * unclear handover of the source of truth, since things that are written in the document are "true until stated otherwise in JIRA or a JIRA comment.. or somewhere on Slack" * lots on input/questions/decisions from refinement meetings not captured in either the document or in JIRA

I think the solution is to think of this document less as a "requirements document" (many label this doc a "PRD"), and more as a "refinement document". This "refinement document" should * try to capture the conversation that happens in refinement meetings * involve also the developers to cover not only "why" and "what", but also a bit of "how" * evolve and be updated all the way through development as new insights are gained * be the source of truth and available to the developer working on the JIRA issue

We have made a tool specifically to support working this way with "refinement documents". One dedicated place to refine features. Structure, collaborate, keep track of questions and capture not only decisions, but also conversations. Seamlessy transform your work into crystal clear Jira epics and stories. When you turn notes into Jira issues, you can see all the details via our Jira plugin. Happy to hear your thoughts, please do check it out at https://www.delibr.com/

Re:JIRA is an antipattern by iaresee on Sunday December 09, 2018 @03:54PM (#18643197)
JIRA could work better in this situation if it allowed for deeper nesting of tickets. You could still capture the larger user story and then subdivide below that level into smaller stories and then features with tasks.
Re:JIRA is an antipattern by crisnoble on Sunday December 09, 2018 @03:59PM (#18643235)
It does. My team uses Epics -> Stories -> Sub Tasks all the time.
Re:JIRA is an antipattern by iaresee on Sunday December 09, 2018 @04:15PM (#18643318)
That’s not enough to represent large, complex projects. And sub-tasks are implemented in this weird, dystopian way that makes them unreasonably hard to work with in the system.
Re:JIRA is an antipattern by geerlingguy on Sunday December 09, 2018 @05:10PM (#18643615)
Agreed, the few times we've tried moving from separate linked tickets to sub-tasks have been disasters. It doesn't jive with any of the tooling in Jira to try to have tickets be like 'mini-Epics'.
Re:JIRA is an antipattern by slider_thor on Sunday December 09, 2018 @08:54PM (#18644596)
You should check out the Structure add-on. Does unlimited hierarchies in a very intuitive way. Only for on-premise.
Re:JIRA is an antipattern by yxhuvud on Sunday December 09, 2018 @04:21PM (#18643345)
That is not enough! I regularly want to create sub tasks to subtasks, but it is not possible.
Re:JIRA is an antipattern by Klinky on Sunday December 09, 2018 @05:04PM (#18643568)
You could also link to other tickets or Epics with "relates to" or "blocked by".
Re:JIRA is an antipattern by wbl on Sunday December 09, 2018 @08:59PM (#18644621)
And at that point why not Bugzilla?
Re:JIRA is an antipattern by yoz-y on Monday December 10, 2018 @04:22AM (#18646424)
Because "Oh, come on!". Just because you can implement any process in a list of text files and grep it does not mean you should. Jira has features that Bugzilla does not or needs plugins for. Should you just throw all of that away?
Re:JIRA is an antipattern by ben509 on Monday December 10, 2018 @09:56AM (#18648302)
The complaint is that Jira's "features" are not much better. It's completely manual and only works if you strictly enforce conventions.
Re:JIRA is an antipattern by p2t2p on Sunday December 09, 2018 @07:55PM (#18644371)
You also can have something bigger than epic - you could use Portfolio and create initiatives there.
Re:JIRA is an antipattern by HelloNurse on Monday December 10, 2018 @03:30AM (#18646192)
"Capture the larger user story". Why should I disintegrate information among many Jira task names and descriptions instead of writing readable and organized high-quality documents?

I'm used to use Jira only for timesheet purposes: hierarchical decomposition (project X, activity Y, often also employee Z) allows stress-free accurate accounting.

Re:JIRA is an antipattern by flarg on Sunday December 09, 2018 @05:53PM (#18643839)
It doesn't but the beauty of it is that there are plugins like Structure, that do
Re:JIRA is an antipattern by nautilus12 on Sunday December 09, 2018 @11:08PM (#18645114)
Yes but the developers are incentivized to get it done as quickly as possible and if they start to present multiple steps their managers will be likely to acuse them of overengineering the system so they just try to do it all at once.
Re:JIRA is an antipattern by tomaskafka on Monday December 10, 2018 @02:16AM (#18645880)
This sounds like a trust issue, not a Jira problem
Re:JIRA is an antipattern by closeparen on Monday December 10, 2018 @03:25AM (#18646176)
Jira encourages this kind of trust problem by framing the world in terms of ticket-closing velocity.
Re:JIRA is an antipattern by normtown on Tuesday December 11, 2018 @12:12AM (#18653400)
Just take the 3 weeks to implement it. Process doesn’t exist to hold us hostage.
Re:JIRA is an antipattern by stupidbird on Sunday December 09, 2018 @11:22PM (#18645185)
Sounds like there's more overhead than work there.
Re:JIRA is an antipattern by Haga on Monday December 10, 2018 @01:10AM (#18645610)
Yes, let's move fast and break things. Things like the architecture, the framework and team communication. Then once the tech debt avalanche rolls in move fast to a different company to break things there. Thus good hiring processes to to keep prototype programmers at bay.
Re:JIRA is an antipattern by stupidbird on Monday December 10, 2018 @01:45PM (#18650164)
I'd rather break things than linger around in some obscured purgatory where a straightforward task is spread out across a dozen subtasks that ultimately end up being rewritten anyway because something changed during the month it took to get halfway there.
Re:JIRA is an antipattern by gronne on Monday December 10, 2018 @02:49AM (#18646022)
Yeah - blame the developers. 90% of the “bad” code i have written was forced by the manager/company. The proper / structured way considered too expensive.
Re:JIRA is an antipattern by scarface74 on Sunday December 09, 2018 @04:37PM (#18643432)
In most scrum processes 3 weeks of effort would not be accepted, and the story would be "broken down" into smaller issues such as "implement an upload button". ....Even worse scrum projects emphasize anti-patterns of "parallelizing" efforts, so we'll assign *

There is often so much wasted effort in parallelizing work.

I just implemented a feature that was two months worth of work by myself. I loved being able to think holistically and make changes up and down the stack from the interface (Api calls) to the Devops.

I could make breaking changes between every part of the process and not have to work with five other people. I could easily see “war rooming” it with one other developer though and breaking it down between the two of us where we could just discuss the breaking change and make changes.

Re:JIRA is an antipattern by ozmbie on Sunday December 09, 2018 @05:38PM (#18643756)
To play Devil’s advocate: that’s 2 months a customer went without being able to use that feature. What could you or the company have learned if you shipped an earlier version and measured how people used it? Was your feeling of control and happiness worth the business information of not having that feature in the wild for 2 months?
Re:JIRA is an antipattern by scarface74 on Sunday December 09, 2018 @07:31PM (#18644290)
The communication and coordination overhead of four or five developers working together is non-neglible on top of that if any part had to be reworked that also would have involved overhead between multiple developers. No matter how well you spec something out, there are always the unknowns - i.e. I forgot about this piece of business logic based on a checkbox on the front end which is going to cause a boolean to be passed in the model that’s going to affect all four services and a database table. Now I need to either communicate with all of the developers, or do it myself and dig through code I am not familiar with. In this case, I just make all six changes myself, do a quick test and commit the code and update the docs.

Then all four developers would have had to coordinate with the Devops guy.

This is all getting into “Mythical Man Month” territory.

Instead of me trying to explain it, I might as well crib the explanation from Wikipedia.

Complex programming projects cannot be perfectly partitioned into discrete tasks that can be worked on without communication between the workers and without establishing a set of complex interrelationships between tasks and the workers performing them.

Four equally qualified people should be able to deliver more features in the same amount of time working independently than four people working together.

Re:JIRA is an antipattern by riskable on Sunday December 09, 2018 @06:06PM (#18643897)
The solution to this problem is to solicit user feedback all the time. As in, the moment you get your code kinda sorta working you get some feedback from the ultimate end users (e.g. NOT the product manager, LOL)...

"This rough implementation is how I (we) envision this feature working. What do you think?"

"We've got the feature working well but it requires non-trivial back end changes. Would you be willing to wait or will you be satisfied if it works but only in a very manual way until we get the back end changes in place?"

Week 2 after release: "The feature is live... What do you think? How is it working?"

These are conversations the developers should be having with the end users. Regularly! It's when developers only ever talk to their boss and/or the project manager that pushes development into the anti-user zone.

Re:JIRA is an antipattern by gronne on Sunday December 09, 2018 @06:20PM (#18643959)
Good luck getting the customer to provide feedback on a <2 week cycle. Ime. customer feedback and/or approval is a serious dev bottleneck.
Re:JIRA is an antipattern by LaGrange on Sunday December 09, 2018 @07:15PM (#18644224)
That is also feedback. Having unresponsive customers is a bad sign, often suggesting that maybe they're not as interested in the product as the smiles the hyper-gregarious sales team receives would suggest.
Re:JIRA is an antipattern by scarface74 on Sunday December 09, 2018 @08:04PM (#18644401)
It’s not always about customer feedback when implementing functionality. For instance, take the rules governing rail car maintenance.

https://www.railinc.com/rportal/documents/18/260641/Guidefor...

The software for it has to work. There will be months of work implementing the rules engine before you have anything to show the customer besides a mock-up..

You won’t really need two week sprints to get feedback from customers. It either implements all of the rules or it doesn’t. I can imagine the same happening for tax software.

Re:JIRA is an antipattern by lstamour on Sunday December 09, 2018 @09:00PM (#18644623)
That’s taking a strictly algorithmic approach, and assumes the rules are equally understood by all parties and have no inconsistencies or undefined states. And as an example, I happen to know TaxCycle is unusually responsive to customer feedback on releases and offers early previews. Here’s a list of improvements from 2017 feedback: https://www.taxcycle.com/News/Your-feedback-becomes-features...
Re:JIRA is an antipattern by adrianN on Monday December 10, 2018 @12:47AM (#18645519)
Your customer might not have the manpower to test your product all the time. They're presumably already spending a lot of money on you, they might not want to spend an extra headcount just for testing your work. They might feel that that's your job.
Re:JIRA is an antipattern by WillPostForFood on Monday December 10, 2018 @01:39AM (#18645730)
Happens all the time, and usually ends up in disaster. Not willing to test means that don't know or care, and you are throwing darts blindfolded hoping to luck into what they imagine they want. I've been on projects customer would say, "I don't need to see it, I know you're going to blow us away!" You do your best but it never ended well.
Re:JIRA is an antipattern by pjmlp on Monday December 10, 2018 @02:45AM (#18645998)
The best is when the team delivers 100% what was specified on the Jira items, do the demo after several failed attempts to get feedback and then they state that "it is nice but not really what we want".
Re:JIRA is an antipattern by LaGrange on Monday December 10, 2018 @06:12AM (#18647009)
> They might feel that that's your job.

If a customer isn't committed to the project, then I'd worry about committing to it as well. Even if the contract guaranteed I'll get paid, there are few things as demoralising as a project falling over because, once push came to shove, the customer didn't even have the manpower to deploy your product. Those are usually the same people who would do the evaluation, so with my experience, as an employee, if they're not there, I'm going to look for a project where they are — regardless of how confident sales might be.

Re:JIRA is an antipattern by dagw on Monday December 10, 2018 @02:58AM (#18646059)
You must have much better end users than I have. My users seem completely incapable of looking at a half finished, sort of working proof of concept and not get bogged down focusing on everything that obviously doesn't work. I definitely agree that you should talk to your end users all the time, and ideally observe them working and using your product (or your competitors product) to the extent it's possible, but I've never had much luck discussing rickety proof of concepts with them.
Re:JIRA is an antipattern by mason55 on Sunday December 09, 2018 @06:30PM (#18644006)
The problem with all the devs talking to users is that many of them are bad at it and have no desire to do it or improve at it. So that means you are either very, very limited in who you hire or you have to have some devs that don’t talk to the users.
Re:JIRA is an antipattern by jasonlotito on Sunday December 09, 2018 @06:20PM (#18643958)
> a customer went without being able to use that feature.

Well, by definition, a feature that takes 2 months to build takes 2 months to build. Shipping part of the feature early doesn't provide feedback for the finished product. It provides feedback for the incomplete feature. How valuable is that feature?

In addition to that,a feature that takes 2 months to build will take longer if you are releasing multiple sub versions. You have to account for actually making it production ready, and releasing it, and handling errors and feedback.

This is why experience matter. Was your feeling of control and happiness worth shipping half-finished, substandard product to your customers?

Re:JIRA is an antipattern by scarface74 on Sunday December 09, 2018 @09:22PM (#18644739)
And in the real world, you often go through all of the ceremony of a “release” but it isn’t put in production until it’s complete anyway. Until then, the feature is just on a UAT server and the code is officially “in production” but it’s behind a feature flag.
Re:JIRA is an antipattern by wolco on Sunday December 09, 2018 @06:03PM (#18643884)
To play devil's advocate.

Other work can be assigned so in two months the customer gets the entire website. If they did it the other way every two weeks something would be finished but at the end they need to rewrite the backend adding an addional months because they didn't have the chance to look ahead and see that module 1 and 2 can't run at the same time.

Re:JIRA is an antipattern by scarface74 on Sunday December 09, 2018 @07:59PM (#18644385)
Which is actually very relevant to the project that I’m referring to. All four services were database intensive. They all worked perfectly independently. But when messages started at service 1, did some database work and put a message in the queue to kick off the next process and so on. When all four were running at the same time processing messages, the database screamed and made the website unresponsive.

It took me longer to tune performance than to write the code. Can you imagine four developers working together tweaking code, queries, indexes, number of simultaneous threads, etc?

Re:JIRA is an antipattern by JustSomeNobody on Sunday December 09, 2018 @09:07PM (#18644664)
This is an "ideal" which I would argue almost never happens in the real world.
Re:JIRA is an antipattern by rawoke083600 on Monday December 10, 2018 @12:05AM (#18645369)
exactly !! if a feature is worth having... its usually value in having it in one week rather than 3.. sooner is better... scrum does not allow this
Re:JIRA is an antipattern by dagw on Monday December 10, 2018 @03:01AM (#18646077)
Not if that early feature is broken and doesn't work. Then the conventional wisdom will quickly become "Don't use feature X, it's broken" and you're going to have to spend a lot of time re-educating your user once you've actually gotten around to fixing it (assuming you actually get around to fixing it and aren't pulled away to do something more 'important')
Re:JIRA is an antipattern by Bahamut on Sunday December 09, 2018 @11:27PM (#18645210)
On the flip side, this has a cost of creating siloing/low bus factor, so if you were to ever get in an accident that took you out, or you left the company, the company would be potentially completely screwed.
Re:JIRA is an antipattern by scarface74 on Monday December 10, 2018 @06:39AM (#18647126)
I’ve learned the hard way from years of experience that if I am the only person that knows a system, that means I will be stuck on it forever and can’t move on to the new shiny.

When I was a team lead, I made it part of the “definition of done” that you had to have documentation and knowledge sharing. Now, I still have both an overview of my proposed architecture before I start just to make sure I didn’t miss anything, Visio diagrams,Powerpoint slides, wiki documentation, an “architecture review”, etc. I hold myself to the same standards I held anyone on the team to.

From a career development standpoint, software developers are a dime a dozen. It’s the people who know how to communicate effectively are the ones that get ahead.

Re:JIRA is an antipattern by JohnBooty on Sunday December 09, 2018 @09:04PM (#18644648)
I know Scrum so I'm writing from that perspective.

I'm not sure about "agile." In my experience, "agile" means "we have no workflow and it's a fucking madhouse."

   > In most scrum processes 3 weeks of effort would 
   > not be accepted, and the story would be "broken down"
   > into smaller issues such as "implement an upload 
   > button".
Yeah absolutely. But what's wrong with that?

At some point, this will need to happen.

One of the primary values of Scrum is that it forces you to break a story down into discrete tasks and estimate them as a team before the work begins.

This is a great chance to pool your knowledge as a team. Suppose a team consists of developers A, B, C, D, and E.

Well, implementing the Excel imports might involve 3 smaller stories. The first story might involve concerns that A and E have, and maybe there's actually a really easy way to do it that C knows about because she's done it before, and D's done it before too and knows about some pitfalls. That's a friggin great conversation to have.

Now, you don't need Scrum to have that conversation, but Scrum's cool because it makes it nearly impossible to avoid it. Now, naturally, you certainly don't need Scrum to have that conversation! A healthy team of high achievers with great communication skills would have it anyway! But, the reality is... that conversation often doesn't happen without some kind of process (Scrum, or whatever) to make sure it happens.

    > Even worse scrum projects emphasize anti-patterns of "parallelizing" efforts
This is really not my experience with Scrum at all and I'm confused as to why you think this harmful sort of "parallelization" (the kind proscribed by "The Mythical Man-Month") is some intrinsic part of agile/Scrum.

Not familiar with Jira, but we used Pivotal Tracker and it lets you specify which stories are blocking other stories.

Re:JIRA is an antipattern by sobani on Monday December 10, 2018 @07:07AM (#18647283)
@lumost wasn't talking about splitting up a story into tasks, but splitting a story up into 'stories', because the actual story is to large to fit into a single sprint.

So what you end up with are several 'stories' that are basically collections of tasks from the actual story. Each of those 'stories' barely make sense on their own and it makes about as much sense to delay the last 'story' and use the intermediate result as it would be to delay the installation of the engine into a car.

Re:JIRA is an antipattern by lmm on Monday December 10, 2018 @05:53AM (#18646909)
> The implementation of this functionality in a way that will delight customers could hypothetically take 3 weeks as it requires the implementation of an upload button, a datastore to store the uploaded values, and an integration into a legacy feeds system to get the spreadsheet's data to all of the places it needs to go.

> In most scrum processes 3 weeks of effort would not be accepted, and the story would be "broken down" into smaller issues such as "implement an upload button".

You can always find some way to implement something valuable to the user in less than 2 weeks if you actually try. Don't give them an upload button that doesn't go anywhere: give them an end-to-end integration that only works for one of the reports. Give them a network path where they have to save the sheet with a hardcoded filename, if that's still going to save a lot of time compared to manual data entry. Build end-to-end paths that you can widen out, not vertical slices that are useless until you've done all of them.

Re:JIRA is an antipattern by MacroChip on Tuesday December 11, 2018 @12:11AM (#18653397)
Great comment. Most if not all other comments were recommending/complaining about parallelizing horizontal slides. Like you said, vertical slices are generally valuable to an end user, even if that first one is ugly, not user friendly, etc. Horizontal slides are a gamble. You parallelize, but risk wasting considerable work.
Re:JIRA is an antipattern by Jach on Sunday December 09, 2018 @07:15PM (#18644223)
In most scrum processes the devs just want to get going and don't want to waste more time breaking it down in even more meetings, so they might think that the story will take 3 weeks for dev effort + QE effort (we at least combine the efforts in our estimates) but still estimate it as 2 max (expressed as a point number of course, which is going to necessarily be a rough estimate) so they can get going. Another common thought is "1-3 weeks, not sure yet, need to get going to provide a better estimate, can't estimate well enough until then even if we try to break things down."

Maybe as the replies suggest, it gets dev-done in less than a week despite the longer estimates, and if you're lucky QE picks it up and closes it before the end of the next week. The usual outcome for these types of stories is that one or the other takes longer, or the sprint was packed with too many 2-3 day bits of work that kept getting prioritized over QEing the big one, and now you have bleed-over as you push it to the next sprint (along with any 2-3 day stuff that you started on Friday because you were free). Bleed-over is the normal way you get > 2 weeks of work stories done, and is also a consequence of smaller things not perfectly fitting into the two week period as well.

My team had these problems with the scrum process and switched over to a kanban style a couple years ago, it's been better for everyone. Because of the concept of WIP limits at each major stage in the pipeline, we get parallelism where it matters -- i.e. people unclogging the pipe: if the WIP limit is reached for dev-in-progress work and someone is looking for new work, it has to be something later in the pipeline. Because we don't do things in chunks of 2-weeks, if something takes longer than 2 weeks to get through the complete pipeline, no biggy, some work is just optimally sized for one person to spend a few weeks on to do the best job. (But that ended up happening less because of the WIP limits helping to force us to get things through instead of sitting around in one state forever.) And if you want to start something new on a Friday, no biggy, we don't have to argue over bleed-over and trying to optimize the bucket of new things per sprint for the next sprint with the other rule of not bringing in new things. (Sprint models are so obviously defective when you've finished up everything in the sprint on a Thursday morning. What are you going to do for the next day and a half if you have the rule that you can only add stuff to the board during sprint planning? Well the answer some shops give is you add something anyway, and it immediately bleeds over, and then you get criticized for bleed-over.)

Re:JIRA is an antipattern by lstamour on Sunday December 09, 2018 @09:12PM (#18644687)
Bleed-over is not normal in Scrum. If the entire team finishes early, complete the sprint and create a new one, don’t drag in more work unless the entire team can agree it will finish within the original timebox. Each sprint has a definition of done, and if you’re not going to deliver it, you’ve got to end the sprint and start a new one, you can’t change things mid-sprint and expect everything to run just fine. The biggest problem I see in practice, and Jira encourages this, are tasks assigned to specific individuals such that the team doesn’t feel empowered to take on sprint tasks “assigned” to other people. In reality, the entire team is assigned the entire scrum, and you can’t ever take pride in finishing “your tasks” early unless your team’s tasks have finished early too! I get it, though, there’s a difference between idealized scrum and what most companies implement using Jira. That’s definitely still a problem to look into, but I can only put half the blame at best on the tool itself. If the tool didn’t have flexibility to fit to any process, folks would just pick another tool that does. Jira is simply the least such a tool could do, it’s up to you to figure out the better process for your team... and Scrum is the least-worst process I’ve encountered so far.
Re:JIRA is an antipattern by Jach on Sunday December 09, 2018 @09:51PM (#18644821)
True, bleed-over is not "normal", but I'd bet it's common. It's a sign that you're not doing scrum "properly". My own elevator pitch for kanban to other teams still in the scrum world is: if you're not having problems, then don't switch, but if you're having problems (some of which include bleed-over, some of which include long meetings) give kanban a shot. Some teams have switched back after trying kanban, too, it's not for every team anymore than any other process or tool is.

You could also say to switch up what scrum means if you're having trouble -- to be honest I've never considered the idea of just ending the sprint early (and rescheduling the sprint planning meeting!), I'm skeptical than any of the "Certified Scrum Masters" I know have either... But it still can't be done if you are finished early but the rest of the team isn't. My team didn't really have a problem with taking on work assigned to someone else so long as that work wasn't started yet, but things get tricky when all the work assigned has been started by someone. A solution in that case does present itself besides just bringing in something new, it's the same solution as kanban when the buckets are full: join another developer on their story and pair (doesn't have to be "formal" pairing even) to get it done faster.

But you've highlighted another problem with the whole mess, that being ownership accountability. Lack of visibility outside of the standup meeting into what Dev B is working on when they're paring with Dev A (who is the sole "assigned dev" in the tracking system) is an obstacle to incentivizing pairing. Sometimes you need that visibility. On an old team I left because of terrible management, there were just two of us devs at one point. One sprint it turned out that my face was on the dev column for almost all the items, the sprint before it was my coworker's face, in reality we paired on almost everything. But that second week my manager (who never joined our standups) asked "What are your thoughts about Dev A's work performance? You seem to be doing everything right now." Management memory was sprint-to-sprint. This isn't a problem with scrum, of course, though it does enable that problem to surface where at least in a kanban style you'd have the giant column of closed things having a mix of faces.

Re:JIRA is an antipattern by the_gipsy on Monday December 10, 2018 @09:10AM (#18647972)
> If the entire team finishes early,

What I have seen mostly, is that the devs finish early (about 1/2 or 3/4 into the sprint), and wait for QA. And so, QA is idle at the start of the sprint. Bleed-over was then just accepted and incorporated, while I was not sure of the usefulness of "sprints" anymore.

Re:JIRA is an antipattern by arendtio on Monday December 10, 2018 @02:24AM (#18645914)
> I think you've hit on the fundamental contradiction of agile and scrum.

IMHO, Scrum is a tool bring an agile development process to a classical project organization. The idea behind Scrum is to build your own 'bubble' (the development team) where you can use an agile approach while assigning people who are meant to manage the interactions with the rest of the organization (Scrum Masters).

So in the end, Scrum is some kind of practical approach to bringing agile development practices to large organizations and obviously, that is a compromise. So there is no contradiction, it is just that Scrum is not the solution, but a (first stage) tool to change existing organizations to become the agile organizations we would like to work within.

Sadly many companies think they are 'Agile' once they adopted Scrum, but often they embraced the 'Processes and Tools' while agile clearly states that 'Individuals and interactions' are the relevant part:

http://agilemanifesto.org

Re:JIRA is an antipattern by jacobherrington on Monday December 10, 2018 @06:22AM (#18647046)
I've literally always felt that Scrum and the Agile Manifesto were at odds due to Scrum's focus on process. I always have trouble communicating this though.
Re:JIRA is an antipattern by pjmlp on Monday December 10, 2018 @02:41AM (#18645981)
That is how it starts, but on the customers I have worked so far it eventually evolves into a kind of mini-waterfall when the development team needs to interact with other departments, and moving tasks between sprints is yet another common activity.

Ah, and then there are the projects where Jira items are mapped into SAP items for project accounting, which introduce yet another "not so fun" discussion about when projects activities are supposed to be paid.

Re:JIRA is an antipattern by tnolet on Monday December 10, 2018 @03:00AM (#18646067)
This is what epics are for and they are right there in Jira.

1. Create epic with full context. 2. Create sub stories or tasks that describe the smaller deliverables. 3. Boom. Small tasks with a direct link to larger context.

Works 100% fine in Jira and has since the early days.

Re:JIRA is an antipattern by wavefunction on Sunday December 09, 2018 @05:11PM (#18643619)
Three weeks? Are you employing non programmers to program?
Re:JIRA is an antipattern by ArchTypical on Monday December 10, 2018 @01:55PM (#18650244)
> implementation of an upload button

Design team makes a mock that is styled and placed correctly, including moving around exiting elements in the page.

> a datastore to store the uploaded values

Just 1 datastore? More like:

+ a frontend service to get/put and validate the data is in the right format with sizing

+ a backend storage service (hardened because we don't know what's in the document) for get/put with sizing and validation

optionally - an integration into a legacy feeds system to get the spreadsheet's data to all of the places it needs to go

Ensure Legal, ADA, FDA, whatever compliant.

Document EVERY decision along the way and coordinate.

3 weeks looks a little hight to me, but things tend to go awry with so many moving parts.

Re:JIRA is an antipattern by tigershark on Sunday December 09, 2018 @03:52PM (#18643182)
I think you need better software developers or a better system if for a person in your team, fluent with the object model and the systems downstream, takes 3 weeks to import data from an excel sheet honestly...
Re:JIRA is an antipattern by spookthesunset on Sunday December 09, 2018 @04:06PM (#18643281)
> I think you need better software developers or a better system if for a person in your team, fluent with the object model and the systems downstream, takes 3 weeks to import data from an excel sheet honestly...

Ah yes, nothing is better than questioning the estimate of a hypothetical user story that lacks any and all detail about the existing environment.

Like, maybe 3 weeks is quick? Maybe there is all kinds of shit you didn't even think of at all? Maybe the excel sheet has all kinds of weird non-canonical data that makes it very hard to reliably import? Maybe nobody on the team ever touched an excel spreadsheet in their life, let alone imported one?

Like.... seriously. Are you one of those people who always go "you people are idiots, I can do task XYZ in 1/3 of the time all you estimated"?

When an engineer tells you something will take 3 weeks, you listen to them.

Re:JIRA is an antipattern by tigershark on Sunday December 09, 2018 @04:25PM (#18643374)
If it takes three weeks to import an excel sheet either you change your system or your engineers. tertium non datur.
Re:JIRA is an antipattern by scarmig on Sunday December 09, 2018 @04:42PM (#18643461)
All the most profitable companies I've ever worked for, which also have had the smartest engineers I've worked with, would take longer than three weeks to build an Excel sheet import system. An engineer thinking it can be done correctly in three weeks, without bothering to know all the requirements, would be a red flag for all except the most junior of positions.
Re:JIRA is an antipattern by wolco on Sunday December 09, 2018 @06:07PM (#18643901)
A junior engineer thinks speed is the most important metric.
Re:JIRA is an antipattern by lorenzk on Sunday December 09, 2018 @04:40PM (#18643451)
In case it helps you to see OPs point, please contact this person for a spreadsheet to import.

https://news.ycombinator.com/item?id=18608294

It needs half a terabyte of RAM to open.

Re:JIRA is an antipattern by JustSomeNobody on Sunday December 09, 2018 @09:12PM (#18644683)
I remember all of the "I could write Twitter in a weekend" posts on blog years ago. Your comment reminded me of that, sadly.
Re:JIRA is an antipattern by kiallmacinnes on Sunday December 09, 2018 @10:00PM (#18644846)
What if importing an excel sheet actually means importing an excel sheet, formulas and all, instead of a CSV? Commenting on a hypothetical estimate on a hypothetical story isn't adding much value...
Re:JIRA is an antipattern by wool_gather on Sunday December 09, 2018 @04:50PM (#18643496)
The task isn't "import data from a spreadsheet", it's implement a feature that allows users to import data from their spreadsheets.
Re:JIRA is an antipattern by dvlsg on Sunday December 09, 2018 @05:15PM (#18643645)
Ironically, this is a pretty good example of why tickets end up the way they do in jira - overly specific and concrete. Even the hypothetical situation is getting misinterpreted.

I would still love it if user stories were implemented as the "why" (or even "what") instead of "how", though.

Re:JIRA is an antipattern by sethammons on Sunday December 09, 2018 @08:15PM (#18644455)
Stories should absolutely be a "what" and a "why." Stories are property of the product owner and they are ideally writing them. The "how" is up to the team or implementor. If your product owner is specifying "how," that just sounds wrong. Maybe they could suggest how if they are a domain expert.
Re:JIRA is an antipattern by phs318u on Sunday December 09, 2018 @07:50PM (#18644353)
I.e. requirements.
Re:JIRA is an antipattern by itronitron on Sunday December 09, 2018 @09:20PM (#18644727)
so, basically just paste data in from clipboard
Re:JIRA is an antipattern by JohnBooty on Sunday December 09, 2018 @09:10PM (#18644677)

    Jira was designed for agile software development 
    like Scrum, so you should write user stories, not 
    mini specifications.
Yeah, this is true.

I was at a company that did Scrum. There were two managers who functioned as product owners on the scrum teams.

Manager A took the correct approach. Developers were aware of the overall goal, and we broke those goals down into stories, and broke the stories down into tasks. As developers we had a good sense of ownership and responsibility.

Manager B tended to just issue stories (which were really mini specs) to us. We were treated like children. We didn't know why we were doing what we were doing, and were not able to contribute to the design of the solutions we were handed, which were often suboptimal.

A lot of teams take "Manager B's" approach and wonder why the developers hate Scrum.

Re:JIRA is an antipattern by rficcaglia on Monday December 10, 2018 @09:20AM (#18648044)
I love being manager A. I always start sprints/epics as manager A. In my experience 1 of 5 projects succeeds with Manager A and I get a very superior result with a solution I myself would have never thought of. Rainbows and unicorns everywhere!

But...the other 4 times I get either no solution, or the Upload button only works as long as one user at a time tries it, or only on Chrome when all customers use IE8, or the documents randomly disappear when new dockers spin up, or the button needed to be WCAG compliant and no one bothered checking, etc. Suddenly I am forced to be Manager B and no one is happy. The feature is 3x over budget and 3 weeks late.

What leading indicators can we use to predict or at least alert to a failing Manager A project early in the cycle so I can do what I love, devs can do what they love, biz stakeholders get things on time and on budget, and customers can get something they love?

Re:JIRA is an antipattern by JohnBooty on Monday December 10, 2018 @09:22PM (#18652878)
> 3 weeks late

Whatever's going on, you gotta catch it sooner, right? Any way the stories can be smaller and get out to QA sooner?

Maybe you could try being "Manager AB"

Instead of a totally hands-off "Manager A" style maybe you can work more closely with them to develop those stories and make sure they understand what technical requirements (WCAG compliance, etc) each story needs to hit before they estimate them

Re:JIRA is an antipattern by rficcaglia on Tuesday December 11, 2018 @09:43AM (#18655551)
Not hands off - just not spoon feeding. Manager A lets experts be experts and be creative and take responsibility but gives guidance and guidelines.

But experts are fallible, and distractions are many, and sometimes even experts get lazy or confused or overwhelmed.

Re:JIRA is an antipattern by theptip on Sunday December 09, 2018 @04:27PM (#18643401)
I was about to comment with the exact same quote.

This is my main issue with the OP; if you're using Jira for tasks like "Implement the upload button" then of course your developers are going to lack context about the broader vision/roadmap. That sort of division of labor encourages "widget factory" thinking. This is not a problem with Jira, it's a problem with the underlying product planning process.

I'm sure plenty of companies have "scrum masters", create Jira tickets called "stories", and think they are "doing Agile", while using a process like that. But that's seems like cargo-cult agile software development to me.

I do agree with the narrower critique that it's hard to present a broader roadmap with Jira; I've found Portfolio to be only OK for managing sequencing of Jira epics without getting bogged down in the details of individual stories.

Re:JIRA is an antipattern by bloomca on Sunday December 09, 2018 @03:27PM (#18643069)
You can't share context indefinitely, so at some point you have to commit to a solution.

E.g. "As a user, I want to be able to import the Excel reports that I get from company $XY, so that I don't have to manually enter the data, and save a lot of time that way" can transform into "As a user, I want data from $XY company in my system with minimal effort" during grooming or planning, but rarely during development (it is also possible, but it will break all your sprint commitments, and possibly other teams' commitments as well).

Now, regarding the broader context. It depends on the project – the larger it is, the harder it is to share it. In a small project it is very simple to describe in user story why is it needed, what is the end goal, and link to some epic. In the large projects, however, it is much more tricky, and while their example is a little bit too much, but sometimes it will literally hurt the project to share too much (not from security perspective, just from the amount of information). Sometimes there is too much info, and only PM/PO/BA know enough to judge, and sometimes such story is too big, and you end up with it being an epic, and "Implement a button" is a user story.

JIRA might work, and it works pretty well for many companies. From my experience, it is the best for middle sized companies – too much overhead for small companies, not detailed enough for too big companies.

Re:JIRA is an antipattern by hellofunk on Sunday December 09, 2018 @02:38PM (#18642783)
>"As a user, I want to be able to import the Excel reports that I get from company $XY, so that I don't have to manually enter the data, and save a lot of time that way",

This is a more general user story than I've seen when I've worked in agile developments. Usually, the stories are quite specific, like "As a user, I can click an Upload button to provide an Excel report."

Re:JIRA is an antipattern by mcbutterbunz on Sunday December 09, 2018 @04:26PM (#18643389)
I agree. Usually the stories I've seen written are very implementation specific rather than an expression of the desired state. I believe its because its easier to think about concrete solutions. This goes for product owners and devs alike.
Re:JIRA is an antipattern by antod on Sunday December 09, 2018 @07:27PM (#18644278)
> Jira was designed for agile software development like Scrum,...

Alternative view: when agile software development features finally turned up for Jira, they still took a while to graduate from paid plugin (Greenhopper) to core features.

To me "designed for" always felt like "tacked on", and that they were somewhat fighting existing legacy object models.

Re:JIRA is an antipattern by FlyingAvatar on Wednesday December 12, 2018 @11:39AM (#18665319)
This.

JIRA has been around over 15 years and definitely supported other workflows before it supported Agile ones specifically.

To me, it has felt in need of a complete rewrite for probably half of that time.

If you've had to do administration for it, or have had to dive into more complex configurations, it definitely feels like it's more baggage than product.

Re:JIRA is an antipattern by SpicyLemonZest on Sunday December 09, 2018 @02:39PM (#18642794)
The problem is that tracking dependencies is a critical part of most software development. For example, the "import reports from $XY" story really needs to have a consistent user experience with the "import data from $AB" story. if I can't express that dependency in the tool, I have no choice but to write down the $AB workflow as a specification for the $XY ticket.
Re:JIRA is an antipattern by skybrian on Sunday December 09, 2018 @03:20PM (#18643032)
I think the theory is to do a simple end-to-end implementation for $xy and then redo the UI when you add $ab. Or the other way around, if the customer wants $ab first. So the dependency isn't a static thing, it depends on prioritization of the user-facing features.

Implicit in this is the assumption that you're not scared of redoing the internals or redesigning the UI as you add features.

Re:JIRA is an antipattern by lugg on Sunday December 09, 2018 @04:14PM (#18643310)
Scared of? Sometimes that incurs designer and translation costs.

It's not about changing the interface frequently. It's about changing it poorly.

Re:JIRA is an antipattern by skybrian on Sunday December 09, 2018 @04:32PM (#18643416)
Well, they're closely related. If you have a designer on the team, don't have translations (yet) and it's easy to back out a change, mistakes aren't that big a deal, and everything is easier, faster, and more fun.

But as churn gets more expensive (and this is sometimes inevitable), you want to try harder to avoid it. A process is only agile while revisions are cheap.

It seems like a lot of arguments could be avoided if it were more widely understood that this is a trade-off, with agility on one end and stability on the other, and stability is often good. Particularly when a lot of people depend on you.

Re:JIRA is an antipattern by lugg on Sunday December 09, 2018 @10:11PM (#18644888)
Agreed, but you tried to make me sound like a pussy for understanding that tradeoff.

"Unless you're scared of a little moving fast and breaking things."

Re:JIRA is an antipattern by skybrian on Monday December 10, 2018 @01:17AM (#18645641)
Sorry, I certainly don't mean you in particular!

It's a common pattern. When a software system becomes complicated and fragile, it's quite common for the developers to get scared of breakage and move slowly.

Sometimes there are fundamental reasons for moving cautiously, and sometimes they're accidental reasons that could be fixed with a better process (such as better tests). Either way, just being more reckless isn't going to help.

Re:JIRA is an antipattern by xg15 on Sunday December 09, 2018 @05:02PM (#18643561)
Dumb question: If you implement $xy but know $ab and $cd are likely to follow, would it be against scrum to directly implement a generic upload button?
Re:JIRA is an antipattern by skybrian on Sunday December 09, 2018 @07:50PM (#18644352)
I haven't done scrum but I don't think it says anything about this. Back when I was doing XP (a long time ago), the idea was that it should be shippable in case plans change and you never get to $ab and $cd for some reason.

So if you had in mind a generic upload UI where it would look weird with only one choice in the menu, then better to skip the menu entirely for now. It makes the UI worse, and implementing the menu is more work. Plus you don't want to end up with dead code lying around if plans change, since that could confuse someone later.

But if none of those considerations apply and the generic version is actually easier to implement and the UI is just as good, sure it's fine.

Re:JIRA is an antipattern by xg15 on Sunday December 09, 2018 @08:28PM (#18644511)
Ah, that makes sense.
Re:JIRA is an antipattern by tynpeddler on Monday December 10, 2018 @11:27AM (#18648992)
Don't write user stories. Many of the tasks that can be accomplished in a sprint aren't actually useful to users. In addition, stories aren't for users, they're for developers. The story, first and foremost, must be friendly enough to the developer that they can pick it up and work it. Instead, write user features. Let the developers write the stories. It took a while to convince my team of this (agile consultants can do a real number on people sometimes) but in the end, it let everyone write down and organize what they needed to, and it helped us organize all the work in a single hierarchy.
Re:JIRA is an antipattern by rawoke083600 on Monday December 10, 2018 @12:02AM (#18645353)
lol scrum... what a wasted time those meetings were... pulling numbers out the air...
Re:JIRA is an antipattern by facorreia on Sunday December 09, 2018 @05:41PM (#18643777)
> And so people take tickets, implement them as written, pass them off to whoever is next in the workflow

Sounds like a process problem and communication breakdown, not a JIRA issue. We use JIRA and it isn't like that at all.

Re:JIRA is an antipattern by shliachtx on Monday December 10, 2018 @09:21AM (#18648054)
> An upload button alone is no user story, a story might be "As a user, I want to be able to import the Excel reports that I get from company $XY, so that I don't have to manually enter the data, and save a lot of time that way", ideally including a reason why that data needs to be there.

I think that practically this often ends up being "As a user, I would like to have an upload button", Of course, adding "As a user" to the beginning of a sentence does not a user story make.

Re:JIRA is an antipattern by augbog on Sunday December 09, 2018 @02:59PM (#18642923)
I agree with a lot of these things -- although I will say it took us a lot of time and the right people to help SET UP JIRA to be able to work with our process.
Re:JIRA is an antipattern by Drdrdrq on Sunday December 09, 2018 @03:57PM (#18643214)
This. Setting up Jira invariably meant searching internet for me. I have seldom worked with less intuitive UI (Outlook comes to mind, but it is a much smaller app). In light of this article - is it because noone had a clear vision of the app and they all just implemented tickets?
Re:JIRA is an antipattern by angry_octet on Sunday December 09, 2018 @05:05PM (#18643575)
Sounds like they had no process to begin with, found a ticket tracking tool, made fulfilling tickets their process, and now blame the tool.
Re:JIRA is an antipattern by TheGRS on Sunday December 09, 2018 @07:51PM (#18644363)
That's kind of funny to think about. I'm pretty sure most of JIRA's configuration faults are from over-zealously fulfilling every wish their customers in the early-to-mid level stages had. I'm always confused by the "workflow screen" section and why it was ever done that way.
Re:JIRA is an antipattern by dominotw on Sunday December 09, 2018 @10:30PM (#18644965)
> Jira was designed for agile software development like Scrum

it says it was created in 2002

Re:JIRA is an antipattern by swish_bob on Monday December 10, 2018 @09:01AM (#18647915)
Snowbird was 2001.

That said, I remember using Jira before it had any understanding of an agile workflow, because part of my job was creating one in it.

Re:JIRA is an antipattern by partycoder on Sunday December 09, 2018 @04:56PM (#18643525)
If you define and implement all user stories, in the end what you will have is: a functional prototype, not a product.

A finished product can be sold ethically, a prototype cannot.

Re:JIRA is an antipattern by jiveturkey on Sunday December 09, 2018 @03:35PM (#18643109)
true about weaknesses such as complex dependencies but you don’t have to use jira exclusively. it’s just a tool not an entire process.
Re:JIRA is an antipattern by captain_crabs on Sunday December 09, 2018 @03:13PM (#18642994)
I haven't read any further comments on purpose, immediately logged in to reply because I have a prediction:

People are going to say the user story you listed is _way_ too vague, general, or otherwise "not right" or "something they've never seen." They're going to reject it/pick it apart for a litany of reasons, all of which triangulated against their individual experiences. Me too! Here goes:

I've found "user stories" miss entire dimensions of context from the business side which are incredibly important to developers. In lesser-performing orgs, this is often a way the "business folks" (and yes - in some orgs, there is a distinct divide) wield information asymmetry to pawn off blame onto devs when "things aren't right." This information about how people are really gonna use the software vanishes somewhere along the way before it turns into a user story. This post gets at the heart of it pretty well: https://jtbd.info/replacing-the-user-story-with-the-job-stor... (which, btw, if this makes sense to you, is something you're strangely passionate about, and you're not familiar with "jobs to be done" then go get intercom's free ebook on it right now)

I have another guess. This is less of a prediction, more of a thing I'd like to find out: of all the people who reject your user story, how many of them have worked at places where their product manager isn't a technical person?

My guess is: most of them. I'm also guessing PM's get super specific because developers moan at them over minutiae, info gets cut out/they don't realize it's important, and there you go.

I'm betting most orgs adopt agile as a means of combating poor engineering dept performance, and generally (not all the time - but generally) this is directly due to the people managing the technical people not knowing what they're doing, so it's essentially a set of default behaviors that protect both sides and guarantees some minimum (read: not maximum) of performance. So these product managers who don't understand any development are put in charge of developers consider writing tickets their job, and instead of understanding reality -> reflecting that in tickets, they write their tickets and try to coerce reality to follow.

Frankly, take a bunch of people who already didn't want to change their process, force them to hear "you should update your process that's how things are supposed to be" every day, and after a couple months they actually start to do it.

Ticket shaping is super hard. I don't trust a non-technical PM to do it right, unless they happen to be experienced and/or have devs alongside them who are essentially just doing their job for them. Add onto this the fact that typically management consider all parts of software development a linear process.

Not to say you can't have PM's who are nontechnical, and can bring all the right context/organize everyone in the right ways. I believe they exist, I just haven't worked with any. Devs are generally ineffective at communicating technical context in non-technical ways, and reality is an emergent mix of both business & technical.

this has turned rambly. tl;dr - user stories are such a vague/overloaded concept for so many reasons, if you have the choice read up on "job stories" and try and switch to those. They're no less confusing to implement, but they force you to find answers to much better questions.

Re:JIRA is an antipattern by captain_crabs on Sunday December 09, 2018 @03:16PM (#18643008)
And final thought, "correct" or not, a guiding principle that's proven useful over time: individual tickets should deliver true pieces of "value" which is to say, once deployed, the software does more of what people need than before. So when a ticket is "done," it means something was improved however it was needed across all levels of the stack.

None of this "button here" "wire it up later" "now add the db table" etc.

Re:JIRA is an antipattern by bloomca on Sunday December 09, 2018 @03:30PM (#18643082)
I think it is possible only in simple software (when you are developing an MVP, or just early stages).

Complex tasks are incredibly hard to finish as a single ticket – with such granularity you might have opaque progress for couple days, and you hide a lot of details from everyone.

Unless you mean "tickets" as "user stories", they can be (although not always) treated like that.

Re:JIRA is an antipattern by captain_crabs on Sunday December 09, 2018 @04:18PM (#18643334)
God I can't stay away from this thread.

Yeah - entirely depends on your subdivision vernacular. Some people make subtasks in a ticket, some people make tickets linked to other tickets, some people do both and link those to "features" which are themselves tickets (like the environment I work in).

Just depends!

Re:JIRA is an antipattern by captain_crabs on Sunday December 09, 2018 @04:04PM (#18643267)
Sounds like we agree, but use different names for the same things and some of the same names for some different things! :)
Re:JIRA is an antipattern by fatnoah on Monday December 10, 2018 @02:27PM (#18650483)
>Ticket shaping is super hard. I don't trust a non-technical PM to do it right, unless they happen to be experienced and/or have devs alongside them who are essentially just doing their job for them.

It is very hard. At my last gig, we got to a generally good state where the PMs were responsible for periodically outlining their overall "vision" to the team, which captured what we're building and why we're building it. In stories, PMs were made to be very focused on focusing on "what", not "how", and to provide the context for "why". That let the PMs stay out of technical details and let the Engineers use their brains to fill in gaps.

It took some pain and effort to get to that point, but once we got there, it worked very well.