Depicting a project's scope.

I am currently working on a project which is growing rather quickly, and I'd like to keep people a certain group of people informed on its growth and new features. I figured the best way to show non-coders the scope of a project would be to neatly paste my code into Photoshop, with file name descriptions and comments as needed, then save it as a high-resolution image.

The problem is that as my project gets bigger this becomes less and less feasible. With multiple header and source files, all several hundred lines of code at least, this is not only a big time waster, but the end result isn't entirely satisfactory. I end up with a huge image, no source highlighting, and all it really shows is length.

Someone must have come up with an easier way of showing project progress before. This wouldn't be nearly as hard if my target audience knew and understood my code, but they don't. Suggestions?

Thanks for the help, I appreciate it.

EDIT: I'm looking for suggestions here, not necessarily a complete and detailed solution. Give me an idea and I'll run with it.
Last edited on
errr... I couldn't think of a worse method than showing a non-techie your code.

Most projects utilise a project management system. Even if you have a simple system configured with web-access you are able to setup tasks/goals and then update information regarding the progress within each of these.

Since your requirement seems very simple. I'd suggest using a very basic web framework like .Project (dotProject). You can setup projects and give people view access so they can see the progress along each task.

Edit: IF you were going to show someone the source code. Why the hell don't you have it in a source control system and just giving them view access?
Last edited on
The idea is to make it as easy as possible for non-programmers to access it. Source control isn't exactly user friendly.

I wonder if I'm better off just displaying screenshots of the actual application.
Last edited on
Screenshots in general is a bad idea. It gives no perception of the functionality etc.

You have a few ways, as mentioned above employing some basic project management software is definitely going to be your best bet. A simple one that just lists off tasks in a kinda blog-like fashion and your comments are progress updates. This tends to be the best as most people can navigate a project management system without any problems.

The other method, common in iterative development is to provide the client with updated builds of the software for them to test. The downside to this is that you need to do a significant amount of base work initially before the client gets to see anything. The upside is the constant feedback will often produce a better product.

Hell, I'd have nightmares if I had to screenshot all my code. It'd take me atleast 4hrs on one of my current projects alone :|

Right. I was actually thinking at one point of reading MSVC project files, then having the code automatically separated into different source/header files which would be neatly displayed on a 2d plane. The user could then zoom in and out to see the various parts of the code, somewhat like Microsoft's Seadragon.

That would be a hell of a lot of work for something so trivial though. I could justify it if there was enough demand, but there really isn't. Another problem is the fact that this would require the full source code to be bundled with the application; less than desirable in certain projects.

On the other hand, if I did write this program and GPL it, other people might benefit from it.
Last edited on
Your thinking of the solution all wrong. Your thinking of this as a developer, but you said yourself the target audience doesn't understand your code.

You need to think of this as a project manager, not a programmer. Significant difference, displaying the code (regardless of format) is completely useless. Even to another programmer, as they don't want to know how much code you've done, so long as the functionality works.

Even a unit test print out would be more useful to show progress if your doing TDD.
If you are looking to show project progression, displaying code to non technical users who could care less is a bad idea. Screenshots are time consuming and don't really provide a glimpse into a project. My first suggestion, being a Business Systems Analyst for some time now, is to establish your scope in writing first, before you jump into a tool. You need to be able to say, "This is what the system needs to do" and then break your project into deliverables (or sprints/timeboxes if you're into agile). Upon completion of each deliverable, some sort of demonstration or documentation would be relevant. I personally prefer recording a quick demo of the new product features and making it available. End users love this approach as they can see the system in action. The more visual the requirements, the better. Your other option is to provide release notes with each milestone... which you should be doing anyway, that outline the new features available. Simple bullet points will do. Or you can go full force with a project management system, even MS Project will do.
Topic archived. No new replies allowed.