|
And when you have completed all that your machine is going to be Cactus! (don't know whether it applies over there but being cactus implies a dead machine).
Never underestimate the power of human stupidity -
RAH
I'm old. I know stuff - JSOP
|
|
|
|
|
Always happy to add a new idiomatic usage to my vocab!
It's only used adjectively, right?
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
|
I was just reading an excerpt from :
Patterns, Principles, and Practices of Domain-Driven Design: Scott Millett, Nick Tune: 0787721845461: Amazon.com: Books[^]
Book Quote: Selling DDD
DDD is not a silver bullet, and it shouldn’t be sold as one. In the same way that following an agile methodology won’t solve all of your problems, neither will DDD; however, it is a powerful and extremely effective philosophy when used in the correct circumstances, such as these:
+ You have a skilled, motivated, and passionate team that is eager to learn.
+ You have a nontrivial problem domain that is important to your business.
+ You have access to domain experts who are aligned to the vision of the project.
+ You are following an iterative development methodology.
Without these key ingredients, applying the principles and practices of DDD will overcomplicate your development effort rather than simplify it. However, if your particular circumstances meet the preceding list, then applying the principles and practices of DDD can greatly increase the value of your development effort.
Uh, have you ever had the alignment of all four of those circumstances on any project ever?
Requirement #3 from the list is especially under scrutiny here.
Maybe DDD is only for hypothetical situations like Spherical cows (Wikipedia).[^]
|
|
|
|
|
raddevus wrote: Uh, have you ever had the alignment of all four of those circumstances on any project ever?
Yes. Specifically related to automating some of the design aspects of communication satellites. We had the skilled team, it was a non-trivial problem, we had the domain experts, and yeah we were following a "take small steps and vet each iteration" development methodology.
It's the 5th element that was missing. Manager vision. The VP who had the vision retired, was replaced by a couple of total a******s from, of all things, the automotive industry (who was the jack*** who thought they ought to be hired?) and they did NOT have the vision.
[edit]Gee, what happened to the auto-KSS feature? I had to back and edit my language manually![/edit]
Latest Article - Slack-Chatting with you rPi
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
Marc Clifton wrote: It's the 5th element that was missing. Manager vision. The VP who had the vision retired
Oh, no Product Owner[^]? Very bad indeed. Can't even get to the other four items without that driving force really.
That's a good one to add to the list of items required. And pushes the Spherical Cow further out of our reach.
|
|
|
|
|
|
Those are the kind of Top Priorities I act on immediately!
And, immediately here means, NEVER!
|
|
|
|
|
A good team only needs a manager to help clear the way for the team to do a good job.
A good manager only clears the way for his team(s) to do a good job.
Find out what's not working, and see if there's a way to fix it if it's not.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
I suspect that point three means, "you must hire a consultant who understands DDD... and I'm the only one."
|
|
|
|
|
raddevus wrote: + You have a skilled, motivated, and passionate team that is eager to learn.
+ You have a nontrivial problem domain that is important to your business.
+ You have access to domain experts who are aligned to the vision of the project.
+ You are following an iterative development methodology. Sure.
Only recently, I contracted to a place that worked on weather systems for airports -- i.e. we were working on getting planes off the ground and on the ground safely, with the knowledge that if we screwed it up, people could die.
I can say, in all honesty, that I have never worked with a more dedicated team of skilled, knowledgeable people, who did an absolutely fantastic, professional job using the agile methodology, which, to be honest, didn't count for a damn, in our minds -- any other methodology would have worked as well.
Maybe it makes a difference if what you do will make more money for some unidentified bunch of shareholders, rather than make sure that children see their parents again, but the shareholders made more money, too.
So it was why we were doing what we were doing doing that counted, not any silly flavour-of-the-month way of doing it.
If you don't believe in what you're doing, look for another job, not another way of working.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
raddevus wrote: scrutiny
Poor tiny, always gett'in screwed ...
[EDIT]
Like cookie, always gett'in targetted
[END EDIT]
modified 8-Feb-19 16:39pm.
|
|
|
|
|
All of this crap that has been promoted in the last 15 to 20 years is all based on utopian visions of the software engineering world that simply does not exist in reality.
You use the simplest technologies to get the job done as fast and as efficiently as possible to meet ridiculous deadlines setup by incompetent technical managers.
The rest is just vendor marketing and self-aggrandizement by those who want you to believe they have the answers for everything...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
That's actually a very good summary of the situation.
APIs and Magic Libraries that will supposedly solve everything are often the cause of more problems.
And, the daft managers don't understand that the Marketing Propaganda of the APIs and Libaries are often not true (seldom true) and then the mgr gets the idea that it is the dev who is incompetent when it is really a problem with the Magic Library.
|
|
|
|
|
A very astute summary of what I said. Bully for you!!!
Hopefully, the younger generations of professionals will come to realize this and will start the pendulum swinging back to a more sane time in our profession...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
Quote: have you ever had the alignment of all four of those circumstances on any project ever? Yes. I was the only member of the team. And I was a domain expert.
Cheers,
Mike Fidler
"I intend to live forever - so far, so good." Steven Wright
"I almost had a psychic girlfriend but she left me before we met." Also Steven Wright
"I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.
|
|
|
|
|
This is kind of triple-D I prefer; though I've never seen it put into practice, it seems like it would work in a reasonable manner - and really isn't far from what many of us do already:
Meme Agora: D-Cubed[^]
D^3 - Defect Driven Design
It's an old idea (and unfortunately, the original source can't be found any longer), but if implemented properly, in theory it would always result in an application that is -exactly- fit to the requirements of the client.
Essentially, you pretend your project is already in maintenance mode, and you're just fixing "bugs".
Sooner or later, that's where you're going to end up anyhow, so why not start there at the beginning?
|
|
|
|
|
Member 10731944 wrote: Essentially, you pretend your project is already in maintenance mode, and you're just fixing "bugs".
That honestly sounds like the idea of Minimum Viable Product from Agile Scrum and I think it does make sense.
|
|
|
|
|
Well, I feel that for the most part the "tactical patterns" of DDD are simply OO done right
I do, however, feel that when developers do *not* have access to domain experts we end up with second hand information (or worse) which simply contributes to the sad state that the software development industry finds itself in.
|
|
|
|
|
EbenRoux wrote: for the most part the "tactical patterns" of DDD are simply OO done right
I agree.
EbenRoux wrote: when developers do *not* have access to domain experts we end up with second hand information (or worse) which simply contributes to the sad state that the software development industry finds itself in
I agree again.
If teams really did OO right it would solve a lot of design issues that cause maintenance and extensability to be far more difficult than they have to be later.
If teams really had domain experts that knew what they wanted and could explain what they wanted it would solve a lot of problems where the wrong solution is created.
|
|
|
|
|
It's actually not Javascript.
It's the programmers that write multi-thousand line functions in files that are tens of thousands of lines long, where the majority of the code is copied and pasted from one if to the next else to the next else ad nauseum with only minor tweaks, with no consideration for readability, maintainability, or just basic good coding practice of building a higher level function from a bunch of smaller calls, rinse and repeat if necessary, instead creating a pile of sh*t from here to Mars that is impossible to unit test and only possible to debug because browsers like Chrome have awesome debugging tools. And people wonder why their apps are so slow.
And for every programmer that writes clean Javascript, their must be 1,000 programmers that don't. I'm probably off by a couple orders of magnitude.
Latest Article - Slack-Chatting with you rPi
Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny
Artificial intelligence is the only remedy for natural stupidity. - CDP1802
|
|
|
|
|
I had a colleague like that, management adored him because "he was such a fast coder", but then came the day he left the company and now we are left with code that is barely maintainable.
Documentation you ask ? he thought that was not necessary ...
|
|
|
|
|
Maybe
outsourced
contractors
paid
by
lines
of
code
?
?
?
modified 20-Oct-19 21:02pm.
|
|
|
|
|
So, same as with VB, then?
We could pass some of the responsibility for it to people on sites like CP who actually GIVE CODS when asked -- but you're right; it's mostly places like Userscripts.org[^] that need their @rses kicked.
That's actually a good site for seeing how professional a site is: search for a line of code in a site that's suspect there, and if you find it, the site isn't suspect, any more; it's a confirmed script-kiddie site.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
What really amuses me is the periodic calls for environments that will allow anyone, including non-programmers, to write programs or "code." As it is, we have more than enough individuals who pass themselves off as programmers and emit the stuff that Marc is ranting about (justifiably so.) Some people think programming should accessible to everyone. Just imagine the nonsensical detritus we will end up with if that happens. Considering how things are now, I think it is scary to contemplate.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"
|
|
|
|