HOME - - - - - Lazarus Tutorials TOC - - - - - - Programming Challenges TOC - - - - - -

Creating software as a group project

Working in a team to create a computer program

Page URL: lt8n-chall-grp-overview.htm

This page presents some general ideas about how a group could work together to create a computer program.

It is from a site where a number of programming challenges are presented for enthusiasts have fun with, or as a resource for schools. In many cases, further specific suggestions will be included in the statement of the challenge.





First Attempt to Explain Something VERY IMPORTANT...

A wise person once said, "Decide where you are going before you start walking."

Don't be too quick to dismiss the following as "obvious".

Doing something by yourself is much easier that doing something with a group... if you have the time, energy and knowledge.

When you have to use a group, a host of other challenges have to be overcome.

If a group decides to work together to produce something, the most critical step is making sure that everyone knows a great deal about the goal before any other work begins.

The next most important thing is to divide the task up well. Who will do what, when? How will the "pieces" be joined together to achieve the ultimate goal.

These things won't take care of themselves. Poor planning produces poor product.

----- Plan, plan, plan... be very clear, BEFORE you start other work, what the product will be. What will it's parts be? (Including dimensions, etc.)

Everyone must, as far as possible, know "everything". If someone doesn't know something, that's okay... *if* the person doesn't know that.

Let's say the group is building a car. Out of steel. One team might do the wheels. Another could do the engine. Another the body.

As long as everyone knows that the body will need paint, or something else to protect the steel, it isn't necessary for everyone to know the paint's color.

The people who are going to join all the parts may be planning on welding the body to the frame. They need to know about the paint, so that WHEN the body is painted can be dine at a sensible time.

If you undertake a project as a group, try to learn about what works and what doesn't when you attempt group projects. Don't neglect that opportunity to expand your skills by thinking only about how well the realization of the group's goal is going.

End of First Attempt



A second attempt to explain The Secret

(and then I'll go on to new stuff!)

Of all the things you can do to make your group project a success, nothing matters more than...

! ! PLANNING ! !

Creating software is a journey. Don't start walking down the road before everyone in the group knows where you are going.

If you were building a house, you would have drawings to show what the house was going to be like.

When the house plan is done, then the next bit of planning takes place: How will things be broken up? For instance... there would be a team to do the foundations, another to build the shell, another to put in the plumbing, another to put on the roof.

Each team would need to know what they had to provide. The project's timing would need careful planning.

The builders of the shell wouldn't need to know every detail of how the plumbers were going to install the pipes... but each would have to know certain things about what the other was going to do.

Writing a computer program as a group is very similar. If you think about it, you may do a good job of the planning, and if you do a good job of the planning, you may get a good program!

Two important documents

Whether you are doing some coding as part of a group or on your own, there are two documents which will help you do it more easily.

You need...

The user's guide explains what input the program needs. It explains what output the user can expect. It explains features and menus.

The programmer's guide give details of such things as the variables (global and local) used, data structures, program flow.

It also explains the core executive part of the program and the subroutines that draws on to deliver the results that the program was written to provide.

In the beginning...

Even if the project is going to be done by a group, quite a lot of time will have to be spent by all the participants (or at least all of the team leaders, if a group of teams is envisioned) deciding WHAT the program is going to do, and HOW it is going to be split up.

When you work on a program on your own, you should do a lot of planning before writing any code. You probably should even write a program's User Guide and Programmer's Guide before writing any code.

But when I am working on my own, I must admit that I don't always do everything I should. I "sorta know where I'm going", and don't have the discipline to pin everything down before I start coding.

And I always pay a price for that poor practice!

If you're doing something as a group project, you really can't get away with that. Resist the temptation of being vague about anything.

At the very least, you need to write a list of what global variable will be used by the code.

You will also want to write up "who is doing what", and how the pieces can be put together. A planned program of testing the elements of the program as they take shape will also pay dividends.

I'm sorry...

I'm sorry that this page isn't better than it is. But It's taken me more time to write it that it will take you to read it, and I hope it was at least a little bit useful.





Search across my sites with a Google search...

This searches wywtk, skywoof, sheepdogguides, sheepdogsoftware and arunet... but doesn't always give all of the pages that have content which matches the criterion.

Use this to search THIS site.... (Go to my other sites, below, and use their search buttons if you want to search them.)

(Alas... my Lazarus material is split across two sites... SheepdogGuides.com and WYWTK.com. Sorry!)

index sitemap advanced
search engine by freefind

Site Map    What's New    Search

This search engine is "old skool"- it merely looks for the words you type, so....
*    Spell them properly.
*     Don't bother with "How do I get rich?" That will merely return pages with "how", "do", "I"....


Please also note that I have three other sites, and that this search will not include them. They have their own search buttons.

My WhatYouWantToKnow site- https:/wywtk.com.

My SheepdogSoftware.co.uk site.

http://www.arunet.co.uk/tkboyd/index2.htm: My site at Arunet. (Sorry.. not httpS accessible)


Ad from page's editor: Yes.. I do enjoy compiling these things for you. I hope they are helpful. However... this doesn't pay my bills!!! Sheepdog Software is supposed to help do that, so if you found this stuff useful, (and you run a Windows or MS-DOS PC) please visit my freeware and shareware page, download something, and circulate it for me? Links on your page to this page would also be appreciated!
Click here to visit editor's freeware, shareware page.

Link to Lazarus Tutorials main page

To email this page's editor, Tom Boyd.... Editor's email address. Suggestions welcomed! Please cite "lt8n-chall-grp-overview.htm".





Valid HTML Page has been tested for compliance with INDUSTRY (not MS-only) standards, using the free, publicly accessible validator at validator.w3.org. Mostly passes.

AND passes... Valid CSS!

Click either icon to run its test. Be prepared to enter URL of page to be checked by hand when you reach the validation tool.

Click either icon to run its test. You may need to enter URL of page to be checked by hand, kin the case of the CSS check, by editing the entry in address box.

If this page causes a script to run, why? Because of things like Google panels, and the code for the search button. Why do I mention scripts? Be sure you know all you need to about spyware.

....... P a g e . . . E n d s .....