Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Design Documents For CodeProject Apps

Design Documents For CodeProject Apps

Scheduled Pinned Locked Moved The Lounge
designquestion
19 Posts 10 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Offline
    N Offline
    nlecren
    wrote on last edited by
    #1

    Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

    D H M C R 7 Replies Last reply
    0
    • N nlecren

      Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

      D Offline
      D Offline
      David Stone
      wrote on last edited by
      #2

      Most of my personal project start out of necessity. I throw together some code for a specific purpose...and then it just starts going from there. If I actually want to write a project (like that front end I wrote to the book database my mom made in Access [I upgraded it to MSDE] that hooked up to the Amazon web service), then I start with a design document. And that project went fairly well...she was happy. :)


      Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

      N 1 Reply Last reply
      0
      • D David Stone

        Most of my personal project start out of necessity. I throw together some code for a specific purpose...and then it just starts going from there. If I actually want to write a project (like that front end I wrote to the book database my mom made in Access [I upgraded it to MSDE] that hooked up to the Amazon web service), then I start with a design document. And that project went fairly well...she was happy. :)


        Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

        N Offline
        N Offline
        nlecren
        wrote on last edited by
        #3

        Would you be willing to post the design doc?? I'm just curious how in depth it is there are really no good examples of non-professional design docs out there that aren't hundreds of pages and take weeks to complete. Thanks Visit my development blog[^]

        D 1 Reply Last reply
        0
        • N nlecren

          Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

          H Offline
          H Offline
          Henry miller
          wrote on last edited by
          #4

          Depends. A small project doesn't need a document, you can keep it all in your head. Open source (linux) developers contend that large changes do get documents. I've seen a couple of them, so I know it is done. Basicly for a large change you need the document to make sure you are not getting into trouble. Although normally the document is not as formal was what I'd write at work.

          1 Reply Last reply
          0
          • N nlecren

            Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

            M Offline
            M Offline
            Marc Clifton
            wrote on last edited by
            #5

            nlecren wrote: Does anyone bother to do full blown design documents for personal projects?? What's design document? Just kidding! Actually, whether it's for work or personal, I find design documents to be pretty useless for the work that I do. Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically. Well, that's the world I work in. So instead, I rely on a solid framework (which I've written about), and then whatever the project is becomes "implementation details", which are easily changed. Occasionally I'll do a really high level design to figure some stuff out that's not handled by the framework. And I've found that declarative programming fits really well into the incremental design/implementation/revise method of working. And I don't find it any more costly either. A detailed design can be a waste of time because it's out of date by the time you start writing the first line of code, or shortly thereafter. Now, if I were writing a mass market commercial application, then yeah, I'd do a full design, story boards, mock screens and workflows, etc. [edit]Oh, and I think design documents are very useful when working on a team, but not as useful as a stand-alone programmer[/edit]. Marc MyXaml Advanced Unit Testing

            N M 2 Replies Last reply
            0
            • N nlecren

              Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

              C Offline
              C Offline
              Charlie Williams
              wrote on last edited by
              #6

              My process is as follows: 1) Open Visual Studio 2) Type:

              static void Main()
              {
              }

              1. Think: Ok, now what should this app do? Charlie if(!curlies){ return; }
              N 1 Reply Last reply
              0
              • M Marc Clifton

                nlecren wrote: Does anyone bother to do full blown design documents for personal projects?? What's design document? Just kidding! Actually, whether it's for work or personal, I find design documents to be pretty useless for the work that I do. Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically. Well, that's the world I work in. So instead, I rely on a solid framework (which I've written about), and then whatever the project is becomes "implementation details", which are easily changed. Occasionally I'll do a really high level design to figure some stuff out that's not handled by the framework. And I've found that declarative programming fits really well into the incremental design/implementation/revise method of working. And I don't find it any more costly either. A detailed design can be a waste of time because it's out of date by the time you start writing the first line of code, or shortly thereafter. Now, if I were writing a mass market commercial application, then yeah, I'd do a full design, story boards, mock screens and workflows, etc. [edit]Oh, and I think design documents are very useful when working on a team, but not as useful as a stand-alone programmer[/edit]. Marc MyXaml Advanced Unit Testing

                N Offline
                N Offline
                nlecren
                wrote on last edited by
                #7

                So instead, I rely on a solid framework (which I've written about), Do you have a link??

                M M 2 Replies Last reply
                0
                • N nlecren

                  Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

                  R Offline
                  R Offline
                  Rocky Moore
                  wrote on last edited by
                  #8

                  I first start with Notepad. List out what basic features it will need and then maybe a bit more detail on each feature. Since most of my work nowadays is web applications, here is an example for a mailing list:

                  Requires:

                  Database -

                  Subscriptions
                  {
                  ID
                  EmailAddress
                  CreatedAt
                  IsValidated
                  }

                  Functionality -

                  Subscribe Page
                  Page to Sign up
                  Get signup information and send email for validation
                  Page for Validation Message Sent

                  Validation page
                  Check if valid validation code and subscription as validated

                  Unsubscribe Page
                  Page Prompt for email address and confirm deletion
                  Delete from database

                  Post Page
                  Input text and cycle through all subscribers sending the emails

                  That is about as detailed as I get starting a project. After it is complete to the point I listed, I will run through it and see if there is ways to improve it or make it more user friendly. Rocky <>< www.HintsAndTips.com - Now with GMail Queue www.MyQuickPoll.com - 2004 Election poll is #33 www.GotTheAnswerToSpam.com "We plan for the future, we learn from the past, we live life in the present!"

                  1 Reply Last reply
                  0
                  • M Marc Clifton

                    nlecren wrote: Does anyone bother to do full blown design documents for personal projects?? What's design document? Just kidding! Actually, whether it's for work or personal, I find design documents to be pretty useless for the work that I do. Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically. Well, that's the world I work in. So instead, I rely on a solid framework (which I've written about), and then whatever the project is becomes "implementation details", which are easily changed. Occasionally I'll do a really high level design to figure some stuff out that's not handled by the framework. And I've found that declarative programming fits really well into the incremental design/implementation/revise method of working. And I don't find it any more costly either. A detailed design can be a waste of time because it's out of date by the time you start writing the first line of code, or shortly thereafter. Now, if I were writing a mass market commercial application, then yeah, I'd do a full design, story boards, mock screens and workflows, etc. [edit]Oh, and I think design documents are very useful when working on a team, but not as useful as a stand-alone programmer[/edit]. Marc MyXaml Advanced Unit Testing

                    M Offline
                    M Offline
                    Michael P Butler
                    wrote on last edited by
                    #9

                    Marc Clifton wrote: Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically I was doing a flowchart the other day for a business process workflow. Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. What do you think :-D :-D Michael CP Blog [^]

                    M 1 Reply Last reply
                    0
                    • N nlecren

                      So instead, I rely on a solid framework (which I've written about), Do you have a link??

                      M Offline
                      M Offline
                      Michael P Butler
                      wrote on last edited by
                      #10

                      nlecren wrote: So instead, I rely on a solid framework (which I've written about), Do you have a link?? I think Marc is referring to the work he did with the The Application Automation Layer[^] which lead to this article[^] which lead onto all this[^] The MyXaml MvC[^] pattern is very useful as a framework as is the workflow stuff[^] Michael CP Blog [^]

                      N 1 Reply Last reply
                      0
                      • N nlecren

                        So instead, I rely on a solid framework (which I've written about), Do you have a link??

                        M Offline
                        M Offline
                        Marc Clifton
                        wrote on last edited by
                        #11

                        nlecren wrote: Do you have a link?? Part I of IV.[^] The other 3 parts are on CP, as well as several other articles on architecture and advanced unit testing. The AAL project (a C# rewrite of something I've been using for years in C++) got supplanted by MyXaml[^] which incorporates many of the abstraction and plug-in concepts by its very nature (declarative programming vs. imperative). A high level diagram of what I use is here[^]. Marc MyXaml Advanced Unit Testing

                        1 Reply Last reply
                        0
                        • N nlecren

                          Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

                          S Offline
                          S Offline
                          Steven Campbell
                          wrote on last edited by
                          #12

                          I disagree that "refactoring or design as you code is horrible", and leads to time overruns. While it is good to have a high-level design of what you plan on doing, it is perfectly workable to have the design evolve as you progress. The trick is to follow a test-driven development style. Then, when you have to refactor (and you will), you will find it amazingly easy. In addition, a side-effect of test-driven development is that the code becomes strongly decoupled, which is one of the design goals of almost any program.


                          my blog

                          1 Reply Last reply
                          0
                          • M Michael P Butler

                            Marc Clifton wrote: Most of the time the customer can't figure out how to say what it is that they want with any level of detail, and then when you show something to them it gets changed drastically I was doing a flowchart the other day for a business process workflow. Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. What do you think :-D :-D Michael CP Blog [^]

                            M Offline
                            M Offline
                            Marc Clifton
                            wrote on last edited by
                            #13

                            Michael P Butler wrote: Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. Indeed. I'd love to use something like Visio or other drawing package as a designer (diagram to state/workflow/event/MVC model), and back again to reflect manual code changes. I wish I had the time to do that! I used to work with Visio a lot, and it was really cool. Other packages are probably similar (hopefully not as complex as Visio though). However, my next MyXaml task is getting it to run with VS2005 and .NET 2.0 Marc MyXaml Advanced Unit Testing

                            D 1 Reply Last reply
                            0
                            • C Charlie Williams

                              My process is as follows: 1) Open Visual Studio 2) Type:

                              static void Main()
                              {
                              }

                              1. Think: Ok, now what should this app do? Charlie if(!curlies){ return; }
                              N Offline
                              N Offline
                              Nemanja Trifunovic
                              wrote on last edited by
                              #14

                              Charlie Williams wrote: static void Main(){} You mean:

                              namespace IAmGoingToHaveFun
                              {
                              class WowIamAlreadyProgramming
                              {
                              public static void Main()
                              {
                              //Enough typing for today - I'll get back to it tomorrow
                              }
                              }
                              }


                              My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.

                              1 Reply Last reply
                              0
                              • M Marc Clifton

                                Michael P Butler wrote: Then I thought, wouldn't it be cool if I could design the workflow in MyXaml and then have the flowchart generated for me. Indeed. I'd love to use something like Visio or other drawing package as a designer (diagram to state/workflow/event/MVC model), and back again to reflect manual code changes. I wish I had the time to do that! I used to work with Visio a lot, and it was really cool. Other packages are probably similar (hopefully not as complex as Visio though). However, my next MyXaml task is getting it to run with VS2005 and .NET 2.0 Marc MyXaml Advanced Unit Testing

                                D Offline
                                D Offline
                                David Stone
                                wrote on last edited by
                                #15

                                other drawing package Have you taken a look at the Whitehorse (Class Designer) tools in VS2005? It sounds like what you're looking for. If there was a way to plug into that, that could be what you're looking for.


                                Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

                                M 1 Reply Last reply
                                0
                                • N nlecren

                                  Would you be willing to post the design doc?? I'm just curious how in depth it is there are really no good examples of non-professional design docs out there that aren't hundreds of pages and take weeks to complete. Thanks Visit my development blog[^]

                                  D Offline
                                  D Offline
                                  David Stone
                                  wrote on last edited by
                                  #16

                                  I actually wrote the application a long time ago (meaning: I've completely lost the documentation for it ;P) and it was solely for the purpose of explaining to my mom how I was going to go about doing it. It was mostly just a Visio diagram showing pretty shapes and a few short paragraphs as to what the form would do. What Marc says, down below, makes infinitely more sense anyway. For single-programmer projects, whereno end-user input is necessary, the design doc is almost unnecessary. What you really need is his MyXaml stuff...that's shweet. :cool:


                                  Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

                                  1 Reply Last reply
                                  0
                                  • M Michael P Butler

                                    nlecren wrote: So instead, I rely on a solid framework (which I've written about), Do you have a link?? I think Marc is referring to the work he did with the The Application Automation Layer[^] which lead to this article[^] which lead onto all this[^] The MyXaml MvC[^] pattern is very useful as a framework as is the workflow stuff[^] Michael CP Blog [^]

                                    N Offline
                                    N Offline
                                    nlecren
                                    wrote on last edited by
                                    #17

                                    Thanks i'll check this stuff out

                                    1 Reply Last reply
                                    0
                                    • N nlecren

                                      Does anyone bother to do full blown design documents for personal projects?? Or is it better to just go ahead and start coding. The reason i ask this is that unless I'm at work and getting paid to write the design document and then code the project, i find that the design document kills my development. By the time i'm done with that document i've lost all desire to even code the project. Granted refactoring or design as you code is horrible in the real world where money is involved and the project must be done on time, but what about when you are doing a hobby project. Seems like part of a hobby project should be fun, not killed writing boring design documents that nobody will force you to use anyway. Just wondering what all of you do for these codeproject applications? Full blown design docs or some notes on a paper with some ideas?

                                      D Offline
                                      D Offline
                                      Danny Rodriguez
                                      wrote on last edited by
                                      #18

                                      It all depends on the project.. Sometimes it necessary especially when you have a team of programmers with you.. If you are solo - you can cut down alot on the documentation since you are the only one that will understand it.. Aside from that - its rather IMPOSSIBLE to gather good requirements from most clients.. since most have no clue abotu software or technology.. just that they want to make there "stuff" easier.. if you ask themn for details.. they will give you a 1 paragraph summary.... sometimes you can shoot from the hip - which turns out into a total mess if you arent careful.. it almost borders on the evolutionary model which as we know is used when there no requirements or requirements are unknown which in the real world is typically more often the case than not.. would be nice if could follow those steps in a real life scenario - or have others outside the development process - which have the patience to let it flourish.. Danny!

                                      1 Reply Last reply
                                      0
                                      • D David Stone

                                        other drawing package Have you taken a look at the Whitehorse (Class Designer) tools in VS2005? It sounds like what you're looking for. If there was a way to plug into that, that could be what you're looking for.


                                        Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?

                                        M Offline
                                        M Offline
                                        Marc Clifton
                                        wrote on last edited by
                                        #19

                                        David Stone wrote: Have you taken a look at the Whitehorse (Class Designer) tools in VS2005? Cool. I'll take a look at it. Marc MyXaml Advanced Unit Testing

                                        1 Reply Last reply
                                        0
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • World
                                        • Users
                                        • Groups