|
I am a very experienced developer, but I find that my 'process' when I start on some new bit of functionality or sub-system is pretty much bounce off the walls for a while, trying this, discarding it, trying that, discarding it, keep a bit of that attempt, keep a bit of that one, etc... Since I work alone there's no point in writing specifications. All it would result in is that I took a lot of time writing down in detail the first bounce off the first wall, which was then discarded on the way towards the next wall.
Some might say it is time wasting, but ultimately I think it's a wash. The time I would have spent looking 'professional' and writing a bunch of stuff down just gets traded off for trying various things until I find what I like. Given that I almost never do the same thing twice, all the stuff I might write down would mostly be guesses that are probably about as likely to be wrong as right once I really dig into the practical realities of it. And, in the end, I can know for sure that various things that I might have initially discarded really should be discarded, as opposed to actually being a better idea than the one I wrote down so carefully.
Am I the only one who uses the 'Chaos Pattern' as a development tool?
Explorans limites defectum
|
|
|
|
|
No..
This is a good pattern!
|
|
|
|
|
It's the only _way_ to do it.
Which is why corporate software efforts fail so frequently.
modified 26-Mar-19 22:47pm.
|
|
|
|
|
it is the only... way?
|
|
|
|
|
As I was reading your writeup, I kept thinking how it sounded like a good explanation of what I do. So the answer to your question is "No"
<sig notetoself="think of a better signature">
<first>Jim</first> <last>Meadors</last>
</sig>
|
|
|
|
|
Believe it or not, most people do it the same way as you do.
|
|
|
|
|
It's called "Agile Development".
Just tell people that you're working through iterations. That's what I do, anyway.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
Nope, I'm using Chaos Dev right now. I've re-written all of the compoents for a web project template at least twixe, and a handful of those at least three times. I've tried creating EF data models more than a dozen times.
Since this is going to be used as a basis for all of our apps, it has to be as close to correct as possible before it gets deployed to the rest of the team.
Hell, I'm on the 5th iteration of the template.
Chaos is very much in Chontrol.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
Dean Roddey wrote: Given that I almost never do the same thing twice
I find that hard to believe. Sure, at a high level, yes, but at a low level, DB access, file I/O, even device I/O, rendering web pages, creating UI's (pick you tech poison), writing workflows, possibly dealing with threads, modularization, test fixtures, etc., are all rather common activities. But maybe that's all just the commonality of my world.
Latest Article - Azure Function - Compute Pi Stress Test
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
|
|
|
|
|
You'd have to know my situation for it to make sense I guess. I'm the author of a huge project, about a million lines of code, that I've built from the ground up. The bottom half is all general purpose code, and it long ago encapsulated all of those things for reuse. So I don't have to really ever repeat myself, repeat myself. It's always upwards and onwards, though of course sometimes I do circle around and shore up my rear guard before going back to the front. But it's almost always diving into some big new problem domain.
The general purpose part of it I recently open sourced:
GitHub - DeanRoddey/CIDLib: The CIDLib general purpose C++ development environment[^]
The top part is a very powerful automation system called CQC (www.charmedquark.com).
Explorans limites defectum
|
|
|
|
|
Dean Roddey wrote: Since I work alone there's no point in writing specifications. I always make specs, because it helps the customer to realize what he/she is asking for; I'll try to make sure that I'm building what they need, and not my personal interpretation of what they might need.
Next, a minimal UI is drawn, and any logic described. Once those exist, I usually move on to datastructures, formulating a (normalized) database-scheme if it needs persistence.
I see a lot of other people immediatly firing up VS when they get a new project, and starting to code. Still, if I am given 8 hours to chop down a tree, I'll spend 6 hours sharpening my axe. Good preparation always pays back
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
For me, I am the 'customer', and the boss, and the code monkey.
Explorans limites defectum
|
|
|
|
|
Dean Roddey wrote: I am the 'customer' You pay for your software?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
With my life... But I assumed he meant customer as in he's a contract programmer and the customer is the company he's writing the code for.
BTW, I have to report that I don't pay me well, and the benefits suck.
Explorans limites defectum
|
|
|
|
|
Dean Roddey wrote: With my life... But I assumed he meant customer as in he's a contract programmer and the customer is the company he's writing the code for. I don't assume; and it's not a very good idea to place yourself in the customers' seat.
Dean Roddey wrote: BTW, I have to report that I don't pay me well, and the benefits suck. Have you considered threathening yourself with a strike?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Dean Roddey wrote: Am I the only one who uses the 'Chaos Pattern' as a development tool?
No, That's what I do, too. I usually start with an outline in code, perhaps as comments, then start fleshing out and testing as I add pieces.
I tried writing detailed specs first and found it to be a waste of time as I quickly found the need to modify the specs for reason of practical implementation.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
I think this is the first time (at this new job) that I worked on SQL batch job doing more than 15 millions INSERTS (and DELETE, and etc...) since the batch import was buggy and I had to recover from many ooopsies..
New record for me!
Arguably I might have done massive SQL in 2008 too.. but I forgot!
|
|
|
|
|
You'll be playing with the big boys soon enough.
|
|
|
|
|
Yeah!
|
|
|
|
|
PIEBALDconsult wrote: You'll be playing with the big boys soon enough.
The implications of this statement have certain "Michael Jackson-esque undertones". What are you saying he's been doing until now?
|
|
|
|
|
What? I thought MJ became famous for playing with himself...
|
|
|
|
|
Well, no. But when he died, he did have so much plastic content in his body, they decided to melt him and make Lego blocks out of him, so now it'd be little boys' turn to play with Michael Jackson.
|
|
|
|
|
Well, I successfullydefended my PHD dissertation today, finally, so now I can officially claim the title of Dr. It only took 8 years thanks to a stroke delay, but it's done, so now I'm trying to figure out what's next.
CQ de W5ALT
Walt Fair, Jr., P. E.
Comport Computing
Specializing in Technical Engineering Software
|
|
|
|
|
Congratulations Walt, I know it's been a long time coming but now it's yours...Dr. Fair!
I do all my own stunts, but never intentionally!
JaxCoder.com
|
|
|
|
|
|