Let's say you've been working on this contributed project for a few months now. It has gone from Beta 1 to Beta 2 to Beta... Now, how long till its final release? How do you know when it's ready for the Drupal community to see and use? And this is precisely why the Drupal quality initiative was launched in the first place.
So that can we finally have some sort of a checklist at hand to use whenever we need to assess our code's level of quality:
- the standards that we should evaluate our contributed projects by
- the specific elements that go into the quality of our projects, such as contributed Drupal modules
- a certain hierarchy of quality that we could rate our own projects by
And so on...
For, let's admit it now:
Except for our own personal methodologies for self-assessment, there's no standardized benchmark that could help us evaluate our contributed Drupal projects. There's no way of knowing for sure when our projects are 100% ready to go from beta to... full release.
Now, here are the legitimate questions that this initiative brings forward, along with some of the suggested paths to take:
1. What Drupal-Specific Quality Metrics Should We Use to Evaluate Our Code?
How do you know when your contributed project is efficient enough to... be used by other members of the Drupal community?
You need some sort of criteria for measuring its level of quality, right?
2. The Drupal Quality Initiative: A Checklist for Project Quality Assessment
And this is how the “Big Checklist” for Drupal modules has been put together. One outlining all those areas of a contributed Drupal project that you should carefully evaluate when assessing its quality.
Areas such as:
- team management
All those factors and Drupal-specific elements that go into the quality of a contributed project.
3. Introducing the Idea of a Multi-Leveled Quality Hierarchy
What if we had multiple levels of quality to rate our Drupal projects?
Imagine some sort of hierarchy of quality that would challenge us to keep improving the way we write code for Drupal. To keep growing as teams working with Drupal.
Your project might be rated “level 1”, from a quality standpoint, on its first release. But it would still stand stand the chance to get a higher score for if you strove to meet all the other criteria on the checklist.
4. You'll Be Particularly Interested in The Drupal Quality Initiative If You're A...
- Site builder, scanning through the pile of contributed Drupal modules in search of the ones that perfectly suit your project's specific needs
- Drupal contributor in need of some sort of checklist that would include all those standards of quality and best practices to help you assess your own code's value
5. What About Non-Drupal Software Projects? How Is Their Quality Assessed?
In other words: how do other communities assess their projects' levels of quality?
What metrics do they use?
And here, the Drupal quality initiative's... initiator gives the “The Capability Maturity Level”, set up by the Software Engineering Institute, as an example.
The process model highlights 5 levels of “maturity” that a project can reach throughout its different development phases.They range from:
- the“initial chaos”
- to planning and collecting project requirements
- … all the way to continuous process improvement
Now, just imagine a similar multi-level evolutionary benchmark that we could use to assess our own Drupal projects' levels of... maturity.
6. A Few Quality Indicators and Suggested Tools
And the whole Drupal Quality Initiative comes down to identifying the key endpoints for assessing a project's quality, right?
Here are just some of the suggested questions to use during this evaluation process:
- Is it easy to use?
- Does it perform the intended functions?
- Is it efficient enough?
- How many detected bugs are there per 1000 lines of code
- How secure is it?
Now, for giving the most accurate answers to these quality assessing questions, you'll need the right toolbox, right?
All those powerful tools to help you:
- check whether your code is spell checked
- monitor the status of specific operations
- check whether all strings use translation
- see whether your code has been properly formatted
The END! And this is just a brief overview of the Drupal Quality Initiative.
What do you think now, does the suggested checklist stand the chance to turn into a standardized Drupal benchmark for assessing quality?
How do you currently determine your contributed projects' value?