 |
 |
ChristianDevs ForumCreate, Share, Discuss! |
|
|
Page 1 of 1
|
[ 17 posts ] |
|
| Author |
Message |
|
CPUFreak91
|
Post subject: Painless Functional Specifications/Design Docs Posted: Sat Feb 21, 2009 10:49 pm |
|
Joined: Sun Dec 16, 2007 1:02 pm Posts: 1212 Location: Abilene, TX
|
This is a commentary on Joel Spolsky's post on Painless Function Specifications/Design Docs (from Joel On Software) with comparisons and similarities from real-world experiences on both our parts. Joel Spolsky wrote: Specs are like flossing: everybody knows they should be writing them, but nobody does. Why won't people write specs? People claim that it's because they're saving time by skipping the spec-writing phase. They act as if spec-writing was a luxury reserved for NASA space shuttle engineers, or people who work for giant, established insurance companies. Balderdash. First of all, failing to write a spec is the single biggest unnecessary risk you take in a software project. It's as stupid as setting off to cross the Mojave desert with just the clothes on your back, hoping to "wing it." Programmers and software engineers who dive into code without writing a spec... are terribly unproductive. They write bad code and produce shoddy software, and they threaten their projects by taking giant risks which are completely uncalled for. http://www.joelonsoftware.com/articles/ ... 00036.htmlI've written some code that had a brilliant design (I do say so myself  ), but I never bothered with specs and the programs usually worked like crap. When I wrote at least 3 paragraphs on what I wanted to the program to do and how to do it, my programs work better. Joel Spolsky wrote: The most important function of a spec is to design the program. Even if you are working on code all by yourself, and you write a spec solely for your own benefit, the act of writing the spec -- describing how the program works in minute detail -- will force you to actually design the program. I've done some fifteen one-man projects that were a great idea on paper, but when I sat down and started coding, without designing anything first. After about a week, my code sprawled so much (due to having no design and, frequently, beginner's inexperience) that it looked like fungus in a compost heap--it covered everything but doesn't have much purpose (except to decompose stuff), and it definitely isn't pretty. Joel Spolsky wrote: When you design your product in a human language, it only takes a few minutes to try thinking about several possibilities, revising, and improving your design. Nobody feels bad when they delete a paragraph in a word processor. But when you design your product in a programming language, it takes weeks to do iterative designs. What's worse, a programmer who's just spend 2 weeks writing some code is going to be quite attached to that code, no matter how wrong it is. This happened in Bible Dave. Because we didn't design it too well, there were pieces of code that we had to scrap, which was very hard. We succeeded in getting rid of a lot but, even today, there's some code in there that we were unable to get rid of because so much effort had been put into it. It didn't matter that we needed better code, we just felt it wasn't right to scrap something that a team member had literally spent days working on. Had we had better english design docs that covered more nitty gritty and code-related aspects, we wouldn't have had to waste time figuring out how to get someone's obsolete code to work with our new code (or vice versa). Joel Spolsky wrote: When you write a spec, you only have to communicate how the program is supposed to work once. Everybody on the team can just read the spec. The QA people read it so that they know how the program is supposed to work and they know what to test for... The developers read it so that they know what code to write. The customers read it to make sure the developers are building a product that they would want to pay for...
When you don't have a spec, all this communication still happens, because it has to, but it happens ad hoc. The QA people fool around with the program willy-nilly, and when something looks odd, they go and interrupt the programmers yet again to ask them another stupid question about how the thing is supposed to work. Besides the fact that this ruins the programmer's productivity, the programmers tend to give the answer that corresponds to what they wrote in the code, rather than the "right answer." So the QA people are really testing the program against the program rather than the program against the design, which would be, um, a little bit more useful. At the start of development on Bible Dave, communication wasn't too much of a problem. Later on it became more apparent (in hindsight) that a better spec would have helped both developers and beta testers. When I was doing my own QA, it would have helped to have a spec handy that had been updated frequently because I had no idea what some people's code did. They never responded to email, so it took me a long time before I figured out how to interact with their code. Joel Spolsky wrote: It's OK for the first version of the spec to leave open issues. When I write a first draft, I always have lots of open issues, but I flag them (using a special style so I can search for them) and, if appropriate, discuss the alternatives. By the time the programmers start work, all of these need to be stomped out. (You might think it's OK to just let the programmers start on all the easy stuff, and you'll solve the open issues later. Bad idea. You will have enough problems resolving the new issues that come up when the programmers try to implement the code, without having old open issues around that you knew about in advance and could have solved then. Besides, the way you resolve anything non-trivial may have a major impact on how the code should be written.) http://www.joelonsoftware.com/articles/ ... 00035.htmlJust thought you'd enjoy reading this  . I don't really have any comments. Actually I do. I used to believe that all open issues needed to be "closed" before any coding could start. Seeing as how that didn't work, I/we went on to code with a few open issues and nothing wrong happened because of it. I (at least) felt a bit uncomfortable with open issues (and I still do, but I decided that I'd try to net let it affect me... long before I read Joel's comments). Joel Spolsky wrote: While you're writing a spec, remember your various audiences: programmers, testers, marketing, tech writers, etc. As you write the spec you may think of useful factoids that will be helpful to just one of those groups. For example, I flag messages to the programmer, which usually describe some technical implementation detail, as "Technical Notes". Marketing people ignore those. Programmers devour them. My specs are often chock full of "Testing Notes," "Marketing Notes," and "Documentation Notes." While developing Bible Dave, I drew up a design doc with both programmers and artists in mind. Naturally the programmers were given more detail, but I think it helped (didn't it, Lava, or did you never read the design docs?  ). During Open Fire Gold's development both the artist and the programmer audiences were heavily addressed. While the wiki page was rather short, 49% of it was aimed at the artist, Jeff. Another 49% was directed at myself, the coder. The remaining 2% was for idea brainstorming and other things. Joel Spolsky wrote: So. Specs are good, but not if nobody reads them. As a spec-writer, you have to trick people into reading your stuff, and you should also probably make an effort not to cause any already-too-small brains to leak out through eye-sockets. Tricking people into reading your stuff is usually just a matter of good writing. But it's not fair of me to just say "be a good writer" and leave it at that. Here are four easy rules that you absolutely must follow to make specs that get read. Rule 1: Be Funny Yep, rule number one in tricking people into reading your spec is to make the experience enjoyable. Don't tell me you weren't born funny, I don't buy it. Everybody has funny ideas all the time, they just self-censor them because they think that it's "unprofessional." Feh. Sometimes you have to break the rules. If you read the volumes of garbage I've written on this web site, you'll notice that there are a few lame attempts at being funny scattered throughout. Just four paragraphs ago I was making a gross body-fluid joke and making fun of managers for playing golf. Even though I'm not really that funny, I still try pretty hard, and even the act of flailing around trying to be funny is in itself amusing, in a sad-clown sort of way. When you're writing a spec, an easy place to be funny is in the examples. Every time you need to tell a story about how a feature works, instead of saying: The user types Ctrl+N to create a new Employee table and starts entering the names of the employees. write something like: Miss Piggy, poking at the keyboard with a eyeliner stick because her chubby little fingers are too fat to press individual keys, types Ctrl+N to create a new Boyfriend table and types in the single record "Kermit." If you read a lot of Dave Barry, you'll discover that one of the easiest ways to be funny is to be specific when it's not called for. "Scrappy pugs" are funnier than "dogs." "Miss Piggy" is funnier than "the user". Instead of saying "special interests," say "left-handed avocado farmers." http://www.joelonsoftware.com/articles/ ... 00033.htmlI have tried to make my specs a bit more funny than usual since reading this article  . If I can get Jeff to laugh, I've written a fairly good spec. Hehe. Joel Spolsky wrote: Oh, and, by the way, if you think that it's unprofessional to be funny, then I'm sorry, but you just don't have a sense of humor. (Don't deny it. People without senses of humors always deny it. You can't fool me.) And if you work in a company where people will respect you less because your specs are breezy, funny, and enjoyable to read, then go find another company to work for, because life is just too damn short to spend your daylight hours in such a stern and miserable place. Note to self: Something to keep in mind when I look for a job  . Joel Spolsky wrote: Here's why I think that programmers have trouble writing good specs.
When you write code, your primary audience is the compiler. Yeah, I know, people have to read code, too, but it's generally very hard for them. For most programmers it's hard enough to get the code into a state where the compiler reads it and correctly interprets it; worrying about making human-readable code is a luxury... Programmers often try to write specs which look like dense academic papers. They think that a "correct" spec needs to be "technically" correct and then they are off the hook.
The mistake is that when you write a spec, in addition to being correct, it has to be understandable, which, in programming terms, means that it needs to be written so that the human brain can "compile" it. One of the big differences between computers and human brains is that computers are willing to sit there patiently while you define the terms that you want to use later. But humans won't understand what you're talking about unless you motivate it first. Humans don't want to have to decode something, they just want to read it in order and understand it. For humans, you have to provide the big picture and then fill in the details. With computer programs, you start at the top and work your way to the bottom, with full details throughout. A computer doesn't care if your variable names are meaningful. A human brain understands things much better if you can paint a vivid picture in their mind by telling a story, even if it's just a fragment of a story... I'd never thought about how a more human-readable spec makes it easier to write, and easier to read. When I wrote my first spec, it was really "compiler-friendly". So friendly I didn't know it said, and I gave up and just wrote the software without a spec. As time progressed, and I found I should really consider writing them, I eased off the compileriety (there, just invented a new word) and out came the Bible Dave Design Doc. By the time OFG came around I'd converted to human-friendly docs and haven't looked back since. Jeff would thank me, if he had read my past ones  So there's one of my longest posts ever (by including the quotes). Hope you get something useful out of it, I've already gotten a ton from Joel's thoughts and experience on the subject.
_________________ Internet:~ CPUFreak91$ whois CPUFreak91 && which CPUFreak91 && whereis CPUFreak91 && exit (Find the easter eggs in my signature and win a prize!)
Last edited by CPUFreak91 on Sun Feb 22, 2009 10:52 am, edited 1 time in total.
|
|
 |
