how to evaluate your technical partner
Post on 25-Jul-2015
55 Views
Preview:
TRANSCRIPT
Oscar Merida
March 17, 2015
How to Evaluate Your Developers
Musketeers.me
Why?
• Choosing the technical team will have a profound effect on your
• schedule,
• budget,
• overall satisfaction.
Musketeers.me
Who am I?
• 15 years experience.
• Websites for varied clients.
• Built projects small to large.
• Worked on internal and external teams.
Musketeers.me
It begins with an RFP
• How do you choose from the respondents -
• Lowest price?
• Best looking proposal?
• References?
Musketeers.me
Team backgrounds
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?
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
Musketeers.me
Do they contribute online?
• Using github.com to share projects
• Contributing to other projects
• patches
• documentation
• tutorials
• Check for github.com profiles.
Musketeers.me
Musketeers.me
Do they contribute to Drupal - drupal.org?
• Asking for and giving help in issue queues
• Contributing & reviewing patches
• Maintaining projects
Musketeers.me
˜
Musketeers.me
Are they active offline?
• Attending or speaking at local meetups and events?
• Attending or speaking at conferences?
• Sponsoring any of the above.
Musketeers.me
Technical Proceses
Musketeers.me
Writing software is still more of an art than a
science.
Musketeers.me
But there are tools and practices of the craft that good developers
are using.
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.
Musketeers.me
How are changes deployed?
• Typically 3 stages:
• development → staging → production
• Develop locally
• match stage, production environments
• Ideally, deployments are automated
Musketeers.me
How are Drupal changes managed?
• Drupal 7 solutions include:
• features module
• strongarm module
• update hooks
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.
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
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.
Musketeers.me
Drupal Expertise
Musketeers.me
Drupal is awesome
• Easy to build fairly complicated sites by wiring the correct modules together…
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
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.
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
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
Musketeers.me
Which modules for:
• customized layouts - Panels vs Context / Display Suite
• managing breadcrumbs
• sending HTML email
• mapping
• … “How do you evaluate a module?”
Musketeers.me
Security is important
• Securing and managing user accounts.
• Policy for applying security updates
• Paying attention to best practices when writing custom modules.
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.
Musketeers.me
Thank You!
• Twitter: @omerida
• Editor-in-Chief php[architect] magazine
• plus Conferences, Training, and Books
• www.phparch.com
• Any Questions?
top related