Incremental Development

Let’s learn about the development approach used in this application.

We'll cover the following

Approach used in this course

We’ll develop this application incrementally. We won’t attempt to specify everything before we start coding. Instead, we’ll work out enough of a specification to let us start and then immediately create some functionality. We’ll try ideas, gather feedback, and continue with another cycle of mini design and development.

This style of coding isn’t always applicable. It requires close cooperation with the application’s users because we want to gather feedback as we go along. We might make mistakes, or the client might ask for one thing at first and later want something different. It doesn’t matter what the reason is, the earlier we discover we’ve made a mistake, the less expensive it’ll be to fix. With this style of development, there’s a lot of changes to fix issues as we go along.

Because of this, we need to use a toolset that doesn’t penalize us for changing our minds. If we decide we need to add a new column to a database table or change the navigation among pages, we need to be able to get in there and do it without a bunch of coding or configuration hassle. As you’ll see, Ruby on Rails shines when it comes to dealing with change. It’s an agile programming environment which is ideal for this scenario.

Along the way, we’ll be building and maintaining a collection of tests. These tests will ensure that the application is always doing what we intend to do. Rails not only enables the creation of such tests, but it even provides us with an initial set of tests each time we define a new controller.

Get hands-on with 1200+ tech skills courses.