|
 |
|
Square Peg
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sat Feb 21, 2009 11:20 pm |
|
Joined: Sat Feb 14, 2009 9:25 am Posts: 56
|
|
Well, as a writer I think I am just a little biased on the issue. I don't write code, unless you count the stuff I have started to do in Scratch, but I outline things all the time. Scratch has helped me appreciate that more being that I don't really know what I am doing I will sit down and say, "If I wanted to get this result what would have to happen? 1,2,and 3. Okay, now how do I do that?"
|
|
 |
|
 |
|
Mene-Mene
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Feb 22, 2009 7:21 am |
|
 |
| SpeedGame 2012: Best of Show Dev |
 |
 |
Joined: Sun Dec 16, 2007 7:10 am Posts: 3384 Location: Indiana, United States
|
I think my main problems are these: - A. What to write... I feel like I write a bit, and then I hit a wall.
- B. To me, a programming language is simply another expression, like some people paint, I code. Its difficult to accurately describe a painting in code, and its also difficult to describe code in english, why? Because code deals in objects and design documents deals in descriptions.
_________________ M^2 out- The Deut strikes back! Its time to get Terminal!
|
|
 |
|
 |
|
HanClinto
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Feb 22, 2009 7:50 am |
|
Joined: Sun Dec 16, 2007 8:37 am Posts: 1748
|
|
Great writeup, thanks Joe!
--clint
_________________ ""._
|
|
 |
