Drupal 8 has been in beta since October 2014. With the critical issue count down to the home stretch, and updates now required for schema changes, if you’ve been sitting on a Drupal 8 project, you should start building now. Before you kick off, however, you should plan for these early projects to go a little differently.
Plan Extra Time for Architecture and Development
Drupal 8 includes several of the most popular contrib modules into core. Most noteworthy is the venerable Views module, but others include common field types such as Date, Link, and Entity Reference. It's important to note, however, that for many of these modules, what made it into core might be functionally different from what you're used to seeing from their Drupal 7 Contrib counterparts. Also, all of these modules have likely received heavy rewrites and refactoring to fit them into core. Therefore, you should expect to find bugs in areas that may have otherwise been very stable for a long time in Drupal 7.
While Drupal 8 gives you have more out of the box, it's very likely you will still need some important contrib modules. You will want to plan extra time to be able to review the current status of Drupal 8 ports on modules you are looking to use (Bluespark has a great reference tracking the status of the Top 100 Contributed modules). As you might expect, you will find varying levels of progress and stability across contrib projects. You may find anything from some initial patches, to sandbox and github projects, to actual dev releases being actively worked on.
As with core, it's important to be on the lookout for bugs and possible regressions in contributed modules. Some modules, especially those involving content structure or data, may see heavy refactoring of schema, and it's unlikely these projects will provide updates to preserve data as they are early in development, so it's important to factor possible data loss or manual migration to keep up. If a module is a critical dependency for your project, it is in your best interest to get involved and help progress development, as there is no guarantee, even with a module with good traction on its port, that it will be ready in time for your project.
Plan Extra Time for Learning Curve and Incomplete Documentation.
It goes without saying, a lot has changed under the hood in Drupal 8 and it's important to plan for developers to spend more time learning new approaches, features, and requirements for Drupal 8. All developers – front end, back end, site builders – need to become familiar with CMI. Front-end developers need to become familiar with Twig and the changes to the Theme layer overall. Back end developers need to become familiar with the shift from procedural to Object-Oriented code in Drupal, as well as the major API changes and integration of new symfony components. Another important consideration is that documentation is still catching up, so you may encounter areas where there is outdated or no documentation. Minimally, time for more researching may be required. Ideally, additional time is supported to help bring completion to documentation in areas where it is lacking.
Plan Extra Time for Reporting Bugs
It's imperative that you spend time reporting bugs during the Beta and Release Candidate phases, but in terms of your projects, it's important to remember that it takes a notable amount of time to properly report a bug and follow its progress. If you hit unexpected behavior, you need to spend time to reproduce it and test different conditions to try to pin down the bug as specifically as possible. You also need to spend time searching existing issues to see if the bug has been reported or relates to another issue. If you're able to provide a patch to help fix the issue you're reporting, additional time should be considered for the initial patch, as well as follow up testing and iteration. Depending on all of the factors, you could be looking at a good bug report adding anywhere from 15 minutes to 2-3 hours to a given task. It's also important to consider that, depending on circumstances, you may also have to account for a workaround in your project until the issue is properly patched.
So is it worth building in Drupal 8 now?
When you consider all of these factors, it can amount to a lot more time required to build a Drupal 8 project, and this won't make sense for every project. It's important, however, to seriously consider Drupal 8 for new projects now and moving forward. While it may take longer to build a Drupal 8 site during these final phases of core development, you and your team will start building experience sooner, and more importantly, more projects being built on Drupal 8 now can mean more bugs reported and fixed prior to its release, resulting in a more stable Drupal 8 final release. This is also the right time for the contrib space to ready their Drupal 8 versions, and embarking on projects that require these modules can help move them closer to being Drupal 8-ready.