I’ve started a list of questions to establish constraints for project work.
These are targeted to web development (since that’s my area), but should be
part of a larger series of questions that are asked when taking on a project.
The idea is to discover the constraints the project runs under, and to force
the issue on decisions that need to be made but have not. I’ll try to update
these as they change.
Browsers 1. Is there a specific set of browsers that must be supported? If
not, then the http://developer.yahoo.com/yui/articles/gbs/ will be used. 2. If there are specifics, please specify for
the following browsers. OSes tested on will be Windows XP and OS X 10.5+.
Internet Explorer, Firefox, Safari, Chrome, and Opera.
Window size 1. What is the smallest window size that must be supported? If
not specified, then 800x600 will be used. 2. What is the largest window size
that will should tested against? If not specified, then 1440x900 will be used
(size of the laptop I test on). 3. Is there a preference for a fluid or fixed
layout? If not specified, a fluid layout will be used. If a fluid layout is
preferred, will mockups/images at multiple screen sizes be provided?
CSS 1. Is the project already using a library for CSS, such as YUI Grids?
If not, then http://developer.yahoo.com/yui/3/ Grids/Base/Reset/Fonts CSS files will be used. This will be accessed
via a Content Distribution Network hosted by Yahoo or Google (in other words,
the files will be served from an outside network to increase page speed and
take advantage of caching). 2. Is there any restriction against using
conditional comments for various versions of Internet Explorer? If not, these
will be used to target CSS and javascript fixes to versions of IE as needed.
3. Is there any issue with progressively enhancing the website for advanced
browsers? This means that certain effects such as rounded corners will NOT
show on out of date browsers, such as IE6. If not, CSS3 techniques will be
used to create effects such as rounded corners.
Javascript 1. Is the project already using a library for javascript, such
as jQuery, YUI, Blueprint, etc? If not, then either YUI or
http://jquery.com/ will be
used, usually the latest stable version available. Again, this will be
accessed via a CDN where possible.
Working in a code base or on my own? 1. Will I be working in the
production code base or creating my own prototype?
Accessibility 1. Are there any specific accessibility requirements? If
not, then http://www.w3.org/TR/WCAG20/ and http://www.w3.org/WAI/intro/aria will be targeted/implemented in the code.
Agile, waterfall, other? 1. Is there a specific methodology being used for
the project that I will need to participate in, such as daily standups? What
are the dates and times for those meetings, and what I am expected to
contribute to those?
IDE/environment 1. Is there a specific IDE or environment that must be
used, such as .NET studio, Eclipse, etc? Is there a specific version control
system that must be used? If not, I will use a text editor and our own vcs
repository.
Server side Languages 1. Is there a specific server side language that I
must use? If not, PHP will be used.
Final deliverables 1. I will deliver HTML, CSS and javascript, optimized
for performance. This means the CSS and javascript will be minified. All of
the above will be delivered as URLs on our server, generated from a Server
Side Language such as PHP. Is this sufficient, or do I need to provide a
zipped/tarred version of the files? 2. Will I be helping to integrate the
delivered items into the production code base?
Debugging 1. Will I be expected/asked to help debug production code issues
once a release has occurred?