For anyone building a website or web application, Drupal promises loads. You will hear Drupal evangelists (like us) talk about the benefits of open source, zero licence fees, portability, scalability, flexibility and ease of integration with other systems. This is all true, so why do some organisations wrestle with Drupal, getting frustrated, confused and disillusioned?
Understanding this starts with an acceptance that Drupal is not easy. An oft quoted line from our technical director is “Drupal makes the easy stuff hard but the hard stuff easy”. What he means is that if you want to get a website up and running quickly with a few pages of content that you can easily manage, then chances are Drupal is going to put up more of a fight than say, Wordpress, which has built a huge market position by making the easy stuff easy.
Trouble is, most organisations need to create a point of difference. Choosing a website that gives you the basics for very little investment of effort unlikely to provide that. Differentiation comes from bringing to life a unique idea - a clever bit of functionality that provides a tangible benefit to users. This is the hard stuff and the fact that it is hard is a good thing - it represents a barrier to entry for any ‘me too’ competitors to challenge you. With over 24,000 modules and nearly 30,000 developers, Drupal is a great platform on which to build a highly differentiated website or application.
So, if you want to make your website or app really stand out, these are the steps I would recommend to ensure your Drupal project is a success:
1. Know what you want
“Facebook was not originally created to be a company. It was built to accomplish a social mission - to make the world more open and connected.”
Mark Zuckerberg
The importance of knowing what you want is true of any software development project - indeed it is true of most things in life. If you don’t have a clear idea of what you want, it is a gamble as to whether you will end up with something you are happy with.
Think through your vision and define your objectives. Then build the details around what your site or app will do, how it will look, and how it will ultimately achieve your objectives.
2. Get to know Drupal
“They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.”
Terry Pratchett
If you are the product owner in a Drupal project team, then a little knowledge is extremely useful. Like all software, Drupal has its own quirks, languages, niggles and tricks. Familiarising yourself with these is an extremely powerful way of managing the development resources and priorities. When you know what you want, having even just a vague notion of how Drupal might do it will help to inform decision making and make collaborating with developers more efficient. To this end, I have written a corresponding blog post called “The Product Owner Guide To Drupal”.
3. Take a measured approach to customisation
“Innovation distinguishes between a leader and a follower.”
Steve Jobs
Fortunately, it is rare to find to find a Drupal project where a significant part of the vision is to deliver innovation (“the hard stuff”). This is where a project can really start to flex Drupal’s muscles. However, we would advise applying ruthless focus when approaching customisation. For example, why waste developer hours customising a feature, if this is not the fundamental area of innovation you are aiming for. The Drupal development community have already done the heavy lifting on most features, so be prepared to make pragmatic compromises so that your development resource is focussed on the bit you really want to differentiate!
4. Prioritise
“I don't know the key to success, but the key to failure is trying to please everybody”
Bill Cosby
A product owner is exactly that - the owner of the product under development. It is more than likely that a product roadmap will be the result of consultation, feedback and stakeholder insight, but not all inputs deserve the same level of output. In other words, don’t try to do everything all at once and don’t try to please everybody. This doesn’t mean that it can never be done, so when prioritising think in terms of minimum viable product (MVP). What is the minimum functionality required for the product to function. Once a product is live, prioritisation becomes easier as you will have user insight to inform decisions and hard data with which to manage stakeholder expectations.
5. Communicate
“The single biggest problem in communication is the illusion that it has taken place.”
George Bernard Shaw
Even if the first four of these steps are in place, if the project team are unaware of any of it, the project is still destined for difficulty. Communication takes many forms: discussion, instruction, request, reply, suggestion and more. It can also be delivered in many ways from the obvious (face to face, email, telephone) to the less obvious (body language, nudge nudge, wink wink!). Leave nothing to chance. If you are about to make a decision, consult the project team, if you don not understand something, ask and if you have new information, inform!