|
 |
|
CPUFreak91
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Feb 22, 2009 11:18 am |
|
Joined: Sun Dec 16, 2007 1:02 pm Posts: 1212 Location: Abilene, TX
|
Square Peg wrote: I don't really know what I am doing I will sit down and say, "If I wanted to get this result what would have to happen? 1,2,and 3. Okay, now how do I do that?" That's normal. I have no clue what I'm going to say so I just write, talk to someone about it, fix all my errors and then steps 1,2, and 3 come to me. Mene-Mene wrote: I think my main problems are these: [*]A. What to write... I feel like I write a bit, and then I hit a wall. That's also normal (see above  ) and it's called an open issue. Both Joel and I have experience with open issues, and if you try to close them ASAP... you never get anything done and you scrap the specs all together. Quote: [*]B. To me, a programming language is simply another expression, like some people paint, I code. Its difficult to accurately describe a painting in code, and its also difficult to describe code in english, why? Because code deals in objects and design documents deals in descriptions.[/list] You don't want to describe code in depth--at least not until you have so much experience trying it becomes a lot easier. What you want to do is write so that a human can design and write the code, not a computer. When you do that you'll find that converting human to code becomes much simpler, and ordinary idiots like me can understand what you're trying to say  . Keep in mind you're not just writing to programmers here, you want to write to artists and designers. If you're working with only programmers (say... alone  ) it will still help your thought process because you can't always think in code. If you can always think in code, you have no friends. 
_________________ Internet:~ CPUFreak91$ whois CPUFreak91 && which CPUFreak91 && whereis CPUFreak91 && exit (Find the easter eggs in my signature and win a prize!)
|
|
 |
|
 |
