If great ideas were enough to make you successful, we’d all be buying Maseratis. Unfortunately, things get precarious when you try to build your great ideas into production web and mobile applications. Guiding startups and enterprises alike through the application development process safely is our specialty at SmartLogic. This is not something you can wander through and hope for the best. There are specific tools and strategies that will take the pain out of the development process.
Our approach to application development is to provide the most efficient degree of process: programmers deliver features, product managers (or founders) accept, reject, or revise those features, and everyone clarifies expectations as the team moves forward.
In order to keep this process streamlined, we selectively choose a few project management and development tools to deploy. Options abound, and everyone has preferences, but the key to our favorites is keeping it simple and cutting out unnecessary complications.
I gave a talk at the Baltimore Lean Startup Meetup about our favorite tools to help the startup application development process. You can watch the video here, or read the below roundup of favorites. We’ll follow with a section about the philosophy behind the tools.
- Pivotal Tracker: A thoroughbred in terms of project management, geared toward the specific needs of agile software development. Pivotal Tracker boasts a slew of features, but doesn’t let those features destroy usability. With Pivotal Tracker, you can view the entire lifecycle of a user story, see what’s on the backlog, keep ideas for later in an “icebox,” accept and reject features, and maximize collaboration between your whole team. A veritable HQ of software development.
- GitHub: We code in GitHub, so the whole team can collaborate on code easily, and so our code is hosted in a safe, shared environment. Want your code to be open source? GitHub is free. But when we work with clients whose code is closed source, we find it’s worth every penny for the commercial version. Git some.
- Campfire: Real time collaboration designed specifically for software development. It’s like IM on steroids. Password protected chat rooms allow you to collaborate in real time with several different groups at the same time. Developers, customers, testers, and marketers can be in the same room without downloading anything. We are on Campfire chat rooms all day, every day, and we ask our clients to be online too. Consider making Campfire participation a must for product managers and developers.
- Skype/Facetime/Gchat: These well-known tools for video chat can be invaluable if employed correctly. If you’ve got teams of people in different locations—or perhaps just a hike down the hall—these tools save drive time and pleasantries, but maintaining your ability to note body language. Some questions can be answered more effectively when there is a face involved.
The Philosophy Behind the Tools
All of the tools we use go back to our basic philosophy of keeping high-end, complex development projects as simple as possible.
“No process” is the worst process. Your development process doesn’t have to be complicated—indeed, ours is very simple—however, you should have a process and the tools to support it. Check out our post on meetings to see how process transcends tools.
When in doubt, KISS. Keep it simple. Walter said it in The Big Lebowski: “Once a plan gets too complex, everything can go wrong.” Use just enough process and just as many tools as are necessary to get the job done right. No need to go beyond that.
Your team, your process. You know your team better than anyone. What works for you? Pursue a process that is catered to your specific team and how it operates. If you aren’t certain about what that process is, experiment. Fail and fix rapidly. That’s as useful as anything else you can do.
The product owner should accept all features. Your developers could think the way they built a certain feature is awesome, but the person with the final say should accept all features. That way you don’t get 90% of the way through building a product before hearing that a key player actually wants to change 50%.
Talk the talk. Communicate. There is no way that you can overemphasize the importance of clear, efficacious communication. Product managers should constantly clarify expectations and objectives. Developers should constantly clarify challenges and tactical considerations. If everyone’s on the same page throughout the process, your application will be developed smoothly.
With the right tools and process, you’ll make sure you’re not the BetaMax to VHS or the Crystal Pepsi to Gatorade.