With over a million Drupal sites across the world, it is suffice to say that Drupal has become an eminent name in the CMS market. Not to brag, but it is jam-packed with features, features that can make your website transcend the ordinary boundaries. Due to the many features and modules, both core and contrib, Drupal is sometimes regarded as being slightly complicated and then the question comes, ‘How to start a Drupal project?’ Today, I am going to give an answer to the same question in the easiest way possible.
For you to truly understand and begin a Drupal project, it is important to get the perspective of the people involved in making the project come alive. For it is these people who will be handling the project from the get go, so the tips they give are the tips that would make a difference.
Before I get into that there is one thing I want to mention. Yes, every stakeholder is responsible for his own thing, when starting a Drupal project, however, there is one aspect of the project that needs the contribution of all parties involved. And that is defining the information architecture of a site.
The IA is basically the organising and labeling of a website. You can call it an art or a science, that is up to you. This is an aspect that does not have one person responsible. From the content authors to the designers and the business analysts, everyone has to contribute their bit to define the IA as clearly as possible. Getting to the minutest details and getting them right from the initial stage goes a long way in achieving the project deadlines and the business requirements as well. Therefore, the involvement of the entire development team and all the stakeholders is the right way to start your Drupal project.
Now let’s get on with the tips accumulated from the pros themselves.
The Developer’s Tricks
Commencing the tips with developers and all of their tricks, since they are responsible for the fundamental makeup of a Drupal project. From a development point of view, you would have to be mindful of a lot of things before starting your Drupal project.
If a project needs to be at its best, it needs the right environment to grow. By the right environment, I mean three of them, a remote, a live and a local environment. You cannot skip one; if you do so, you would break the workflow, which is essentially described as local leading on to dev-stage and then on to production developers.
Continuing the conversation on the developer environment, it is also very crucial for your project that all your developers have a consistent local environment to work with. Let me tell you how such a development environment would benefit you. For one, it is going to help your new developers to get up-and-running in no time and it would also eliminate the need for your developers to keep dabbling in their own local environment. Consistency always pays.
How much your developers understand the Drupal ecosystem is another tip to help you in escalating the growth of your project. Discussing the common terminology with the team members helps in keeping everyone on the same page. The basics have to be clear along with a commitment to follow the system. It has been seen that the continuous integration/ continuous delivery trend has picked up a lot, however, if your developers are simply going to ignore it, then what is the point?
Developers and Git
You are going to have more than one developer/ programmer and you would want them to coordinate with each other. You would also end up changing your source code from time to time and you would have to keep a track of the said changes. A Git Repository would do just that for you.
Developers and Codebase
Moving from code changes to codebase management, Drupal 8 has a Composer template to manage your project’s codebase. This acts as standard in the said management, but there is hope for significant development in the composer projects within the Drupal community.
Developers and Configuration system
Drupal has its own configuration system that allows you to push non-code configuration changes between environments pretty easily. This helps in creating a robust workflow amongst developers along with a stimulating environment, wherein the members continuously upgrade and test configurations in a local setting before going towards the remote route. However, all of your developers need to be using the system, or else its benefits would never be reaped. Go through Drupal 9 configuration management strategies to know more.
Developers and auto-deployment
You should also equip your developers with auto-deployment. The reason would be to fasten the development process and ease the DevOps process.
Apart from these tips, you have to remember that even though your project is just in its infancy,it would be on the path of growth soon. Therefore, you must keep in mind the future scope of development while designing the architecture.
The Content Author’s Part
Well, this one is not really limited to the content authors, but more about their participation in the development process. Hence, it came right after the developer’s involvement. In the introduction, I talked about information architecture and this tip has to do with that.
Focusing on the content authors first, a content author needs to update the content regularly, so they have to be comfortable with the system. You need to give them the chance to add and edit their content on a prototype site. This can only be done before the site actually goes on the floor. For best content authoring experience in Drupal, check out Paragraphs and Layout Builder modules.
The Project Manager’s Duties
Project Managers have a leadership role in your Drupal project, perhaps that is why they are called managers. They need to have great managerial skills, after all they are the voice of the project.
There are two aspects of project management that can make your project a guaranteed success.
Setting feasible targets
For one, a project manager should set such targets and milestones that are realistic and fall under the abilities of the team. Yes, pushing the team to do better is always going to be the role of leadership, but pushing them beyond their abilities would just make things a mess.
Provide clearer targets, for instance, setting a 6-month deadline on the project does not really clarify many things. Try providing specific goals every team member would have to complete by then. For this to happen, you need to listen, more than command. Listen to the needs of the team and become their guide when they need you. You should know that providing training is a crucial part of a project leaders duties.
Defining work roles
Using a project tracker and totally committing to it becomes essential when starting a Drupal project. This is because a project tracker helps in ensuring more focus towards the project. However, a project tracker would only work if the work roles are clearly defined for the development team and every other stakeholder, inclusive of the project managers themselves.
Access the expert insights on project management for complex Drupal projects for a better web development planning.
The Designer’s Role
You must want your Drupal project to have an interface that is elegant, user friendly and serves all your business principles. This would be easy to achieve, if your web designers are competent enough to fulfil their role. So, when I was trying to find out all the design duties, our in-house designer was a great help and here are the tips he had for you.
Determining the style guide
At present, many Drupal sites prefer to create their own custom theme and for that to happen, your designers would need to create a style guide. There is no hard and fast rule to create one, it is entirely up to you to make it simple or complicated. There still are certain things you need to be mindful of.
- The style guide you create needs to have a typography and a colour palette.
- The typography you choose must be responsive to all devices, think of the H1s, the headers and the footers.
- The rules need to be set to ensure how every aspect would look in different screen widths, winging it won’t be ideal here.
- The elements you want to be displayed throughout the website need to be defined in the style guide.
The user does not want your site to make his experience cumbersome, a thoughtful style guide is the way to avoid that and make things comfortable through consistency.
Determining the wire frames
A custom theme also means that you would be designing your own signature layout for your landing pages at least. A wireframe is going to give you an idea of how your site’s pages would be arranged and how they would respond to different screen sizes. In simple terms, a wireframe is a template of your webpages.
Coming to its specific, it is important to focus on consistency. All your pages must follow a similar layout for you to achieve consistency. This would not only help you in reducing costs by avoiding to design one-off pages, but it would also help you in building your brand’s image. The common elements, that I talked about in the previous page, help in making the theming easy for you.
Determining through testing
You have to test everything before you go on the ground and testing is a major part of the designer’s role.
First comes the dry testing, which means the testing of the interactive design prototypes and that too on real-time users. If the project fails in this test, a designer would be responsible for accumulating the pain or problem point, fixing them and then testing again. However, if the testing turns out to be a success, then the designers can commence with the UI design as per the design guidelines set.
Then is the design testing and the real-time testing of the project; it is called real-time because whatever issues are detected end up getting fixed simultaneously.
Along with these, designers must also be thoroughly involved in defining the Information Architecture and user and market research to always be one step ahead in the designing process.
Read this comprehensive guide to web design for hammering out the right plan for your business.
The QA Engineer’s Tasks
A Quality Assurance engineer has a lot of tasks on his/her plate and all of them help in maintaining the quality of the project to the utmost standards. To ensure that a QA engineer should have the basic knowledge of Drupal, especially about the terms and admin portal, which helps in testing. A major part of the job is to test and test each and every aspect of the project, so it becomes helpful.
Testing for functions
Functional testing refers to testing the functionality of the project. From testing the validation of textboxes and radio buttons to internal, external and broken links and URLs; from web forms and error messages to database and cookies, a QA tests every function, so that nothing goes wrong.
This also includes ensuring that the features built in the Drupal project adhere to the set goals and no extra permissions and settings are given based on the user roles.
Testing for performance
Performance testing mainly refers to validating a website’s performance, load and speed. Checking the stress limit and data load of a website. Tools like GTMtrix, YSlow, Pingdom can be used for this.
Testing for usability
A major consideration in the usability of your Drupal project is its accessibility and QA’s test for that. Then comes the navigation of your site, which should be easy to find, read and use, for instance by clicking on a company logo, you can reach the home, easy and simple . Finally, it is content, it has to be defined with clear H1s and H2s as well the use of SEO in tags should be optimised.
Testing for compatibility
Before going live with your project, you should check its compatibility with different operating systems, different browsers and their versions, different devices and different networks, environments and hardware configurations.
Testing for security
Focusing on security can never go wrong, that is why as the last task of a QA engineer, he/she tests the security parameters of a Drupal project prior to it going live.
- Checking for any URL manipulation;
- Checking for Cross Site Scripting;
- Checking for Password cracking;
- And checking for Drupal security updates.
Read how QA plays an important role in software development projects.
The Business Analyst’s Responsibilities
Up until now, we have focused on the project side of things, now it is time to focus on the business side of Drupal project and that is the responsibility of a Business Analyst. This position is the bridge between you and your consumers. The fact that effective customer communication can only be achieved through a BA, is proof of that.
There are two major responsibilities of a Business Analyst, apart from what I mentioned above.
Understands the project
A BA has to clearly understand the project requirements and iterate the same to the Project Managers, who would then get the project in motion. So, it is very important to ensure that the requirements are feasible and that would only happen when the Project Manager are part of the discussion.
Interprets the requirements
A Business Analyst is also responsible for interpreting the project requirements to the team. What this means is that he would have to convert the business needs of the project into technical specifications. Imagine talking business to a developer, he would be the least interested in it. Therefore, it is the BAs responsibility to convey the business needs to the team in the terms that they understand.
Brings in value
Business analysts are known to work with real-time user data and analytics programs. They do so in order to understand and recognise user trends, the functions that are a success with the user base and the kind of problems a user would face while adopting your application. This data and its recognition is crucial for business success and BAs have a great role to play in that.
A business analyst could be involved just at the front end, while assessing user needs or he could be involved throughout the project implementation, whatever the case, he is an important player in the setup of a Drupal project.
The Bottom Line
At the end of the day, a Drupal project is just a medium for you to let you enter the world of business. Your Drupal site would be responsible for generating an income for you or fulfilling your social responsibilities, like the Government of Australia’s website. Therefore, for your Drupal project to be successful, you have to align it with your business needs. When all the stakeholders have a clear understanding of your business and its sole purpose, then there is no stopping you. Saying that, the aforementioned considerations are like the starter pack of a Drupal project and you would be wise to pay heed to them before commencing your Drupal Project.