Software Planning for Freelancers
When Architects Did the Planning
Before I became a freelancer I used to work at software company that created ERP software. It's a competitive market where markets changed rapidly and new features were in constant demand. Even at such a tight schedule a considerable amount of time was spend on planning and documentation.
As you'll probably know, a large percentage of software projects ends up as failures. This could vary from 30% to 70% depending on the research you read. So without a doubt planning is essential. In software companies you have architects to do the planning and you only have to add some inputs to find tune the plan. A luxury denied to you when doing freelance work.
So what can you do about this? How can you plan your projects properly? Keep reading to find out.
Diagrams, Diagrams and More Diagrams
A plan for software projects include lots of diagrams. Use case diagrams, class diagrams, sequence diagrams, deployment diagrams and the list goes on. Fortunately there are specialized software to draw these diagrams and in some cases generate the basic skeleton code via these diagrams. Rational rose modeler from IBM is one such example, but probably the most popular diagramming software in the world is Microsoft Visio.
The problem with those software is that they are very expensive. Most likely not affordable for a freelance software engineer. Fortunately there are software out there that offer better value for money.
My favorite diagramming tool is Creately and at $5 / month it definitely provides value for money. But price isn't the only reason I chose Creately over Visio.Check out their Visio alternative page for a complete comparison.
Creately is a SaaS application, hence you only need a modern browser and a good Internet connection to draw diagram. They also provide a desktop software that works on Windows, Mac OSX and Linux. So whatever the platform you can use it without a problem.
Peer Review and Outsourcing
One of the biggest disadvantages faced by freelance developers is the inability to get their software plans reviewed by peers. If you ever worked with a team you'll know how valuable this is. But the emergence of SaaS software like Creately has made that task somewhat easier.
SaaS software with real-time collaboration enables you to share diagrams with others and work on them together in real-time. If you have worked together on some Google docs file you'll probably have noticed it. With real-time collaboration you can draw your diagram and share them with your colleagues and get instant feedback on them. You can work together to rectify them instead of sending files back and forth. Real-time collaboration sure saves lots of time.
A good web based software helps you outsource your work as well. Experienced freelancers would know that outsourcing your work is the only way you can take bigger projects with bigger returns.
Considering all these switching to a web based software to draw your diagrams is a decision you wont regret.
Not Easy, but Can be Made Easier
As you'll probably know by now, planning a software project as a freelancer is a tedious task. But with the right tools you can make the task easier and even enjoy it. If you're a freelancer doing software projects I would love to know how you plan your projects and the tools you use to plan the project.