|
JeTSpice
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Feb 22, 2009 2:15 pm |
|
Joined: Sun Dec 16, 2007 10:39 am Posts: 2960 Location: Coeur d'Alene, ID
|
|
I write a loose design doc, then when I start writing a part, I write another more specific doc.
Usually it's all hand-written because it gives me time to think as I write. It will contain psuedo-code, and graphics/UI if it's needed.
I end up molding code as I go, so the end product is not identical to the design doc.
|
|
 |
|
 |
|
cgraham629
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Mon Feb 23, 2009 8:28 am |
|
Joined: Thu Feb 12, 2009 1:37 pm Posts: 34 Location: Austin
|
|
How many design docs and the level of detail you include kind of depends on the type of game and what kind of team you are working with. A team I used to work with used the SCRUM process. When using SCRUM the whole point is to write loose design docs and give them to a programmer and let them fill in the blanks. This way you are not stifling their creativity by writing a super specific doc.
At my current job I write design docs and func specs on pretty much everything in the game because our programmers are very literal and want us, as designers, to spell out every last detail. This way they can sit down with the design doc and code it as they read it.
Personally, I like using the SCRUM process because it allows you to write the system at a high-level without having to delve into the nitty gritty about how the programmers should implement it. This way, if they know some programming trick I am not aware of they can just use it when coding the system without having to clear it with the design department first. I am sure their are other ways, but these are the ones I am familiar with.
|
|
 |
|
 |
|
Mene-Mene
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Mon Feb 23, 2009 8:44 am |
|
 |
| SpeedGame 2012: Best of Show Dev |
 |
 |
Joined: Sun Dec 16, 2007 7:10 am Posts: 3384 Location: Indiana, United States
|
|
That's what a design document is... a Technical Document says how the system itself works... That system is great and all for a team of multiple people, but it doesn't change much when you're talking about a solo person.
_________________ M^2 out- The Deut strikes back! Its time to get Terminal!
|
|
 |
|
 |
|
guategeek
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sat Mar 07, 2009 7:29 am |
|
Joined: Sun Dec 16, 2007 8:49 pm Posts: 43
|
|
I don't know, I think of a design doc quite differently than most of you. To me the design doc is were you creativly come up with the concept of the game or pice of software. Lets move to art for an example, if I'm going to create a 3D model I am far better off grabing paper and a pencil and drawing concepts untill I have one I like, then scanning that and using it as a reference in the modeling process. Yes its an extra step, it seems like a drag at times and you don't want to spend to much time drawing. Problem is that if you just have an idea and you grab you modeling package the end product will cater to what is easiest to create with a modeling package. Where as when you draw a design first you are not limited by what is easyest in 3D, you are free two draw whatever you like, and then you will overcome the callanges of how to implemen it in 3D and create a much higher quality and better designed model.
So lets return to the design doc, and specs disscution. To me a design doc is where the team spills out their ideas, organizes them into a game (in writing and posibly drawings) and then has a good plan or description of the end goal. This helps in the development process because like art in code some things caiter better too it, if you have a design in writing you are more likely to be creative in your ideas than a design that has been built up purly in code. Also it helps you remember your focus, rather than programing out on "rabit trails" all the time. I don't know about you, but I find I forget great ideas all the time, where as when the idea has been implemented into a design doc you can remind yourself of it whenever you need to. Also as a last coment when you write out your design and your specs (which are guidelines to how you can implement the design) you are essentaly writing the plan for your software. This helps you to see faults from the get go, and know what kind of foundation to build so that your game can be built up on top of that. No one builds a house without planning it out first, and if they do they will end up with lots of poorly layed out rooms, the need to add structural collomns and supports in areas they don't want them etc. So in my opinion Mene-Mene a design doc and specs is just as important for a solo person as for a team. - Jeff
_________________ 
|
|
 |
|
 |
|
SSquared
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sat Mar 07, 2009 10:34 am |
|
Joined: Sun Dec 16, 2007 9:14 am Posts: 1579 Location: The Beautiful Pacific Northwest
|
Yes. I think they are just as beneficial for the solo coder as for a team. They are meant to help benefit the development process and can be just as helpful when working alone. One thing not mentioned (or maybe I need to re-read the original comments from Joel), is the post-development benefit. These documents become helpful when 1) You have to head back to the code. I find myself in the same areas of code many times over the months. I find I can hardly remember what I worked on the week before. And then I have to relearn the subsystem again and again. A design document would go far in helping to catch up to speed quickly.
2) A new person joins the team or takes over the code. These docs are a helpful starting point for new people. Even if you are solo, someone may join alongside or you may decide to hand continued development over to someone else.
EDIT: I re-read the first post with Joel's comments. I forgot to mention this. I completely agree about making it funny. Once I started doing that, I realized I enjoy writing documents and I started getting positive feedback on the docs I write. Not necessarily because they are funny, but allowing myself to have humor, also got me excited about writing it. The opposite is feeling bored and like it's drudgery to write, and that will come across in the final document.
_________________ My quote: Have I mentioned I love C# and the iPad? Another quote: Have I mentioned I love the iPad?
|
|
 |
