MongoDB Developer Productivity in an Agile World
This guest post is courtesy of Pascal Desmarets from Hackolade.
Most database developers will tell you that traditional relational SQL databases are not ideally suited for agile development. They require a schema defined upfront and subsequent (costly) database migrations as the structure changes — all things that don’t fit well within the two-three-week sprint cycles of an agile or Continuous Integration approach.
MongoDB on the other hand is built to free developers from upfront schema specification, even when changes occur. It supports dynamic schemas, which can evolve along with the application, reducing both development effort and expensive migrations, making companies more reactive and agile.
Similarly, IT departments and vendors can no longer impose the illusion of one-size-fits-all tools and approaches to self-managed teams. Developers want, and should get, the freedom to use the tools and features that can let them be the most productive.
New-generation developer productivity tools allow for taking full advantage of agile development and MongoDB: IDE’s (Integrated Development Environments), GUI’s (Graphical User Interfaces), and data modeling software.
Multi-threaded Skills for the Future
Sharing a common development environment is a great way to work faster when you’re on a team. It gets you closer to being able to deploy confidently on demand. Achieving daily or even better, hourly, deployments to production means reducing code inventory – lines of code still log-jammed in the Dev/Test/CI/QA pipeline that are not yet delivering value to customers.
Studio 3T is an IDE that helps teams work better with MongoDB, irrespective of physical location or technical level. Realizing that “one size never fits” for even one user let alone all users, it offers multiple querying options, including a drag-and-drop query builder, an auto-completion Intellishell, an Aggregation Pipeline builder, and in the most recent release, the option to write and run traditional SQL queries against your NoSQL collections. A basic GUI (such as Robo3T) may be sufficient for an individual working on their personal project, but as soon as you have a team of three or more, with different needs, preferences and technical skill levels, and working to commercial deadlines to boot, then having a shared IDE to work in is really indispensable.
Visual Data Modeling for MongoDB Schemas
By the same token, while schemas for small applications may be simple enough that no documentation is necessary, the power and flexibility of JSON makes physical data modeling even more important. It has been demonstrated time and again that data modeling accelerates development, significantly reduces maintenance, increases application quality, and lowers execution risks across the enterprise.
A new generation of data modeling tools is available on the market to properly represent physical data models for MongoDB collections and views. Hackolade is the pioneer for data modeling for NoSQL and multi-model databases. It was built from the ground-up to support the polymorphic and evolving structure of JSON documents. It helps the onboarding of NoSQL technology in corporate IT landscapes via a user-friendly visual interface and a more bottom-up, continuously changing, agile approach.
Schema documentation provides the necessary map of the data to guide users through building the queries with Studio 3T.
One Size Fits None
The sign of mature growth in a platform is the richness of associated tooling that emerges over time. While platform vendors such as Microsoft, Oracle and now with MongoDB in their wake, all naturally focus on a unitary enterprise use-case, the availability of quality tools makes the platform many times more flexible to a far wider variety of end users. Like major RDBMS vendors before it, MongoDB has become the clear leader in the NoSQL market, in large part because of a healthy and growing ecosystem.