Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "feature creep"
-
If your manager asks for a "rough time estimate" for a project, there is a higher than 99% chance that your answer will be written down and be used in presentations of project roadmap to upper management and/or marketing, who will create a hard deadline based on your rough estimate and communicate this to customers/clients, and then blame you for not keeping the deadline when it turns out (as it always does) that the rough estimate was off by several months because feature creep caused by upper management.3
-
Get assigned ticket.
Finish the most of the feature. Finish most of the specs.
Push.
Second dev wants to own accounting half of the ticket.
Rip out half my changes, rewrite specs.
Push.
Code review asks for minor changes.
Finish them.
Push.
Product creep creeps the scope.
Finish the feature again.
Push.
Product creep creep-creeps the scope.
Finish the feature again.
Push.
New release happens.
Merge in master; fix conflicts. Run specs; random unrelated specs fail, some fail intermittently. Rabbit holes of complicated, unexplored, obviously-flawed code.
Fuck that. Push.7 -
I call my git repos the field hospital.
I didn't finish my studies, but I seem to be the most qualified person to pick up the scalpel. Big corner of body bags. New brilliant ideas arrive, I do what I can with the time I have. Sometimes something survives, but it's usually too heavily mutilated to fully function. Unfinished refactorings develop into hardened scar tissue, the feature creep starts festering and leaking.
I should get better at triaging, just deleting old crap, pick one project and nurse it back to health.
But it's not easy to start with fresh focus, when your keyboard is still soaked in booze and the blood and tears of all the victims you've butchered.3 -
System design meeting with the client.
Client: We need feature X in the design document
Me: But feature X was not a requirement, so it's not in the document and we will not add it.
Client: But feature X should be a common feature today.
Me: That doesn't matter, it wasn't a requirement. And besides that you don't even need it today, the planned system doesn't even support feature X, so we couldn't implement it, even if it was mentioned in the design document.
Client: But we may need it some day, and what do you do, when we decide to enhance the system in a few years and we need that feature then?
Me: Then we make you an offer for feature X.
Inner me: You ordered a bicyle and now you want it converted into a delivery truck next year without charge. That's not how things work.3 -
FUCK YOU BUSINESS GUY
FUCK YOUR SCOPE CREEP
SOLO DEV AINT GIVING U 20 FEATURES IN ONE MOTHERFUCKING WEEK
Seriously, though. Being a solo full-stackq developer who can do both frontend (react, redux) and backend (feathers, node) does NOT mean you have twice the manpower to accomplish all of your shitty shit. Just because you have an idea does NOT mean I have to implement all of it. You don't even have a motherfucking specifications for me, yet you expect me to deliver shitloads of complete fucking feature in a fucking week. This is not a fucking joke. I am NOT your mother fucking tool. I need time to build my stack, design and perfect the interface. I don't want a shitty motherfucking product on my fucking portfolio.
*dies inside*11 -
I knew I had found the right group of friends when one of them suggested we try SQL Injection on the instant messaging feature of the bowling alley console.
Unrelated, do people not think, "hmm, that seems like an unnecessary feature?"2 -
A programmer can code.
A developer is a jack of all trades jumping into any stack and mastering the basics in a weekend.
So why the fuck can't I grasp humans. Their code is spaghetti....
Debugging gives way to many problems...
Atleast my personal code has a feature creep and for once it's a good thing!3 -
I despise it when software developers remove features because "too few people use them".
Is this what those shady telemetry features are for? So they can pick which useful features to get rid of because some computer rookies whined that it is "feature creep" rather than just ignoring it?
Now I have to fear losing useful (or at least occasionally convenient) features each time I upgrade, such as Firefox ditching RSS, FTP, and the ability to view individual cookies. The third can be done with an extension, but compatibility for it might be broken at some point, so we have to wait for someone to come up with a replacement.
Also, the performance analysis tool in the developer tools has been moved to an online service ("Firefox profiler"). I hope I don't need to explain the problems with that.
But perhaps the biggest plunge in functionality in web browser history was Opera version 15. That was when they ditched their native "Presto" browsing engine for Chromium/Blink, and in the process removed many features including the integrated session manager and page element counter.
The same applies to products such as smartphones. In the early 2010s, it was a given that a new smartphone should cover all the capabilities of its predecessors in its series, so users can upgrade without worrying a second that anything will be missing. But that blissful image was completely destroyed with the Galaxy S6. (There have been some minor feature removals before that, such as the radio and the three-level video recording bitrate adjustment on the S4, but that's nothing compared to what was removed with the S6.).
Whenever I update software to a new version or upgrade my smartphone, I would like it to become MORE capable, not LESS (and to hell with that "less is more" nonsense).10 -
Overhearing your boss pitch the application you're currently working on to a client as an effort to save them from leaving, only to also hear him list features that were never discussed as part of the application launch.1
-
Beware of scope creep. If it's a bug, fix it for free. If it's a new feature or changed from the original signed off scope, charge for it.1
-
Whelp. I started making a very simple website with a single-page design, which I intended to use for managing my own personal knowledge on a particular subject matter, with some basic categorization features and a simple rich text editor for entering data. Partly as an exercise in web development, and partly due to not being happy with existing options out there. All was going well...
...and then feature creep happened. Now I have implemented support for multiple users with different access levels; user profiles; encrypted login system (and encrypted cookies that contain no sensitive data lol) and session handling according to (perceived) best practices; secure password recovery; user-management interface for admins; public, private and group-based sections with multiple categories and posts in each category that can be sorted by sort order value or drag and drop; custom user-created groups where they can give other users access to their sections; notifications; context menus for everything; post & user flagging system, moderation queue and support system; post revisions with comparison between different revisions; support for mobile devices and touch/swipe gestures to open/close menus or navigate between posts; easily extendible css themes with two different dark themes and one ugly as heck light theme; lazy loading of images in posts that won't load until you actually open them; auto-saving of posts in case of browser crash or accidental navigation away from page; plus various other small stuff like syntax highlighting for code, internal post linking, favouriting of posts, free-text filter, no-javascript mode, invitation system, secure (yeah right) image uploading, post-locking...
On my TODO-list: Comment and/or upvote system, spoiler tag, GDPR compliance (if I ever launch it haha), data-limits, a simple user action log for admins/moderators, overall improved security measures, refactor various controllers, clean up the code...
It STILL uses a single-page design, and the amount of feature requests (and bugs) added to my Trello board increases exponentially with every passing week. No other living person has seen the website yet, and at the pace I'm going, humanity will have gone through at least one major extinction event before I consider it "done" enough to show anyone.
help4 -
In game development feature creep tends to kill games because it's just as much about what's NOT there as what IS there.
Take The Last of Us for example. Would a strategic tower defense segment make sense? No? And if it was a *hugely* popular mechanic at the time of development is there a real chance they would have included such a segment in TLOU? Yes.
Don't just believe me. Go take a look at what happened to the original Fortnite versus the hills-have-eyes inbred offspring that it became all because PUBG and its format were cancerously mega popular at the time.
That's why while developing my game Atom Ranger (now with 100% less multiplayer!), a mix between metro and don't starve, I spent six years *pruning* features. You can click my referral link and get 50% off the opportunity to become an unpaid tester of the pre-prealpha right now, "for hardcore players only!" (Tm)
My game:5 -
Dear laptop vendors, stop wasting so much precious device estate on nothing!
This wasted physical space could easily fit in six USB ports, or four USB ports and two HDMI ports, or four USB ports and one HDMI and one LAN. Or four USB ports and two SD card slots.
> "Who the heck needs 6 USB ports?"
You don't need more USB ports… until the day you do need them comes.
> "HDMI and LAN are feature creep!"
It's "feature creep", until you need it.
> "Ever heard of USB hubs?"
While better than nothing, they are tedious to carry around and can hardly support more than one external high-power device such as an external hard drive or blu-ray drive, except if you have an external power adapter, which is even more tedious to carry.
Also, have fun closing programs until the operating system stops whining "volume is busy" just so you can unmount your external SSD and then reconnect it through a USB hub. Sounds like fun, huh?
You were playing audio from your external SSD? Too bad. Now you need to close the media player to be able to unmount the SSD, then later restart it and seek the last position. And all of that could be avoided if your laptop happened to have one more USB port.10 -
Feature creep is absolutely terrible. Every freaking time I start working on my game I’ll tell myself, “okay, I’m almost done. 90% done, just got to finish up these designs her- wait a minute, does that button look right?” *Proceeds to completely redesign the UI and add 8 more options.* etc, etc.
Point is, I need to stop adding stuff. I need a hard deadline.2 -
My first freelance project.
My wallet was almost empty, but I got a 1 week project (YAY!), but paid after completion. Obviously, it didn't work out well. Feature creep followed me into the second week, I didn't get paid, I was out of money. When I asked for payment, their accountant was on vacation, and they told me they would pay me when everything is completed.
Went to stackoverflow (one of the sites that relates to freelancing) and asked about this dilemma. Was advised to move on unless they pay me. When I told them that I want out, because of money, they quickly found that accountant.
But even after that, ODesk (now upwork) was only pain. I was too fast for it. I demanded like 30$ per hour, which nobody wanted to pay, but when someone did risk it, they got too much for it. I ended up living paycheck to paycheck because it's so hard to convince people that you're good enough.
That site is only good for people in countries with very low living cost, that are OK with spending 4 hours per day trying to convince people of something.2 -
rant="""
It's too many features for me to keep up with. And the client just bounces between this matrix of all the possible permutations of them, refusing to admit that he is asking for mutually exclusive behavior in more than one place. I have mentioned to him at least 12 times a year that there is too much going on, not organized, we need to simplify, prioritize, or we will have 100 half baked untested features.
Of course it is more or less made it out to be that this is all my fault, or at least it's hard not to feel that way when I say:
It will be a long time before X will be working, we need 25 other things first.;
Next day he asks:
Have you made any progress on X;
I reply: Now we need 24 things to be done at this rate it will be a month.;
He replies:
Ok but I need this yesterday. How about if you add a new feature Y that does everything X does without those 24 things?;
I reply: That will not work at all like X. Y is just X + 1 more feature.
He replies: Ok well I need Y so when you're done with X I need a way to do it like Y also. I just thought it'd be easier.
EASIER TO ADD MORE FUCKING FEATURES YEAH SURE THATS EASY AS FUCK YOU FUCK FUCK FUCK. He's a nice enough guy, pretty smart compared to my first few paying gigs, but wtf really? How do I come out and tell you I need 25 days and you ADD more work? This was one example.
IN TWO days he has added 12 features. And during the week has asked for 29 UI interfaces to be COMPLETELY different. This is becoming COMMONPLACE. Every week there is either a huge change, or a conversation like about that finds its way into the entire business flow inside an dout.
The worst thing is: I TOTALLY understand what he needs. I feel that HE doesn't. This weekend I spent literally HALF of his retainer on getting equipment into my hands to bring it back to find out it DOESNT WORK. Why aisn't HE doing this so I can finish the features from NOVEMBER that HE NEEDS in order to PROCESS SALES.
I've tried and tried but I just can't get through to this client what a tremendous waste of time his \"process\" is, for lack of a better word. Constant changes, contsant additions, lack of clarity, needless repetition and contradictions, constantly adding moonshot ideas to compete with every industry in the region, and not beta testing anything until something goes wrong.
Fuck this guy! His business is failing and I felt responsible for the longest time but it is clear to me that if I wanted to save his business I would have to ignore 95% of his feature requests. I ignore 50% now because of the stress in trying to determine which of the 3 different paradigms he is talking about changing. I will lose this client, and I feel like he will sue me to get all of his money back. He holds me to very little honestly - BUT WEEKLY reminds me that he won't be able to pay me next month if feature XY and Z arent ready!
If a developer is CLEARLY overwhelmed, it makes NO sense at all to continue to PILE ON feature after feature
"""
try:
while true:
rant+=", after feature"
except DevHeadExplodes as inevitable:
raise YourDevsRatesOrLookElsewhere(inevitable)8 -
Most pissed off I've ever been at work when was I attending some development meeting about the "slow progress we were making", in which the boss (same one giving us shit for being slow) came up with several new good ideas that he wanted implemented ASAP. Same thing he'd been doing all year; fucking up our plans and adding a metric shitton of feature creep. I tried to give realistic estimates for how long it would take to implement, and casually mentioned that working on this would also push back the other stuff on our plate, but he snapped at me and accused me of being a "negative influence" and "sabotaging the project", and went on in a long rant about how we didn't take the work seriously enough and that we didn't put in enough effort.
I was a hair's breadth away from flying over the table and strangling him with his keyboard cable, and the only thing that kept me in check was the tiny amount of steam I vented by snapping the pen I was holding in two. We'd been working overtime every day for months to try to meet his insane demands and accomodate him by doing all the changes and additions he wanted done, and I found his tirade - mainly targeted at me - highly unfair.
Somehow I managed to exercise restraint, and I'm not sure if he even realized what happened.1 -
Me: "there's a fatal crash in the build that has gone to testing, this is how we fix it"
Project lead: "they haven't noticed yet, add the feature the boss wants"
Next day, boss:"testing found a fatal crash this morning and couldn't do any testing because of it, how'd it get past you?!" -
A tale of silos, pivots, and mismanagement.
Background: Our consultancy has been working with this client for over a year now. It started with some of our back-end devs working on the API.
We are in Canada. The client is located in the US. There are two other teams in Canada. The client has an overseas company contracted to do the front-end of the app. And at the time we started, there was a 'UX consultancy' also in the US.
I joined the project several months in to replace the then-defunct UX company. I was the only UX consultant on the project at that time. I was also to build out a functional front-end 'prototype' (Vue/Scss) ahead of the other teams so that we could begin tying the fractured arms of the product together.
At this point there was a partial spec for the back-end, a somewhat architected API, a loose idea of a basic front-end, and a smattering of ideas, concepts, sketches, and horrific wireframes scattered about various places online.
At this point we had:
One back-end
One front-end
One functional prototype
One back-end Jira board
One front-end Jira board
No task-management for UX
You might get where this is going...
None of the teams had shared meetings. None of the team leads spoke to each other. Each team had their own terms, their own trajectory, and their own goals.
Just as our team started pushing for more alignment, and we began having shared meetings, the client decided to pivot the product in another direction.
Now we had:
One back-end
One original front-end
One first-pivot front-end
Two functional prototypes
One front-end Jira board
One back-end Jira board
No worries. We're professionals. We do this all the time. We rolled with it and we shifted focus to a new direction, with the same goals in mind internally to keep things aligned and moving along.
Slowly, the client hired managers to start leading everything in the same direction. Things started to look up. The back-end team and the product and UX teams started aligning goals and working toward the same objectives.
Then the client shifted directions again. This time bigger. More 'verticals'. I was to leave the previous 'prototypes' behind, and feature-freeze them to work on the new direction.
One back-end
One conceptual 'new' back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One functional prototype
One back-end Jira board
One front-end Jira board
One product Jira board
One UX Jira board
Meanwhile, the back-end team, the front-end team overseas, all kept moving in the previously agreed-upon direction.
At this stage, probably 6 months in, the 'prototypes' were much less proper 'prototypes' but actually just full apps (with a stubbed back-end since I was never given permission or support to access the actual back-end).
The state of things today:
Back to one back-end
One original front-end
One first-pivot front-end
One 'all verticals' front-end
One 'working' front-end
One 'QA' front-end
One 'demo' front-end
One functional prototype
One back-end Jira board
Two front-end Jira boards
One current product Jira board
One future product Jira board
One current UX Jira board
One future UX Jira board
One QA Jira board
I report to approximately 4 people remotely (depending on the task or the week).
There are three representatives from 'product' who dictate features and priorities (they often do not align).
I still maintain the 'prototype' to this day. The front-end team does not have access to the code of this 'prototype' (the clients' request). The client's QA team does not test against the 'prototype'.
The demos of the front-end version of the product include peanut-gallery design-by-committee 'bug call-outs', feature requests, and scope creep by attendees in the dozens from all manner of teams and directors.4 -
I don't care about market cap. Stick your hype-driven business practices up your ass. Infinite growth doesn't exist. I won't read your fucking books and attend your fucking bootcamps and MBAs. You don't have a business model. Selling data is not a business model. Fuck your quick-flip venture capital schemes, and especially fuck your “ethics”.
I will be the first alt-tech CEO. I only care about revenue. The real money, not capitalization bubble vaporware. You don't need a huge fleet of engineers if you're smart about your technology, know how to do architecture, and you're not a feature creep. You don't need venture capital if you don't need a huge fleet of engineers. You don't need to sell data if you don't need venture capital. See? See the pattern here?
My experience allows me to build products on entirely my own. I am fully aware of the limitations of being alone, and they only inspire lean thinking and great architectural decisions. If you know throwing capacity at a problem is not an option, you start thinking differently. And if you don't need to hire anyone, it is very easy to turn a profit and make it sustainable.
If you don't follow the path of tech vaporware, you won't have the problems of tech vaporware, namely distrust of your user base, shitty updates that break everything, and of course “oops, they raised capital, time to leave before things go south”.
A friend of mine went the path I'm talking about, developed a product over the course of four years all alone, reached $10k MRR and sold for $0.8M. But I won't sell. I only care about revenue. If I get to $10k MRR, I will most likely stop doing new features and focus on fixing all the bugs there are and improving performance. This and security patches. Maybe an occasional facelift. That's it. Some products are valued because they don't change, like Sublime Text. The utility tool you can rely on. This is my scheme, this is what I want to do in life. A best-kept secret.
Imagine 100 million users that hate my product but use it because there are no alternatives, 100 people in data enrichment department alone, a billion dollars of evaluation (without being profitable), 10 million twitter followers, and ten VC firms telling me what to do and what data to sell.
Fuck that. I'd rather have one thousand loyal customers and $10k MRR. I'm different, some call it a mental illness, but the bottom line is, my goals are beyond their understanding. They call me crazy. I won't say it was never about the money, of course it was, but inflating your evaluation is not “money”. But the only thing they have is their terrible hustle culture lives and some VC street wisdom, meanwhile I HAVE products, it is on record on my PH. I have POTDs, I have a fucking Golden Kitty nomination on health and fitness for a product I made in one day. Fuck you.7 -
Are there any tools, points of reference, barebones templates, bits of advice, etc. that anyone can share or direct me to that could potentially a programmer with ADD stay organised and keep projects/code structured?
Just a bit of background:
I am 29 years old and have battled with severe Attention Deficit Disorder since early childhood. No hyperactivity, just a mind that is constantly running at light speed. I have a tendency to lose focus on the main goal in my projects and I fall victim to feature creep more than I'd like to admit—to the extent that on countless occasions, I've ended up just starting projects over from scratch because they became too convoluted and hectic.
I've spent the past 2~3 months working on a sort of companion app for players of the game Warframe using Dart/Flutter. The main purpose of the app is to provide players with an accessible and customisable agenda to help with keeping in-game goals organised (oh, the irony). I have made a decent amount of progress, but I consistently find myself working on various bits and pieces of code (usually) without finishing each of them before moving on to something else. What I end up with is a tangled yarn ball of code and I get lost and overwhelmed in the chaos.
Any feedback or advice is much appreciated.9 -
Programming an app for a friend = inevitable feature creep, unrealistic expectations and insane time frames. How do you guys deal with developing for non devs? It's like talking to a brick wall 😔7
-
New feature request that could be unecessary by client just sticking to one of 4 different very similar input formats instead of many off the cuff formats, that conflict and i cant guess let alone a computer. But i present an outline idea of the solution with his specs
I didnt complain just told him what needs to change and what our constraints will be how the info is interpretted etc
Client says "dont spend time on code for that feature.. stick to other original work for now" ! omg hes getting it! Sweet. I only wasted an hour this time, and if he does want the feature, we have an agreed spec for it. We can get back to handling the customer level shit and maybe he can make some more money finally.
Scope creep plus 0, me plus one. Scope creep still in thr lead by a lot. Oh well. Still, this guy is getting more tolerable -
I expected to need the better part of an hour for a feature.
Here I am, two days later, still trying to figure out a solution. Turns out, there is a lot more complexity to it than I anticipated. -
Feature creep aside I do think after a few weeks of use that notifications on devrant could use a bit of work. There is a lot of interaction and it can get confusing.
Some use cases currently not supported:
- On long threads I want to know which comment of mine that got a new ++. Perhaps scrolling to it + different colour?
- Seeing the new interaction per thread rather than per timeline.
- Getting a hint on which thread people interacted with. First sentence would be useful.
- Muting threads.
- Marking individual notifications as read without opening them.
- Moving notifications out of the menu and giving them separate button to save a click (many times a day)
If something on the list is already possible I suggest it be made more obvious ;)
Apart from being full of awesome people I really like being able to sort the flow of posts. I know this isn't staffed anywhere near the big social media and it's fine the way it is. But this is my two cents even if no one asked for them.
@dfox ? -
Story of my life - Feature creep, creeping featurism or featuritis is the ongoing expansion or addition of new features in a product, such as in computer software. These extra features go beyond the basic function of the product and can result in software bloat and over-complication rather than simple design.
-
I don't know if I'm terrible, or if this will sound familiar to anyone. I rushed so much of this project. That's not a good excuse for what's happening, but, speaking about it with a newly converted coder who is a good friend of mine, let him be called F:"
F: I'm so bored I'm going through my script and making a few subs for some repetitive code. I saved 90 lines today.
Me: Bored you say... debating what sort of code of mine to send you for you to ... review.
Because, the reality is, if I dont finish certain features by May, shit will hit the fan lol So I am considering asking for a boilerplate NDA and a few extra bucks from client.nickname, to bring on testers and/or UI guys and/or database guys.
But you seemed to be doing alot lately, so I was thinking, I would deal with fiverr and freelancer.com first
F: I dunno what use id be by May but I'll always look at stuff
Me: A ton. You could literally review any code in any language youre learning. Your review code be: address/models.py class Address 1. TODO for validating formatted address 2. Why is formatted address declared twice?
To which my response would be Fuck thats right and Zomg really
And if I knew about this... last week.. I'd be hours ahead of schedule and not have just forgotten why I needed to fix address
F: Lol" -
Headache, bronchitis, feature creep. But for years I've used light themes. Now I'm using dark themes and it's easier on my eyes. Hmm. Used to hurt my eyes to use dark! Anyway it's about the worst day to try this out because. ..just switched to clients text messages and the "know you're not feeling well but ..." burnt into my retinas bc i didn't think ahead to change any non IDE or dev related to a dark theme.
-
Sometimes I just have a crazy idea for an amazing feature I could add to a side project.
Then my brain goes into a fight with itself over this feature, one side saying "that's a lot of work, not worth it" and the other side "but then we could also do this and that and hey maybe we could even simplify other stuff a little bit" and in the process getting really fond of that feature. After some time, the idea is really optimized because the lazy side of my brain hates unnecessary work.
Anyway, I just came home, created a new branch and deleted a quarter of my code base which is now obsolete. -
Working with a tester that scope creeps and then “fails” the tests because they did not live up to the scope that the person added just now............. Man, that grinds my gears.. And then reaches out in order to verify whether a feature could be nice to have, and when I agree, she slams it in as a scope creep on another feature and “fails” the test.. Going slightly crazy here2
-
The one week guide to asserting workplace dominance as a software engineer.
https://medium.com/feature-creep/...1 -
Why, oh why, must every project succumb to the siren call of feature creep? We start with a simple, elegant design, but before long, we're drowning in a sea of unnecessary bells and whistles. Let's stick to the essentials, folks. Quality over quantity, simplicity over complexity. Less is more, remember?2