|
 |
|
JeTSpice
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sat Mar 07, 2009 2:26 pm |
|
Joined: Sun Dec 16, 2007 10:39 am Posts: 2960 Location: Coeur d'Alene, ID
|
|
in college, we had to write an assembly language program
i sketched it out first, then hand-wrote it
gave me time to think about every step
worked right out of the chute, and took 3 times less than the other coders
|
|
 |
|
 |
|
Kukanani
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sat Mar 07, 2009 5:57 pm |
|
Joined: Tue Sep 23, 2008 7:55 pm Posts: 297
|
This thread motivated me to go to buy a UML book for a quarter at the thrift store Kukanani
_________________ "Blessed is the one whose way is blameless, who walks in the law of the Lord" Psalm 119:1
|
|
 |
|
 |
|
Realm Master
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Mar 08, 2009 10:26 am |
|
Joined: Sun Dec 16, 2007 12:03 pm Posts: 425 Location: Earth, The Milkyway
|
|
well... As you might know, I am full of ideas and not much action or organization. i hope to fix that, but thats besdies the point. I once stumbled upon a blank design doc, an Hoping to organize all of my ideas onto paper i started filling in the blanks... I didn't get very far. Sometimes its a little bit depressing to see your work on paper, it doesn't have the flair, scale, and awe-inspiering qualities it does in your head. At least when you discuss an idea with someone you are able to express these qualities by guestures, the tone and pitch of your hyperventalating voice and so on...
The pro's use design docs, and ovbiously one day I will too, if my schooling goes like i hope it does, but unfortuneately a design doc goes against the core root of being a good game designer: Unbridled creativity. A design doc is like, at least from what I've experienced, correct me if I'm wrong, some english professors way of getting back at all of the doodlers in his class. Its highly structured and procedural.
Thats not the way I think but that Is why I belive I will be good at game design after the right amout of schooling. Everything needs a little structuring, but recording your awesome idea onto a *sign here* *initial here* sheet seems a little discouraging...
[edit] just saw jetspice's post... Touche' my friend. a very, very valid point[/edit]
_________________ Lava, June 10th 2008:"You can take the Realm out of the girls thread but you can't take the girls thread out of the Realm...." 
|
|
 |
|
 |
|
CPUFreak91
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Mar 08, 2009 3:58 pm |
|
Joined: Sun Dec 16, 2007 1:02 pm Posts: 1212 Location: Abilene, TX
|
Realm Master wrote: Sometimes its a little bit depressing to see your work on paper, it doesn't have the flair, scale, and awe-inspiering qualities it does in your head. The trick is to just write, even if it's not to flairy. I've been working on a spec today, and I can't describe what i want. So describing an object pickup has gone like this: "Walk into the bottle, play a cool particle effect thing. Maybe make it implode for extra effect" Quote: At least when you discuss an idea with someone you are able to express these qualities by guestures, the tone and pitch of your hyperventalating voice and so on... I do that and then say "Oh, that has to go in the spec". I fire up a wiki and write a short line of "Cool thing for gameplay movement that I was talking to Guategeek on around the 5th of April. Fill in later." Two weeks later the words have come to mind and I have short, but descriptive way of explaining why the rocket smoke trail should change based on wind factors and when it hits the boss tank. Quote: The pro's use design docs I use design docs... don't flatter me. I'm not a pro. Pro's don't always use design docs, and like individuals they don't get far on their project unless it's a refractive 3D "Hello World" demo. Quote: unfortuneately a design doc goes against the core root of being a good game designer: Unbridled creativity. Not really. Unbridled creativity happens in your mind and is transfered onto paper. Transfering it onto project is crazy hard. We had some great ideas for OFG that we actually wrote down, but, c'mmon, two player multiplayer for OFG? It's a lot harder to make than to design. 90% of our creativity comes from designing on paper. 10% comes from actual implementation where we discover that a particular game play technique works well in a driving game like we thought, but also as a rocket-powered Jet car with bazookas by changing 10 lines of code and writing 30 more. Quote: A design doc is like, at least from what I've experienced, correct me if I'm wrong, some english professors way of getting back at all of the doodlers in his class. Its highly structured and procedural. They're not all like that. You just have bad luck  Did you read Spolsky's quotes above at all? He's not alone. We do ours un-highly structured and un-highly procedural. And we're not the only ones. EDIT: Well, at least for a while. Then we find a way to structure it and proceduralize it for a bit. The trick it to just get something down in writing  Quote: recording your awesome idea onto a *sign here* *initial here* sheet seems a little discouraging... Don't write a sign here initial here design doc. Make it fun, and don't make it readable for other people if you're working alone and can't write in proper english. I do that all the time 
_________________ Internet:~ CPUFreak91$ whois CPUFreak91 && which CPUFreak91 && whereis CPUFreak91 && exit (Find the easter eggs in my signature and win a prize!)
Last edited by CPUFreak91 on Sun Mar 08, 2009 10:55 pm, edited 2 times in total.
|
|
 |
