Last updated 17 April 2013
This article from the RailsApps project describes how entrepreneurs can manage development of software applications for startups and personal projects. For solo operators or small teams it suggests some tools for task management and introduces the kanban method of project management. For larger teams, I provide links to some articles that describe project management approaches used at successful startups.
If you’re new to Rails, see What is Ruby on Rails?, the book Learn Ruby on Rails, and recommendations for a Rails tutorial.
This is an article from the RailsApps project. 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.” Each application is accompanied by a tutorial so there is no mystery code. Support for the project comes from subscribers. Please accept our invitation to join the RailsApps project.
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 development 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.
Hopefully you are reading this as an entrepreneur who wants to plan ahead for growth, getting started with good practices. If your company is already growing fast, and you’re facing challenges, you’re not alone, as many startups face organizational issues as they grow from three people to eight or fifteen.
Here’s links to articles written by Richard White, CEO/cofounder of UserVoice, and the engineering lead at Skroutz, a Greek ecommerce startup:
The articles describe bigger teams and a more complex workflow, but at the heart of the process are user stories and kanban boards implemented in Trello.
If you’ve found other articles, or have tips for project management for startups, leave a comment.
Comments
Is this helpful? Your encouragement fuels the project. Please tweet or add a comment. Couldn't get something to work? For the example apps and tutorials, it's best to open an issue on GitHub so we can help you.
comments powered by Disqus