I want to try to get into Software Consultancy. I've read many of @patio11's pieces on Consultancy which have been incredibly informative and helpful but one question remains on my mind: how do I deal with maintenance on past projects?
Most potential clients I've talked to want me to create a somewhat simple website for them in 2-3 weeks but what happens if they find a bug or they need to scale it up months down the road? How do I prevent myself from being monopolized by maintenance requests from past clients 2-3 years down the road? Should I charge for maintenance?
Should it fit with your desires and your clients' needs, you can sell maintenance on a retainer arrangement, which is use-it-or-lose-it access to you at a defined price which is a modest discount to your prevailing rates. If clients do not have an active retainer agreement with you, maintenance projects are entirely new projects, with a new SoW, at your current rate, subject to your current availability.
How this looks in practice: if I'm selling projects at $20k per week, the initial SoW offers 2 weeks at $20k plus two days a month of availability at $7k per month, with those days covering bug fixes, incident response, and such minor tweaks or adjustments as the client may require. In the event the client doesn't purchase maintenance, and the app goes down, then I'll try to slot them in for another 2 weeks at $20k each, but I can't make any promises.
You know the Chris Rock monologue about steak? When you go to a restaraunt with money in your hand and ask for steak, you get steak. Then you go home... and the restaraunt does not owe you more steak. Past clients are wonderful people who you may choose to do business with again, but you are not a free source of steak for them.