|
 |
|
JeTSpice
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Mar 08, 2009 4:59 pm |
|
Joined: Sun Dec 16, 2007 10:39 am Posts: 2960 Location: Coeur d'Alene, ID
|
|
 |
|
 |
|
SSquared
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Sun Mar 08, 2009 9:30 pm |
|
Joined: Sun Dec 16, 2007 9:14 am Posts: 1579 Location: The Beautiful Pacific Northwest
|
|
RealmMaster, I think you have some misconceptions about a Design Doc. CPUFreak91 has pretty much stated some reasons.
> Sometimes its a little bit depressing to see your work on paper, it doesn't have the flair, scale, > and awe-inspiering qualities it does in your head
So true. Yes. Learning to translate what we have in our heads to paper can be quite challenging. I am a visual person and I think visually. It is still difficult for me, at times, to translate what I 'see' in my mind to words. As a result, I take a long time to write things out. I will usually write down those quick fleeting thoughts and get them on paper. And then slowly refine them.
Pros use them, yes. But even in the professional world, they might be used 50% of the time, if that. It depends a lot on the company and the particular project.
> a design doc goes against the core root of being a good game designer: Unbridled creativity
I'd like to understand why you think that is the case. You are writing a design document. You are basically GIVEN the creativity to do with it as you want (within reason, of course). It's not the design document holding back creativity, but the environment surrounding it (is there enough time to implement everything, do we have the money to do all of this, do we have the right developers/artists with the right skills, do we have software capable of handling this, etc.).
Now, if what you actually mean is AFTER the design doc is created, the people who implement it have less creativity, that I can see. One of the biggest problems I've heard regarding design docs is it turns you into a code monkey. You read the specs and develop to what it says.
> A design doc is like, at least from what I've experienced, correct me if I'm wrong, some > english professors way of getting back at all of the doodlers in his class. Its highly structured > and procedural.
I have to disagree. A design document does not have to be structured, though having SOME structure does help in the reading of it. I am not a very structured person (I am more artsy and spur of the moment) at all and I have not felt boxed in when writing one.
> but recording your awesome idea onto a *sign here* *initial here* sheet seems a little > discouraging...
Yes. That would be. I did work in one place that had Design Document templates. Ptuey! That was boring, boring, boring. And people had to sign off here and there and go through various people before the document was OK'd. It was not fun at all. Morale was extremely low. And that company has since changed their ways.
I think your points are valid, though. But I would say your viewpoint is a little more on the harsher end of the scale. It's possible to work at a company like that (I did for a time, and the company did not start out that way. It only became that after a [really bad] overhaul of the entire development process.) but I have not found that to be the norm.
I'd like to know other people's experiences.
_________________ My quote: Have I mentioned I love C# and the iPad? Another quote: Have I mentioned I love the iPad?
|
|
 |
|
 |
|
Realm Master
|
Post subject: Re: Painless Functional Specifications/Design Docs Posted: Mon Mar 09, 2009 10:08 am |
|
Joined: Sun Dec 16, 2007 12:03 pm Posts: 425 Location: Earth, The Milkyway
|
You have redeemed design docs in my mind... thank you! haha. Well, i'm not going to try and use templates again! 
_________________ Lava, June 10th 2008:"You can take the Realm out of the girls thread but you can't take the girls thread out of the Realm...." 
|
|
 |
|
 |
|
|
Page 1 of 1
|
[ 17 posts ] |
|
Users browsing this forum: No registered users and 1 guest |
| |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum
|
|
 |