Wikki Verma Suggest Before opening an IT consultancy, I did my homework. I interviewed lifelong consultants. I read books. I even took personality tests to confirm that my psychological constitution matched the challenges I did face as an entrepreneur owning and operating my own business.
2. What is Open Source Software
ï www.opensource.org says 10 things, but we summarize as:
ï Software in a community that is:
ï Freely Used (no warranty, no limits on usage)
ï Freely Extended (must share source, represent original works and
owners)
ï Many varieties of licenses, they ARE different.
Know what they mean.
ï Check out www.opensource.org for large list and details of each.
3. Summary
A case study of a project created with open source technology.
ï Project analysis: Goals & Resources
ï Technology: TCO, Evaluation & Decision
ï Implementation: Building the project
ï Lessons: What was learned
ï Resources
5. Project Analysis: Goals
ï Project â functional, scalable, simple.
ï Timeline â when will each phase roll out?
ï Budget â how much money do we have?
ï Longevity â short term utility or long term application?
ï Equity â invest time in ourselves, or dollars in outside
vendors?
Inexpensive, Build Fast, Quality: pick any two.
6. Project Analysis: Resources
ï Staff Knowledge â what is current ability of staff?
ï Time â how long do we have?
ï Money â how much do we have?
ï Technology â what is already in use?
8. Technology: Total Cost of Ownership
(TCO)
ï Startup Time: days or weeks?
ï Development Time: weeks, months, years?
ï Startup Money: cost of acquisition
ï Development Money: recurring costs and time.
ï Equity: $ pay to outside, vs. pay to ourselves
ï Risk: Dependency on outside trends?
ï Support: availability? Cost?
10. Technology: Evaluation for TCO
ï Tech staff has both Windows and UNIX background
ï We have time (several months ok)
ï Low budget, little money to spend.
ï Prefer to invest equity in ourselves.
ï Would like to reduce risk from outside tech trends.
ï Need solid, reliable server that requires little maintenance.
ï Need development questions/problems solved, but not real
time.
11. Technology: Decision to use LAMP
ï This is a new project (no migration necessary)
ï Our staff has UNIX (Linux) experience
ï Large user support community for core technology
ï Invest into own technology equity
ï Reduce risk of reliance on technology trends
ï Low cost to entry (no license or hardware fees)
13. Implementation: Development
Environment
ï Linux server, Windows 2000 & XP workstations.
ï Apache, MySQL and PHP.
ï CVS & e-mail/IM for configuration management.
ï Smarty template engine (smarty.php.net)
ï PEAR application framework (pear.php.net)
ï SafeSQL - PHP Class to prepare SQL statements
Google to find. Written by author of Smarty.
14. Implementation: Development
ï Data model with subject matter experts, talk through 1-to-
Many relationships, sanity check.
ï Design PHP class hierarchy for business N-tier layer.
ï Create shim PHP classes for web designers to use while
building and testing HTML templates. This provides ability
to develop GUI in parallel.
ï Smarty template syntax can be HTML syntax compliant for
use with Dreamweaver.
15. Implementation: Open Source value,
case in point
ï We found a useful PHP class for preparing SQL statements
called SafeSQL.
ï However, it did not provide all the functionality we wanted.
ï In about 2 hours we modified the source to add our
features.
ï We then e-mailed a copy back to the author; that these
features may be included in future versions (as he my
decide).
ï We enjoy similar features added by other developers.
17. Lessons Learned: Support
ï Subscribe to on-line newsletters early on. Look for digest
versions and skim for understanding of product and
current support.
ï Plan time for support from open source community.
Response time may be days.
ï Donât be afraid to ask for help. Be courteous to the open
source community.