-
Notifications
You must be signed in to change notification settings - Fork 2
rails project management
Last updated 16 April 2013
This article from the RailsApps project suggests how entrepreneurs can manage development of Rails applications for startups and personal projects. It suggests some tools used for task management and describes the kanban method of project management that is popular in software development.
If you’re new to Rails, see What is Ruby? And Rails?, recommendations for a Rails tutorial, and a list of top resources for Ruby and Rails.

The RailsApps project provides example applications that developers use as starter apps. Hundreds of developers use the apps, report problems as they arise, and propose solutions. Rails changes frequently; each application is known to work and serves as your personal “reference implementation” so you can stay up to date. Each is accompanied by a tutorial so there is no mystery code. Maintenance and development of the RailsApps applications is supported by subscriptions to the RailsApps tutorials.
Building a web application is a complex project; building a business is even more complicated. If you’re working solo, you’ll want to track progress toward your goals. If you’ve put together a team, you’ll need a way to keep track of tasks so you can communicate and coordinate.
Defining tasks and tracking progress is the core of project management. A robust software development process includes product planning, project management and testing. See an article on Rails and Product Planning for more on product planning. As the article explains, “user stories” are a great way to organize application developement into discrete tasks.
Once you’ve defined your tasks through a product planning process, you’ll need to organize and track your tasks. A simple to-do list may be all you need for a small project. Keep track of your tasks on paper or with a web or mobile app. Some apps are designed for team collaboration. I also recommend looking at the Kanban approach that is often used in software development.
Some entrepreneurs like the discipline of the GTD (Getting Things Done) system for personal productivity and time management. GTD relies on making lists of tasks, either on paper or with one of the many popular to-do list applications. If you’re looking for a personal task management tool, you can see a list of 150+ GTD and to-do list applications.
Here are some of the most popular personal task management tools:
For a team-oriented task management application, take a look at:
In Japanese, “Kan” means visual, and “ban” means card or board. Kanban is a method of managing projects that was adapted from lean manufacturing for use in software development.
Imagine putting a big whiteboard on your wall and creating columns for a series of to-do lists. The columns, called swimlanes), are labelled: Backlog, Ready, Coding, Testing, Done. Each swimlane contains index cards that describe a user story or other task. To plan your work and track progress, you’ll move the index cards across the board from column to column. To stay focused and avoid overwhelm, you’ll only pick the most important user stories or tasks from the backlog column and you’ll limit the number of items in each column to what can be realistically accomplished in the time available. That’s the essence of kanban as it used for software development.
Here are some popular kanban web applications:
Online kanban applications are useful if your team is working remotely or you want to review and organize your tasks from your easy chair. Here’s a more exhaustive list: online kanban applications.
For a solo project or a small team, you’ll do fine with a simple to-do list or (even better) a kanban web application.
However, if your business has grown to a size where you need to assign a project manager, you should look at project management software that supports teams using Agile software development methodologies. Pivotal Tracker is the best known tool but there are many other agile tools.
Stay away from project management software that is not designed for an agile software development process (and be wary of hiring project managers who have little experience in software development). Methodologies that were developed for construction or military logistics don’t work well in software development. Project management applications such as Microsoft Project that generate Gantt charts will lead you to the purgatory of a waterfall process.