OVERVIEW OF COMPUTER-ORIENTED PROJECTS
We are a volunteer-run non-profit organization with information technology plans that are ambitious relative to our present size and resources. We understand that a well-designed and -managed infrastructure can enable a few good people to do alot of great work.
This summer, we need a few good people to help us do alot of great work to put this infrastructure in place and increase our capacity to manage it.
A portfolio of smaller projects will focus on making strategic progress in developing these major program components:
• An online book store
• A computerized system for office and business administration
• A world-class, content-rich website
• An extensible system for managing contacts and communications
• A minimal, manageable, and documented network of computer systems and services
Part of our time will also be devoted to establishing effective project management and development practices.
We are in the difficult position of having a put significant effort into the legacy systems that have gotten us this far, but that, considering the factors outlined below and other constraints, may not be optimal or even effective as long term solutions.
We need a realistic, forward-looking technology strategy. Many important decisions will, hopefully, be made over the course of the summer.
The following factors are good to keep in mind as summer work begins:
• Our current human, financial, physical resources are limited.
• We have many program goals that compete for these resources: a book business, a dynamic website, a contact management system, volunteer participation, and financial viability are significant examples.
• We already rely heavily on computer systems. Reaching our goals will increase their number and their importance.
• The entire set of systems will be managed by a very small group of people.
• The technical skills available to the majority of users will be limited.
• There will be significant pressure to make progress before the summer ends.
• People come and go, and quite often our biggest challenge is to keep work moving forward and project knowledge intact as the number and skillsets of our volunteer contributors change.
Technical And Product Factors
This is where we are looking for the most help, system-level technical expertise, and leadership.
Several concerns cross project boundaries and have pervasive, long-term impact. They should really be given priority attention by the whole team in cooperation, and perhaps be resolved as explicitly managed projects in themselves.
They consist essentially of decisions that still need to be made in areas such as these:
1. Technology selection
2. Application architecture
3. Data architecture
4. Retail functionality requirements
5. Feature and data distribution
They can be covered in detail when appropriate but I can provide a short illustration of what I mean by them here:
1. Is Java an affordable and viable web development environment?
How can we minimize the number of technologies and skills we need to master?
2. Will our solutions work across Mac and MS clients? Run on Linux or Windows?
Is process logic in stored procedures, application code, and/or an external rule base?
3. Are the office application and e-commerce schemas and encodings compatible?
Do the web forms, contact database, invoices, and shipping company have the same name and address structure and constraints?
4. Are we collecting the information we need for our financial reporting obligations?
We see that a commercial app ensures that "invoices and claims are recorded automatically in the accounts payable system". Do our requirements cover invoices, claims, and accounts? Do we need to automate claim and account links too?
5. Can someone manage contact and business records away from the office?
Which customer order is the master - web or office, printed or electronic invoice?
At the office, we are running a mixed Windows network consisting of 5 workstations running Windows 98 , 2000, or XP, a Mac OS9 laptop, and a Linux file server running Samba. The Ethernet network shares a single residential Internet connection.
Our primary desktop applications are MS Access, Excel, and Word, with OpenOffice available as an alternative. There is a typical mix of Internet clients and system utilities. Other applications in use include Adobe Illustrator, for graphic design, and specialized applications such as Extensis Portfolio, for managing image collections. We have room to standardize on specific applications and acquire others to fill in gaps.
Standards, Protocols, and Languages
This set is not fixed and will be refined. I think the most likely additions are LDAP, XML, and XSLT, but each of these remains to be considered in context. There will also be opportunities to evaluate application-level standards, in particular those relating to the structure of our data and documents.
Website, Application, and Server Environment
Our Website is hosted externally on a virtual server account offering Linux, Apache, Tomcat, and MySQL, and supporting PHP, Python, Perl and J2EE applications. The most likely combination is MySQL and PHP, but we have a small development investment in J2EE applications and that technology remains under consideration for appropriate deliverables. Access to the site is limited -- web-based and FTP access, no login shell. We will be evaluating hosting alternatives in July.
We have (or can have) local instances of these technologies installed for development, testing, and skill development.
Major additions to this set will likely come from the domains of groupware applications, content management systems, mailing list managers, directory services, and development tools such as version control systems, bug/request trackers, specialized editors, IDEs, and so on.
Click Here for More information (project notes and sample breakdowns)