DrupalCon: Planning & Executing

The focus of Planning and Executing a Successful Drupal Implementation was primarily on "Hard Drupal Projects," not so much on simpler projects.

First steps, educate the client

  • Explain terminology of the web and of Drupal.
  • Explain how open source works.
  • It's not magic. It does take planning and work.
  • Set expectations: timeline, client responsibilities, polishing, deployment, content loading.

Communicate effectively. Send regular status reports.

Drupal (and web technology in general) can be difficult.

Planning

Documentation

  • Write more of a Starter Guide. Not so much of a full-blown documentation of every little bit of the site.
  • Creating a short screencast of how to manage the site can go a long way.

Regular testing by stakeholders (typically, the client)

  • Are details right?
  • Is this meeting their needs?
  • Does it look great?
  • Make them part of the team.
  • They must be accountable and work hard with you.

Executing

Important: having the right team assembled is essential to executing a successful project

  • Project Manager
  • Analyst (Solutions Architect) -- Solidfies requirements, specs, might build out some content types.
  • Designer
  • Web Producer
  • Developers (plural!) -- segmented logically

Be a soccer team (each team member can play multiple positions) not a base ball team (each team member has clearly limited boundaries of work). -- Be flexible.

Adopt "Agile" principles.

  • Deliver in iterations. (Each iteration produces a functional deliverable)
  • Be firm on scope, flexible on features. (scope = amount of work, features = exactly which things get done)

Intra-Team communication

  • Use a task management tool.
  • Use some form of real time communication when needed.

Insist on quality. Is the operation buggy? Is the code or assembly sloppy?

Soft skills such as communication style and working smoothly in a team are very important.

  • Being multi-disciplined, cross-trained.
  • Understanding the larger Drupal ecosystem.

Defining Scope and Requirements

Site Map

  • Visual representation of pages and hierarchy.
  • First step only. This usually can not be complete when planning a complex project.

Brainstorm and sketch

Move on to more detailed wireframes with annotations

  • Be very detailed
  • A developer should be able to pick these up and run with the buildout.

3rd Party Integration

  • Have system diagrams (either obtain or create them)
  • Understand the larger system that you are integrating with. How does the organization use it, how does it affect the organization, and how does your development piece affect them?

Document the specs of what is needed.  A wiki is a good option.  It doesn't have to be formal.

Design Comps. Often this is the "ah ha!" moment for the client. "So that is what you're talking about!"

Defining scope and requirements can be challenging, so use proven techniques.

Common Challenges

Replace bad habits that the client may have. Watch the client work.

Structure content properly. Some content structures are simple, some do need to be complex. Just make sure that the data structure is correct and meaningful. Also consider permissions when creating data structures.

Represent content relationships correctly. (example: noderelationships module)

Use taxonomy effectively. Controlled (pre-set categories) vs. free (tagging) vs. auto (calais, 3rd party services).

Present a clear admin interface. Write help text that is clear and concise.

Adjust the styles used in the wysiwyg to match those used in the site.  Also reduce the buttons that are in the wysiwyg tool bar to only what the client needs.

Allow editors to curate (this was for a specific use case.) -- Meet the needs of editors and writers. Consider the needs of everyone who will be experiencing the site.

Provide for editorial workflow

  • Custom sorts (controlled by editor)
  • Specific fields for different accurences. "home grid title" for the title of a story when displayed in a grid on the home page, for example.

Differentiate between authors (offline person, possibly multiple authors for an article) and users (CMS logins, people who load the article onto the site.)

Improve search with Apache Solr

  • Provides facets.
  • Allows site admin to bias certain nodes or content types.
  • Allows site admin to exclude certain nodes or content types.

Pay attention to roles and permissions

  • Test each role
  • Use as few roles as possible.
  • Start with scaled-back permissions. Add permissions as roles need them.

Migrate content accurately

  • Usually requires some custom scripts as well as some cleanup by hand.
  • Some tools are available to ease the import process (table wizard and migrate modules, feeds module, querypath).
  • Sometimes hand-entering is the best way.

Estimating

  • Ask lots of questions.
  • Dig in to client background and circumstance.
  • These are required to get a good perspective the work that will be involved.
Posted in:

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.