Why is the on-boarding process important
How to enable in an effective way
What is the benefit in doing this?
specifically
We're addressing freelancers/contractors,
being one, employing one...
However BUSINESS OWNERS
this intrinsically points the finger at how you run your business,
how you engage with your employees/staff/friends/cats & dogs
Baaad EXPERIENCES
Leaving a new hire to figure out why
certain classes aren't compiling, certain database connections are failing,
[having] undocumented solution resides in the brain of the lead developer
...
here comes the science bit
According to Maslow physiological, security, social, and esteem needs
are deficiency needs or D-needs that arise because of deprivation. The highest-
level of the pyramid is called the growth needs or B-needs
essentially make sure things/needs at the bottom of the pyramid get
provision for and the rest will flow
why bother?
Reduce lost time on setup
Help communication, frustrations & breakdowns
Increase productivity
Minimal bug & defects carry through to client demos
Learning & Mentoring process built-in,
Happy people = infinite loop of productivity!
Did you get that?
Happy people === infinite loop of productivity!
HOW the **** do we do this?
Ideally before the contractor joins the team (be it on site or remote) they should know:
who, where, what
(Remember Maslow!)
On boarding documentation
- Codebase location
- Install profile instructions
- Content generation scripts? Built into profile, bash or other method?
- Wiki location
- Design/theme styleguide
- Naming conventions for features, modules, themes
- Theming instructions
- Main theme to be used
- Preprocessor setup (SASS/LESS, etc)
- Custom module theming practices
Communication tools
- How does the team communicate?
- Skype/irc/other?
Development procedures...
- Type of procedure
- Brief intro and/or links about procedure (agile, kanban, CI, deployment)
- Explanation of implementation of procedure
- Who to ask for help
- Source control management
- single branch CI
- Ticket based branches per task: documented solution/execution
- Code review via Pull requests?
Development procedures...
- Point of contact per category question
- Question for designs or styleguide implementation
- Functionality - UX issues
- Task allocation
- Admin/Finance queries
- Deployment/Build
- How to?
- How often?
- Updates on build changes (new functionality affecting current tasks)
Development procedures
- Ticket system
- Concise, one line titles
- Bullet point description
- Internal link to relevant tickets
- Commit linked comments
- Time based tickets/tasks - ability for dev to add time tracking
- Technical specification
- Modules used broken down into features they implement
- Modules present but not used and their role (development/staging...)
Project Management
- Practises/Methodology
- Resources/intro to methodology: don't assume they know
- Implementation: format of scrum/standup (what's the difference)
Easy feedback solution needed
What is the point?
Visibility
Documentation
Avoid over engineering (any) process
Happy people === infinite loop of productivity!
Thank you
Any questions?
Can I have a cuppa now...