A guest post from Mario Peshev, owner and WordPress Architect at DevriX
Smaller agencies and consultants are often afraid of swimming in deep water when it comes to serious business leads. If you have spent many years in the market, successfully running your business, then you are experienced enough to take the next step.
Break it Down
The first rule with closing a larger lead is break down the project into parts. If you have seen success working with smaller projects for a client, it makes sense to consider the big project as a sequence of smaller projects for the same client.
Breaking the project into pieces allows you to focus on each phase or milestone separately. This even has the benefit of project security (less time spent on sales) and overall project roadmap (no need to re-factor half the project due to a sudden requirement). Define milestones, break them into payment terms and deliverables, focus on each component separately.
Pro-tip: Make your milestones monthly, and you will get paid monthly. Define a fixed number of hours a week and fit the tasks into them.
The Agile methodology is a better fit for large projects. While you can follow the Waterfall model all along, being able to identify every single detail of a $70K or even $100K+ project is insane.
Let your client know that you’re following the agile path, and the business and technical ecosystems evolve fast enough for your original scope to get outdated very soon. Agree to work together on a major set of features and requirements and reiterate every 2-4 weeks with each Sprint (minor project iteration).
Those minor iterations could build up to a minor (or major) project/software release. This means that you get paid more often; your client gets a new version out; and the client gets frequent updates and feels like the project is heavily developing (as it should be).
There is still a process to follow with initial requirements, but with an option to adjust after each sprint. It means you can be flexible, especially if a competitor launches first, or there is the new fancy API we have to integrate to get the competitive advantage.
Manage Scope Creep
Smaller projects with fixed fees are all about getting as much done in fewer hours to keep the profit secure. Defending yourself from additional requests and features shouldn’t be your number one goal.
Larger clients have money. They run a successful business, and their goal is to make it more profitable and more successful. Embracing new feature ideas, enhancements and optimization means more work for you. You can follow the business’s market and propose ideas based on the existing products or new opportunities out there. Scope creep means more work, extending the project and bringing more regular income. However, it’s important to manage scope creep carefully: let your client know that your agreement includes a certain set of features, and list all of the new ideas in a separate document that will be implemented after the current milestones are completed.
Aim for Continuous Integration
Continuous Integration (CI) is another Agile practice in which each version control commit goes live. That said, every chunk of code, design change or any smaller iteration is deployed.
That isn’t scary at first, but it means that you can launch as soon as the minimum viable product (MVP) is ready and add new features with every new commit. At first, it’s stressful if you release a new version few times a day.
However, it’s actually better for your own sanity and the project’s health if you go for CI. Deploying few times a day means that you need to add unit testing and all testing components in your project and validate each code change against regressions. The second argument is that deploying every few months (or launching a 6-month old project at once) leads to incredible stress, weekend work and trying to match every single change. Committing often and deploying with every commit makes it easy to validate against regressions with unit and integration tests and revert a small chunk of code in case of a problem (or even fix it right away). A better code base means a healthier software project.
Larger projects are usually trickier since they include more functionality, get more user visits and you need to pay more attention to compatibility, scalability, performance and security issues. However, these bigger projects improve your skill set, and you will be able to get more people on board due to the financial security with guaranteed payments. It makes for a great portfolio, as well.
The project development cost is usually a fraction of the complete project—your client’s staff is dedicated to the solution you provided as marketing and advertising campaigns are launched. By following all steps above you will ensure that your phase-driven development doesn’t bring chaos in code or communication, and your agile approach is flexible to accommodate new feature requests and enhancements, leading to more project iterations and a better final product. This looks great in your portfolio and other big leads are easier to get with a good track record of working reliably with larger clients.
Mario Peshev is the owner and WordPress Architect at DevriX, a premium agency building WordPress-based SaaS and SME web solutions. In addition to 10+ years of software engineering experience, he has been consulting businesses and training courses for companies and organizations such as VMware, CERN, Saudi Aramco, Software AG.
At DevriX Mario is responsible for the architecture and infrastructure of SaaS projects, frameworks and the technical backbone of their customers. He is a regular WordCamp speaker and a contributes to different Open Source products, including the WordPress Core.
[ personal blog: http://devwp.eu/ ]
[ DevriX website: http://devrix.com/ ]