how to evaluate your technical partner
TRANSCRIPT
![Page 1: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/1.jpg)
Oscar Merida
March 17, 2015
How to Evaluate Your Developers
![Page 2: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/2.jpg)
Musketeers.me
Why?
• Choosing the technical team will have a profound effect on your
• schedule,
• budget,
• overall satisfaction.
![Page 3: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/3.jpg)
Musketeers.me
Who am I?
• 15 years experience.
• Websites for varied clients.
• Built projects small to large.
• Worked on internal and external teams.
![Page 4: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/4.jpg)
Musketeers.me
It begins with an RFP
• How do you choose from the respondents -
• Lowest price?
• Best looking proposal?
• References?
![Page 5: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/5.jpg)
Musketeers.me
Team backgrounds
![Page 6: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/6.jpg)
Musketeers.me
Who’s on the team?
• Do they list developers in the proposal?
• Are developers highlighted on their website?
• Do they advertise for on staff developer jobs?
![Page 7: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/7.jpg)
Musketeers.me
Are they vocal online?
• Active on twitter
• asking for and giving help
• plugged into the community
• Writing about what they learn
• company blogs
• personal blogs
![Page 8: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/8.jpg)
Musketeers.me
Do they contribute online?
• Using github.com to share projects
• Contributing to other projects
• patches
• documentation
• tutorials
• Check for github.com profiles.
![Page 9: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/9.jpg)
Musketeers.me
![Page 10: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/10.jpg)
Musketeers.me
Do they contribute to Drupal - drupal.org?
• Asking for and giving help in issue queues
• Contributing & reviewing patches
• Maintaining projects
![Page 11: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/11.jpg)
Musketeers.me
˜
![Page 12: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/12.jpg)
Musketeers.me
Are they active offline?
• Attending or speaking at local meetups and events?
• Attending or speaking at conferences?
• Sponsoring any of the above.
![Page 13: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/13.jpg)
Musketeers.me
Technical Proceses
![Page 14: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/14.jpg)
Musketeers.me
Writing software is still more of an art than a
science.
![Page 15: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/15.jpg)
Musketeers.me
But there are tools and practices of the craft that good developers
are using.
![Page 16: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/16.jpg)
Musketeers.me
How is progress tracked?
• Version Control Software
• Track history of changes
• Facilitate collaboration
• Issue trackers
• Overview of development status
• Outside of email, documents.
![Page 17: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/17.jpg)
Musketeers.me
How are changes deployed?
• Typically 3 stages:
• development → staging → production
• Develop locally
• match stage, production environments
• Ideally, deployments are automated
![Page 18: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/18.jpg)
Musketeers.me
How are Drupal changes managed?
• Drupal 7 solutions include:
• features module
• strongarm module
• update hooks
![Page 19: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/19.jpg)
Musketeers.me
What testing is automated?
• Automated testing can find bugs earlier
• Help identify if new functionality breaks old functionality
• Drupal 7 includes simpletest framework in core.
![Page 20: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/20.jpg)
Musketeers.me
What coding practices are followed?
• Teams follow a coding standard
• Drupal has its own coding standard
• Commits should undergo a code review
• Identify bugs, improve solutions, share project knowledge
![Page 21: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/21.jpg)
Musketeers.me
How are projects managed?
• Project manager is single point of contact for clients.
• A technical lead provides design guidance, coordinate developers.
• Internal and external check-ins provide constant feedback.
![Page 22: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/22.jpg)
Musketeers.me
Drupal Expertise
![Page 23: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/23.jpg)
Musketeers.me
Drupal is awesome
• Easy to build fairly complicated sites by wiring the correct modules together…
![Page 24: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/24.jpg)
Musketeers.me
…except when it’s not.
• Opinionated about how to implement solutions
• There’s more than one module for that
• though sometimes there isn’t one
![Page 25: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/25.jpg)
Musketeers.me
Media handling
• Default media handling in Drupal is poor.
• Media module vs. Scald vs. others
• Easy for content editors to manage media uploads
• Easy for site visitors to play media.
![Page 26: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/26.jpg)
Musketeers.me
Integrations
• Frequently need to integrate with other systems (CRM, Payment, etc)
• Identify what modules are available
• Evaluate trade offs and costs
• Expertise to write custom integrations
![Page 27: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/27.jpg)
Musketeers.me
Don’t ignore admin users
• Content editors are your most active users
• Customize admin interface to make writing and editing easier
• More than just WYSIWYG
• Customize admin form layouts
• Use better widgets for fields
![Page 28: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/28.jpg)
Musketeers.me
Which modules for:
• customized layouts - Panels vs Context / Display Suite
• managing breadcrumbs
• sending HTML email
• mapping
• … “How do you evaluate a module?”
![Page 29: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/29.jpg)
Musketeers.me
Security is important
• Securing and managing user accounts.
• Policy for applying security updates
• Paying attention to best practices when writing custom modules.
![Page 30: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/30.jpg)
Musketeers.me
Performance & Scaling
• Configuring settings for better performance “out-of-the-box”
• Better caching layers (Redis)
• Scaling high-traffic sites with Varnish
• Scaling sites with high user activity.
![Page 31: How to Evaluate your Technical Partner](https://reader034.vdocuments.us/reader034/viewer/2022042615/55b3a8e0bb61eb39238b457c/html5/thumbnails/31.jpg)
Musketeers.me
Thank You!
• Twitter: @omerida
• Editor-in-Chief php[architect] magazine
• plus Conferences, Training, and Books
• www.phparch.com
• Any Questions?