- Processes Associated with Web Development
-
Classic Development techniques
- Offer excelent suppot and forums
- offer major update a month after release
- These methods are well known (tried and tested)
- Use classic models in conjunction with next generation methods
-
Realize what the web is
- application platform
- development platform
- delivery platform
- execution platform
-
KIS
- keep it simple/small
- Solve the problem and nothing else
- less employees - 3 is magic number
- keep budget and time fixed, scope can be reduced if setbacks occur
-
stay lean- more flexible
- Essays on Web 2.0 Dvelopment - http://gettingreal.37signals.com/toc.php
- Get software runing asap
- avoid preferences - decide the minor settings
- Don't write functionality specs they are meaningless
- Development with the software's "personality" in mind
-
Consider Open source
- worldwide support network
- reduced cost (if developers are skilled)
- Collective intelligence
-
Database management
- Ongoing operations are very important (maintenance)
-
E.g. Google, Ebay, Amazon
- Design Patterns for the Next Generation of Software http://oreilly.com/web2/archive/what-is-web-20.html
- E.g. google adsense - let your service be in harmony to achieve collective power through many small sites (The long tail)
- leverage customer self service and algorithmic data magement
- Database becomes living and thinking when combined with the collective thought of people
-
Agile Development
-
Minor updates
- {Internet and World wide web how to program Page 77/78 - Deitel 4e}
- Increased amount of updates
- updates are seamlessly made in web environment
- software can remain in perpetual beta
-
Start by Getting HTML Up and Running
- Everyone will see what it looks like (visualization)
- implementation comes later (with better clarity)
- Get the design first (development will be more efficient)
- focus on center of page and build outwards
-
Work in Iterations
- Let project morph and evolve
- don't expect it will be right first time
- leads to liberation
-
Lightweight programming models
- loosely coupled systems
- fragile
- Extremely flexible
- Efficient
-
Innovation in assembly
- Use existing ideas but improve them
- create value by assembling solutions in novel or effective ways
-
Trust Users in development
- collective intelligence
- unique hard to recreate data sources that get richer with user involvement
- treat users as co developers
-
Break it down
- Small problems will be quickly solved
- Big problems have no deadline