Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Port80 2012: Web Project Management


Published on

Taking a big web app from concept to user.

Published in: Technology, Business
  • Really interesting presentation. May have been a little broad in scope. But overall, winner.
    Are you sure you want to  Yes  No
    Your message goes here

Port80 2012: Web Project Management

  1. 1. Web Project Management Taking a big web app from concept to user @Dan_Gates#p80N
  2. 2. A bit about me Lead Developer at Bite UK Web developing for over 5 years Worked with Sony, Nokia, Logica, Groupon and MicrosoftFrameworks of choice are CodeIgniter or Ruby on Rails #p80N
  3. 3. In the beginning Who is it for? What is the purpose of your app? What will it do? What will it say? What information will it collect? How will it do it?#p80N
  4. 4. Who is it for? Existing customers? Prospects? Dads? Theoretical physicists?#p80N
  5. 5. What is the app’s purpose? To make money To get marketing information To make people laugh#p80N
  6. 6. What will it do? Create a photo album from Facebook photos Let people throw sheep at their friends. Make Goofy attack London#p80N
  7. 7. What will it say? Consideration needs to be given to what your app will say, and how Don’t overlook success, error and other informational messages#p80N
  8. 8. What information will it collect? What information does the app need to function What additional information does it (or more specifically, the owner) want?#p80N
  9. 9. How will it do it?Programming languages, frameworks and Databases Third-party libraries APIs Hosting#p80N
  10. 10. Costing it up Break the build into bite sized chunks How long will each chunk take to complete? Give yourself a buffer#p80N
  11. 11. Making it pop Hosting infrastructure Database Interface#p80N
  12. 12. Hosting infrastructure Client requirements Technology requirements Think about load#p80N
  13. 13. Database Scalability (where’s my buzzword bingo?!) Availability Simplicity#p80N
  14. 14. Interface Do you need an admin interface? Don’t start with design Guide, don’t lead Be obvious#p80N
  15. 15. Organisation Project management Bug/issue tracking Don’t over organise#p80N
  16. 16. Project management Use deadlines, if there aren’t any make them up Build with milestones Have a project lead, don’t step on their toes#p80N
  17. 17. Bug tracking Have a central area to store bugs Post detailed information, not just summaries Assign bugs#p80N
  18. 18. Don’t over organise Over organising leeches enthusiasm It wastes time It’s boring Never under-estimate a cup of tea and a quick chat#p80N
  19. 19. The build set-up Local/Staging/Production FTP Version Control DEPLOY!#p80N
  20. 20. Servers Local server for development Staging server for testing Production server for the users#p80N
  21. 21. FTP Quick and easy Makes working with a team tricky No change history No way to rollback bad changes#p80N
  22. 22. Version Control More complicated than FTP Working as a team easier Easy to rollback to last working version#p80N
  23. 23. DEPLOY! Deploy through the shell Write scripts Use tools to make it easier#p80N
  24. 24. Re-use, recycle Dynamic CSS & grids Javascript frameworks Coding frameworks#p80N
  25. 25. Dynamic CSS & grids Save time, reduce repeat code Easier to update styles, built-in responsiveness Show clients results, fast Grids suffer from divitis#p80N
  26. 26. Javascript frameworksWrite complicated Javascript quickly Use pre-made animation code Can you do without it?#p80N
  27. 27. Coding frameworks MVC FTW Less wheel re-invention Quicker to build with, easier to maintain #p80N
  28. 28. Testing the code Be aggressive Use your knowledge of the app Don’t rely on automated tests#p80N
  29. 29. Server watching $ tail -f /path/to/error_log $ top Automated checks Social media#p80N
  30. 30. Debrief What went right? What went wrong? What will you do different next time?#p80N
  31. 31. The End Twitter: @Dan_Gates Web: Web: