Databases Reference
In-Depth Information
If you answered yes to any of these questions, you should consider evaluating a
NoSQL solution. We've found that NoSQL solutions can reduce the time it takes to
build, scale, and modify applications. Whereas scalability is the primary reason compa-
nies move away from RDBMS s, agility is the reason NoSQL solutions “stick.” Once
you've experienced the simplicity and flexibility of NoSQL, the old ways seem like a
chore.
As we move through this chapter, we'll talk about agility. You'll learn about the
challenges one encounters when attempting to objectively measure it. We'll quickly
review the problems encountered when trying to store documents in a relational
database and the problems associated with object-relational mapping. We'll close out
the chapter with a case study that uses a NoSQL solution to manage complex busi-
ness forms.
9.1
What is software agility?
Let's begin by defining software agility and talk about why businesses use NoSQL tech-
nologies to quickly build new applications and respond to changes in business
requirements.
We define software agility as the ability to quickly adapt software systems to chang-
ing business requirements. Agility is strongly coupled with both operational robust-
ness and developer productivity. Agility is more than rapidly creating new
applications; it means being able to respond to changing business rules without rewrit-
ing code.
To expand, agility is the ability to rapidly
Build new applications
Scale applications to quickly match new levels of demand
Change existing applications without rewriting code
Allow nonprogrammers to create and maintain business logic
From the developer productivity perspective, agility includes all stages of the software
development lifecycle ( SDLC ) from creating requirements, documenting use cases,
and creating test data to maintaining business rules in existing applications. As you
may know, some of these activities are handled by staff who aren't traditionally
thought of as developers or programmers. From a NoSQL perspective, agility can help
to increase the productivity of programmers and nonprogrammers alike.
Traditionally, we think of “programmers” as staff who have a four-year degree in
computer science or software engineering. They understand the details of how
Agility vs. agile development
Our discussion of agility shouldn't be confused with agile development , which is a set
of guidelines for managing the software development process. Our focus is the
impact of database architecture on agility.
 
Search WWH ::




Custom Search