Over the years we have failed to develop software as a true engineering discipline. The way a structural engineer can design and certify a structure as sound, I dream one day we will be able to do for software.
Not at all. We have developed software as a true engineering discipline. It's only applied where it's really needed, and can be economically justified. For example, avionics and some safety-critical industrial control systems.
Everything's broken and nobody's upset
321–330 of 418 posts
Re: Everything's broken and nobody's upset
#322Earlier quoted context omitted.
I'm going to take an even harder line: Sync is a fundamentally broken. The only solution is to switch to technologies where merging data is a primary core feature. Thus why I use text files and git to manage the vast majority of my data. The sooner people realize that sync isn't fixable (or a good idea in many cases), the sooner real solutions appear.
Synchronization in IBM Lotus Notes/Domino has worked quite well for 20+ years, so obviously sync is not fundamentally broken. More likely we've just failed to learn from history.
Re: Everything's broken and nobody's upset
#323Earlier quoted context omitted.
Crux of the discussion? It's become a market norm to have more, new, novelty. If the only selling point of an iPhone iteration was bugfixes, stability and refinement of the workflows it would just be interpreted as a list of things that were wrong with the previous product. I think from one perspective advertising refinement is perceived as perpetual incompetence with respect to your capability to deliver a quality p…
> it would just be interpreted as a list of things that were wrong with the previous product // It would actually be a list of things that were wrong with the previous product - so what's wrong with that?
From a literal perspective, not much, but in terms of perception and marketing I'd estimate a whole lot. Each product is still representing your brand and a potential option for buyers. You want to encourage someone to be excited about moving to your new product or platform without presenting the case that the old one is inferior or somehow deficient.
Consider if they iPhone was released with a strong focus on the improvements and bugfixes on the existing features without many new additions. Personally this is amazing, I'd be excited about that, but for many (average joe consumer) people I'd estimate it raises some key questions - why was there so much wrong? What will be wrong with the new one? Why do these products have so many issues?
Consider if iPhone was listing fixes and corrections and phone x was advertising all of their new features and updates with no mention of any rectification - personally, I'd be tempted just to pursue the one that was "best". Especially in a flooded market where it's hard to make a legitimate choice, it's much easier if one thing looks broken and one thing looks wonderful.
Most companies are really just going through the process of iterative refinement but I think you need the feature icing to sell them to people, or really: to take the focus off of the fact the product needed rework, and on to the fact there's super super shiny new things! You quickly forget to engage your critical thinking when being dazzled with this kind of thing.
To be hyperbolic with the example - consider cars. When a manufacturer releases a new model and advertises the safety and performance enhancements, it may be likely that they were addressing issues with the previous model, but presenting them as new functionality. This is much more appropriate for a brand than saying "we've addressed the issue with our brake and suspension package that was contributing to people losing control of the car" or "we've redesigned the porting of the heads on the engine so it's not running as inefficiency". If you have the choice between the perceived perfection of one brand versus the other admitting a few people wound up wrapped around trees and they needed to iterate their design (even if both companies are following exactly the same process), it becomes a pretty easy choice, right or wrong.
Re: Everything's broken and nobody's upset
#324The blurb on the sidebar proclaims Scott's MS experience. It's surprising to see someone with a Microsoft background making this complaint. MS spends more effort than any software company on testing, not only in just plain hiring lots of testers, but also on formal methods. They have some of the top formal methods people in the world doing research for them, and armies of people trying to put that research into pract…
The bug gets punted because it's on a non-critical path, there's no data lost, it doesn't crash the entire application, and there's a workaround, even though the workaround sucks. Next time around, the bug is weighed against new feature work, and judged based on how it aligns with the product's core pillars. Not important enough this cycle, maybe next cycle.
Next cycle comes around, and the team no longer knows how to fix the bug, because it's no longer fresh in anyone's mind, or the person who wrote it doesn't work there anymore. The broken module is now essentially a black box, and the cost of fixing the bug has increased drastically. The bug gets punted again until the next release, because hey, we've got a workaround.
The project will be cancelled before the bug is fixed.
Not all big companies work this way, but enough of them do, or have subgroups within them that do, that it creates usability problems like the ones in the article. It's not that the problems don't get found by QA, it's just that nobody can be bothered to address them.
Re: Everything's broken and nobody's upset
#325Can anyone elucidate on whether adopting this mode of development where software can be formally reasoned about has led to significantly fewer bugs in real-world software scenarios? Is the legacy of Smalltalk impeding progress?
I ask this as a fairly average OO software developer that has found that despite being fastidious about keeping up with code coverage, bugs still present themselves all the same.
Re: Everything's broken and nobody's upset
#326Earlier quoted context omitted.
To qualify for 'Energy Star' in the US, you have to use 10% less energy/resources (water) as last year. No standard; no other goal. Result: clothes washers that don't wash (my washer at least has a button to override Energy Star, obliquely named Extra Rinse or Heavy Duty), dishwashers that don't get dishes clean; water heaters that deliver luke-warm water. The goal cannot have been "Use less energy, even if it means…
What clothes washer are you talking about? Do you have a top-load washer? Those are notorious water wasters that probably can't wash well without huge amounts of water. As a counter point, I have a front-load 2011 Samsung washer and dryer. I even got some money from the Big Evil Government water district for the washer and IIRC from the Big Evil Power Company for the dryer. I am 200% satisfied with the wash and dryin…
I highly doubt that running through 2 cycles saves energy compared to doing it right the first time.
Re: Everything's broken and nobody's upset
#327The blurb on the sidebar proclaims Scott's MS experience. It's surprising to see someone with a Microsoft background making this complaint. MS spends more effort than any software company on testing, not only in just plain hiring lots of testers, but also on formal methods. They have some of the top formal methods people in the world doing research for them, and armies of people trying to put that research into pract…
I'm totally stealing this from a friend, but the single biggest cause of terrible user experience at large companies is the term "workaround." Late in the release cycle, a pretty grody bug comes up, causing the application to hang. Or maybe the installer just plain breaks at some stage. However, the dev team has found a "workaround" for the issue. Run the installer twice, and it works. Back out of the hung screen and…
it most certainly won't be cancelled, despite multiple farked edge cases, if the critical path is providing business value. the customer increases revenues, the software company turns a profit, the managers and developers get nice bonuses to give their children a nice education, our 401k's get stable returns, the world gets buggy software but not THAT buggy, and everyone is happy except for a few cranky developers who get paid a lot of money to maintain shitty software from 9-5 inbetween disney world trips and cruises.
Re: Everything's broken and nobody's upset
#328On an entirely unrelated note, guess how much work I got done today...
Re: Everything's broken and nobody's upset
#329Earlier quoted context omitted.
I'm totally stealing this from a friend, but the single biggest cause of terrible user experience at large companies is the term "workaround." Late in the release cycle, a pretty grody bug comes up, causing the application to hang. Or maybe the installer just plain breaks at some stage. However, the dev team has found a "workaround" for the issue. Run the installer twice, and it works. Back out of the hung screen and…
> The project will be cancelled before the bug is fixed. it most certainly won't be cancelled, despite multiple farked edge cases, if the critical path is providing business value. the customer increases revenues, the software company turns a profit, the managers and developers get nice bonuses to give their children a nice education, our 401k's get stable returns, the world gets buggy software but not THAT buggy, an…
Re: Everything's broken and nobody's upset
#330Earlier quoted context omitted.
Two things in particular I'll attack here: > - No Kindle You're definitely not alone in this -- a lot of my friends still prefer hard copies over eBooks -- but as someone used to literally lugging three-four textbooks to class, plus periodicals, plus personal reading, there's a clear and definitive value add from the Kindle. (That being said, just because you don't have a Kindle doesn't mean you don't, say, read eBoo…
> There's no other site where I can talk and keep up with my grandparents, my college roommate, and my girlfriend simultaneously. 'Necrophiliac bestiality, of course! How else am I to screw my food while I eat it?' If these people mean something to you, then you should be able to find the time to have adequate direct person to person communication with them instead of broadcasting to them and your closest 600 best bu…
Sure, if I really, really, really cared about my friends, I would practice calligraphy, hand-make my own paper, and train a flock of messenger birds to deliver them.
But there's a lot I want to get done, and a lot of people I'd like to keep in touch with, so if there is a decent way to do so that is more efficient than the 14th-century technology that I could use, then I'm going to use it.
If you have aesthetic objections to new-fangled things like the telegraph, the horseless carriage, and Facebook, by all means don't use 'em. But don't go pissing in other people's soup just because you don't approve of the dish they ordered.