Successful software consulting engagements happen in large part due to a great process. In that regard, online tools can be used to mold a process and support its fundamental tasks. For large teams and solo developers, we recommend these 6 tools that span all phases of the software development life cycle. Processes without a tool in each category will suffer lack of structure, speed, and management.
Tools Used by Top IT Consulting Firms:
Writing proposals is time-consuming, often non-billable, and seemingly customized for every client project. To simplify the proposal process and to make it repeatable, we recommend Proposify, a user-friendly, templated proposal-writing tool that also provides insightful sales metrics.
Project Tracking & Planning
Every software consulting project should have some plan for what will be delivered to the client. Whether the plan incorporates the entire scope of requirements, as in Waterfall development, or a rolling backlog of features, as in the more agile Scrum Development, FogBugz is the right choice for project tracking software.
FogBugz’s best feature is Evidence-based scheduling, which forecasts the probability of a developer finishing a project on-time based on past results. It also enables the creation of milestones within a project, which is a way to manufacture urgency among the team if the project deadline is too far in the future.
IT consulting firms benefit greatly from tracking their time. They may be required to report hours worked to the client or just do it to analyze previous time sinks. Harvest is a great tool that provides a real-time snapshot of which team-member is working on which task. It also shows the progress of projects and budgets.
Computer code is very flexible (that’s why they call it “soft”-ware), but it can also be very brittle. A small change can sometimes cause the entire code base to stop working. Subversion (SVN) helps resolve issues caused by changes in code by keeping track of each version. Developers can use the tool to inspect the history of the code and see what changed, which will usually reveal the problem. Additionally, SVN provides a means for backing up source code and is great for branching versions of the code during release management.
An easy way to find an answer to a programming problem is to Google it, but you might conclude that StackOverflow.com, a Question and Answer site for programming questions, provides the answer more than any other tool. A software consultant may be an expert, but he or she still should leverage the knowledge of everyone else too.
For remote teams, a tool like Slack is an effective way to communicate in real-time. However, its biggest benefit for any type of team is “universal search,” which finds text in previous conversations, attachments, or via one of its many possible integrations. Even solo developers can use the tool as a type of Knowledge Base, keeping a history of issues and interactions that can be drawn from later.
The tools we choose influence the process we follow. The top IT consulting firms have evaluated tools in the above categories and adopted the ones that fit. We wouldn’t be surprised if our tool recommendations became (or continue to be) the standard in the industry.