1 / 24

Decluttering your Software Development Process

Decluttering your Software Development Process. Michael Smith michael@teratech.com TeraTech, Inc. Speaker Information. Michael Smith michael@teratech.com Founder and CEO TeraTech (CF and Flex web application development, server tuning load testing, security audits)

chelsa
Download Presentation

Decluttering your Software Development Process

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Decluttering your Software Development Process Michael Smith michael@teratech.com TeraTech, Inc.

  2. Speaker Information Michael Smith michael@teratech.com • Founder and CEO TeraTech (CF and Flex web application development, server tuning load testing, security audits) • Founder of CFUNITED conference (in 11th year) • Programming for 30 years

  3. Why Declutter? • Less stress • More energy • More productive • Easier to think clearly • Better focus • Fewer bugs, easier to spot, easier to fix • Reduced maintenance time • 80/20 results • Happier developers, clients and managers

  4. 80/20 Principle

  5. What to declutter • Code • Design • Database • Communications • Clients • Environment

  6. What is clutter? • Distractions • Unused stuff • Stuff you don’t love to see around • Stuff not in its place • Stuff without a place!

  7. Things that distract • Phone calls • Incomplete tasks • Email • Bugs • Time pressure • Poor organization

  8. How to declutter • Recognize you have clutter • Get support • Value - Do I love it or use? • Have a system • Have a place for everything • Habit - Close open cycles • Be Smart lazy - think less about non essential items • Let go “someday it will be useful”

  9. What is code clutter? • Not usable or used code • Out of date code • not elegant (easy to read, understand and maintain) • Out of date comments • Hard to remember or spell variable names • Not following coding standards • Unfinished tasks • Inconsistent

  10. Decluttering your code • Use a readable coding style and format • Prune unnecessary or out of date comments • Simplify unclear code • Refactor duplicate code • Use source control • Remove unused files from directories

  11. Decluttering Slow code and crashing servers • Profile code and only optimize the slow stuff • Load test code before releasing • Keep error logs clear

  12. Better Naming • For directories, files, modules, variables • Rename difficult to remember variable names • Naming of modules easy to understand without opening file • Naming for what is done, not how it is implemented • Follow a naming system

  13. Decluttering bugs • Research • google, blogs, community, open source • Isolate bugs to a few lines • Keeping code to one screen full – code collapse • KISS • Take a break, nap, walk, shower

  14. What is design clutter? • Too many features - loose sight of the big picture • Scope out of control • Screens cluttered

  15. Decluttering your design • Clear shared vision • Change control • Usability

  16. What is database clutter? • Unused tables, fields, data, SPs • Cryptic names • Duplicate data • Unmanaged log files • Slow queries

  17. Decluttering your database • Better names • Remove unused tables, fields and SPs • Normalize to reduce duplicate data • Use triggers to update duplicate data you need to keep. • Create maintenance plans • Review index use

  18. What is client clutter? • Poor communication • Unclear • Emotionally abusive • Understand the software development process

  19. Decluttering clients • Score client profitability and fit • Let go the bottom 10% • Train the other 90% • Set clear expectations

  20. Personal decluttering • What is your Personal best Time of day? • Write down thoughts instead of worrying about them in background • (Limited amount of items in human mind at one time) • Single tasking • Plan short term objectives

  21. Decluttering communication • Incomplete communication • Other programmers mean extra communication and coordination • Coworkers who understand your thought process – shared vision and metaphors of project • Written vision • Resolve issue by phone or F2F • Document resolution in email

  22. Decluttering your environment • Desk • Inbox, filing system • Distractions • Phone, DND, work from home • Email • Turn off email notification • Empty inbox – GTD • Computer – software, fixes

  23. Resources • “The 80 / 20 Principle” by Richard Koch • “The 4-Hour Workweek” by Timothy Ferriss • “The E-Myth Revisited” by Michael E. Gerber • “Getting Things Done” by David Allen • “Enough Already” by Peter Walsh • www.43folders.com/ • http://www.1000ventures.com/business_guide/crosscuttings/80-20principle.html

  24. Questions • Ask me now or email or phone me later michael@teratech.com 301-424-3903 x110

More Related