no email! creating a community of developers

25
No Email! Creating A Community Of Developers Charles Fulton (@mackensen) Tim Yale (@thefalseyalet) #NE9

Upload: charles-fulton

Post on 13-Jun-2015

226 views

Category:

Technology


2 download

DESCRIPTION

How to iteratively improve internal processes in Web Development in Higher Education. Originally presented at HighEdWeb New England 2014 at Johnson & Wales University.

TRANSCRIPT

Page 1: No Email! Creating A Community Of Developers

No Email!Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

#NE9

Page 2: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

#NE9

...or...

Page 3: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

#NE9

Breaking Down Silos By Killing Email

Page 4: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Who are we?

● Web application developers at Lafayette College since 2012.

● Heavily involved in collaborative development both internal and external.

#NE9

Page 5: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Pain Points

● Haphazard processes● Loss of institutional memory● Repeated wheel re-invention● Lack of collaboration● Too much email!

#NE9

Page 6: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

(Mis)Uses of Email[Chaos]

#NE9

Page 7: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Email as File Management

● Patches sent via email● No change history● No standardized backups

#NE9

Page 8: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Email as collaboration platform

● Easy to lose context● Must keep all emails or lose discussion

history● Difficult to locate relevant information after

the fact

#NE9

Page 9: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

“Let me find that email.”

#NE9

Page 10: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

The Way Forward[Discord]

#NE9

Page 11: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

● Discussion and requests for action move from email to issue tracker.

● Code and other file management moves to version control system.

#NE9

Page 12: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Context is Everything

● Group related tickets together through relationships

● Never lose track of a piece of a project● Always know what was done when and why

#NE9

Page 13: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Benefits of version control

● Streamlined distribution● Code ownership● Blame management

#NE9

Page 14: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

● Issue numbers in commit messages

● Issue numbers as branch names

● git blame >>> issue number

#NE9

Page 15: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Prioritizing Work[Confusion]

#NE9

Page 16: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Triage

● Make sure issues are reported.● Keep track of these issues regardless of

priority.● Determine context in addition to priority.

#NE9

Page 17: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Priority Queue

● Add all items but determine relative priority.● No limit to the size of the queue.● Important work gets done.● Less-important work also gets done… just

not as quickly.

#NE9

Page 18: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Institutionalizing Processes[Bureaucracy]

#NE9

Page 19: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Documentation

● Hook documentation into regular processes.● Adopt systematic approach to common

tasks.● Eliminate unnecessary thinking.● Grow body of institutional knowledge.

#NE9

Page 20: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Working Meetings

● Regular opportunity to remove items from the priority queues.

● Frequency creates reliability and consistency.

#NE9

Page 21: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

“Frequency is freedom.” --Jarrett Walker, author of Human Transit#NE9

Page 22: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Involving External Stakeholders[Aftermath]

#NE9

Page 23: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Playing the long game

● Promote collaborative relationships over “help desk” model.

● Emphasize consistency and reliability over interim gains.

● Encourage serendipitous development.

#NE9

Page 24: No Email! Creating A Community Of Developers

Charles Fulton (@mackensen)Tim Yale (@thefalseyalet)

Bringing it all together

● Capture everything● Eliminate unnecessary processes● Systematize everything● Don’t send email!

#NE9