Agile Rails Development Methodology

Agile Rails Development Methodology according to a developer is to use the following path for Ruby on Rails Application Development.

1. Write down a list of goals, roles, and features

  • Goals – what the goals of the whole project are – business and otherwise. This will help you decide what features are important

  • Roles – who is going to use the site – visitors, logged in members, admins? Do different people have different views of the same information on the site?

  • Features – what are the basic categories of interaction on the site? For example: Users: registration, using the forums, and blogging; Admins: moderating the user content

2. Write a list of stories

  • A story is different than a feature because it represents a single thread of interaction from a particular user’s perspective.

  • It’s common to express stories in form “As a ____ I want to ____ so that I can _____.” This forces you answer three important questions – Who is this for? What do they want to do? Why do they want to do it?

  • If you can’t complete a story in this form, it’s likely that you don’t have an answer to one of these three questions yet, so you’ll need to do some thinking to get the answers before the story is actionable.

  • Ex: “As an admin, I want to ban users from the forum, So that I can improve the quality of user-submitted content on the site.

  • Write these stories down on note cards. This will help you in estimation and prioritization.

3. Estimate the stories

  • Estimation is a huge topic in itself, but the basic idea is to associate a particular level of effort with each story.

  • The most common scales are 0/1/2/3/4, 0/1/2/4/8. I don’t think this is incredibly important, but pick something and stick with it.

  • Don’t get too hung up on the exactness of the estimates. Lots of things affect how long it takes you to finish a story, so small differences in story complexity tend to get lost in the noise.

  • Your goal here is to differentiate things that are low in effort, like stories that will result in you creating a simple model with a REST controller, from stories that are high in effort, like interfacing your application with a challenging third-party API, or a story that will require you to use a technology you aren’t very familiar with.

  • Write the estimate on each card.

4. Prioritize the stories

  • Rearrange the cards in the order that you’d like to tackle the stories.

  • Only the product owner can really make this decision. There are a lot of things that go into prioritization – deadlines, user testing, business value, etc. Estimation may have a lot to do with prioritization, because it illuminates opportunity cost. Maybe the product owner really wants that detailed Admin Dashboard, but if all the stories to make that work total 40 points, is it worth it to spend a month on just this feature. Maybe the product owner still wants the story

  • Are there any stories that don’t fit into the very minimum viable product to launch? If so, you should move them down. Try to complete a functioning app as quickly as possible so you can put it in front of users.

  • At this point, I usually move my cards into Pivotal Tracker, but I know lots of people who prefer pen and paper.

Read More :


Custom Software Development using Ruby on Rails

RailsCarma specialize in offering software development services using Ruby on Rails to companies considering outsourcing the development of Web applications, Mobile Applications, hosting platform automation and other projects. In the past 11+ years in the industry, we have enabled various organizations to retain their businesses with their valuable clients whom they would have lost due to lack of experience in the field of development.

We provide comprehensive Software Development Services: Idea Conceptualization, Designing, Platform Selection, Software Development, Quality Assurance, Testing, Support and Maintenance. We also facilitate software re-engineering, Integration and Migration services to adapt to new technology and advanced scenario.

What Do you gain by working with InstaCarma?

Game-Changing Applications

The right technology, delivered, to solve client’s biggest business challenges.

No matter what application needs to be developed, our clients can always count on us for:

Fast Time to Market

A proven team that uses top-notch management methodologies to keep projects on time, helping hosters to get innovative solutions in deployment faster. InstaCarma’s clients benefit from the firm’s unique delivery model that focuses on building smaller, more efficient teams of senior-level resources with domain and functional expertise embedded.

Cost-Effective Solutions

Done right, an Outsourced Application Development will always be more cost-effective. And we know the impact of time and resources on productivity and profit. InstaCarma provides clients with services and skills on par with those found in the U.S. and UK, but at a fraction of the cost.

Peace of Mind

Finally, here is an software development outsourcer who gets it, who delivers what they say they’ll deliver, who views their role as an equal partner with insights and valuable opinions, and who works hand-in-hand with customers to get it done right.

Engagement Models

Complete Offshore Teams ( PM, Devs, Testers, UI/UX Experts, BA)

Per Hour Sourcing for Small Projects

Onsite & Offshore Sourcing ( Onsite BA, PM, Devs, Testers, UI/UX Experts)