Brix: The Agile Way
Agile development is a well loved way to build software. One agile developer guru I knew would frequently promote various techniques. He would talk about how much better it was than waterfall development, or more affectionately referred to as, “throw it over the fence” development. These conventional forms of building software often consist of doing all the design first and all the building second. One point he would make was that when designing a house you need to plan everything in advance since you can’t rework it later. Then triumphantly he would proclaim- software is not a house.
To the purist, of which he was one, projects should be distilled down to 3×5 inch cards. On each card you write down the current task. Once written down you work on it until completion. Once the task is complete you toss the old card and write the next task on a card. Software shows its strength in that pieces of code that are written clumsily at first can later be reworked into improved versions. (Refactoring is the industry term for this.) Going through quick development iterations has proven to be an effective approach to producing quality code.
Like all facets of business, it behooves people to keep track of their projects a little more than writing tasks down and promptly throwing them away when finished. For smaller projects this style of development may suffice, but as the group grows it quickly becomes untenable. In the spirit of preserving the agile development process while incorporating basic project management disciplines, Brix was founded.
Brix is project management software that is built for agile development teams. People can be assigned tasks and then they work on them until they’re completed. The basic stages they progress through are Not Started, In Progress, On Hold, Pending Approval, and Accepted. The project manager can create projects and then a series of tasks. These can be assigned, given timelines, and accepted to indicate their completion. The developer simply works on the task at hand and submits it for approval when done. This all takes place on what’s known as the Wall, found on Brix’ dashboard.
Next up on the dash is the Gantt chart. Now, strictly speaking these might not pass muster with idealist agile developers. They do come in handy though. In particular, they’re updated automatically as users update their status on the task. It’s an easy way to see what tasks are currently ongoing and how far along they are. It also allows you to edit the tasks if you like. Beside Gantt charts is the My Tasks page which, unsurprisingly, shows all your tasks. Finally is the Graphs page. Here custom graphs can be queried and constructed based upon a variety of settings including status, priority, assigned to, category, and dates. All tasks on the Gantt chart page as well as the Wall can be dragged and dropped to make for easy adjustments.
After testing Brix a bit I came to the conclusion that finally someone built a project management system that makes sense. From the team lead standpoint they create the project and tasks. From a developer standpoint all they need to do is work on their current task. Oh, the beauty of agile development. The progression from one task to the next is natural as well as the submission and approval process. It detracts slightly from the highest agile ideals, but this is necessary in order to scale projects. There’s nothing preventing people from only creating one task at a time, thus adhering to a truer form of agile dev. (I can’t tell you how many times I’ve had my finger rapped with a ruler for thinking beyond the current task. For us planners agile development takes some discipline!)
At the end of the day, agile development is fun. Rather than thinking in terms of building monolithic projects you can build bite sized modules. These slowly piece together forming an impressive product, which initially seemed unwieldy and intimidating. Having the ability to track the process is important to monitor status and responsibilities. For this, Brix is a great solution. It’s free for charities, as well as those 1-3 person teams from which many great products are born.