1 / 10

The Joel Test Q1

The Joel Test Q1. Do you use source control? Use it for your CS682-3 project. Submit all of your CS680 programming assignments to a Subversion repository. Email submissions NOT allowed for programming assignments. Contact Zhimin Wang (wangzm@cs.umb.edu) and let hime know hour email address.

elom
Download Presentation

The Joel Test Q1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Joel Test Q1 • Do you use source control? • Use it for your CS682-3 project. • Submit all of your CS680 programming assignments to a Subversion repository. • Email submissions NOT allowed for programming assignments. • Contact Zhimin Wang (wangzm@cs.umb.edu) and let hime know hour email address.

  2. The Joel Test Q2 • Can you make a build in one step? • Use a single build script that • configures all settings (e.g., class paths and a directory to generate binary code), • compiles all source code from scratch, • generates binary code, and • test compiled code • You should do this for all CS680 programming assignments and CS682-3 projects. • DO NOT use any other ways for configurations and compilation. • Setting class paths manually in a GUI window (e.g., Eclipse) • Clicking a compile button manually • Setting an output directory manually in a GUI window

  3. Fully automate configuration and compilation process to • speed up your configuration/compilation process. • remove potential human-made errors in your configuration/compilation process. • Make it easier for other people (e.g., code reviewers, team mates) to understand your code/project. • Use Ant for this automation. • Use JUnit for unit tests. • Unit testing is the most fundamental among various testing schemes.

  4. The Joel Test Q3 • Do you make daily builds? • Do this for your CS682-3 project. • Toward the end of a project, make builds more often. • Share every build information among team members. • Project web site and email • Each team needs to define a “protocol.” • When to make a daily build? • Who makes a daily build? (“buildmaster”) • Who ensures a build is clean (not-broken)? • How to rotate the buildmaster role among team members? • What if a build is broken? • How and who fix a broken build?

  5. Why daily builds? • Edit-Compile-Test loop • Report-Fix-Retest loop • = Report-(Edit-Compile-Test)-Retest loop • Daily builds can shorten this loop. • Shorten the integration phase • Decrease integration risk • Continuous testing as the project proceeds. • Good to get some peace of mind.

  6. The Joel Test Q4, Q5 and Q6 • Do you have a bug database? • Do this for your CS682-3 projects. Important! Share bug information among team members. • Excel, Wiki • Bug tracking software like Bugzilla • Do you fix bugs before writing new code? • Do this for your CS682-3 projects. Important! • Do you have an up-to-date schedule? • Important! Good idea to try in your CS682-3 projects.

  7. The Joel Test Q7 and Q10 • Do you have a spec? • A spec includes architecture models, design models, and comments in code. • Do you have testers? • Important, in general. Difficult for your CS682-3 projects. • Every team member should involve testing. • Perform unit test and integration test through daily builds. • Never underestimate testing!

  8. Swedish Navy • What were wrong?

  9. No specifications • Designs not explicitly written. • Designs not communicated among shipwrights. • Designs not recorded for future projects. • Testing underestimated • No prioritization on tasks/requirements • Didn’t know how to say “no” to the customer.

  10. HW3 • Learn what Subversion is. • You will submit all of your programming assignments to a Subversion (SVN) repository. • Choose a svn client software and learn how to use it (read its manual) • TortoiseSVN • RapidSVN • Contact my TA to get access to the CS680 svn repository! • Read SP 11 to 15. • Due: Sept. 20

More Related