Presentation is loading. Please wait.

Presentation is loading. Please wait.

Decluttering your Software Development Process Michael Smith TeraTech, Inc.

Similar presentations


Presentation on theme: "Decluttering your Software Development Process Michael Smith TeraTech, Inc."— Presentation transcript:

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

2 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 11 th year)  Programming for 30 years

3 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 4 80/20 Principle

5 5 What to declutter  Code  Design  Database  Communications  Clients  Environment

6 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 7 Things that distract  Phone calls  Incomplete tasks  Email  Bugs  Time pressure  Poor organization

8 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 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 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 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 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 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 14 What is design clutter?  Too many features - loose sight of the big picture  Scope out of control  Screens cluttered

15 15 Decluttering your design  Clear shared vision  Change control  Usability

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

17 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 18 What is client clutter?  Poor communication  Unclear  Emotionally abusive  Understand the software development process

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

20 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 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 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 23 ResourcesResources  “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/ www.43folders.com/  http://www.1000ventures.com/business_guid e/crosscuttings/80-20principle.html http://www.1000ventures.com/business_guid e/crosscuttings/80-20principle.html

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


Download ppt "Decluttering your Software Development Process Michael Smith TeraTech, Inc."

Similar presentations


Ads by Google