This is part 2 of series of articles about Melbourne Magento scene. In Part 1 we’ve talked about general availability of talents with Magento skills, where they work and how many of them have Magento certification. Part 2 will provide you with comparison of two fundamental ways to develop Magento store – outsource (use external service provider) or do it in-house. While we are talking about Melbourne Magento eCommerce implementation, significant part of this article actually relevant for any geographical location.
As most of software/digital projects and in general many business activities you can handle Magento store creation two ways: use in-house team to deliver it or outsource it to external service provider. There are pro et contra in both ways and in this post I’ll shed some light on their benefits and shortcomings. As in previous article we limit our scope with only options that give you local Melbourne Magento implementation service.
What skills you need to build Magento online store
Before we start to compare in-house vs outsource let’s think about project team – what kind of skills you need to build a good online store on Magento eCommerce platform. We’ll talk about roles/skills not people, because sometimes one person can wear multiple hats. As a bare minimum you’ll need in your project team:
- Back-end developer, a person who’ll program (or customize) server side scripts. This person needs to know at least PHP and My SQL at decent level and highly desirable know Magento itself and Zend framework and server administration if you don’t have dedicated sysadmin. If your developer doesn’t know Magento and Zend, prepare to make significant time investment in training: Magento isn’t the system that you can master in couple days. There are training courses available in Magento University (mostly paid, some free) that makes it a bit easier, but still be ready that first several weeks if not months your developer will study rather than work.
- Web designer who’ll design your online store look and feel. It isn’t a good idea to use your print designer for this job. Print and web are very different, especially when you add such must to have now feature as responsive design. Again, previous Magento experience is highly preferred. There is a Magento Design Guide available for downloading from Magento website that provides some help, but a designer without previous Magento experience can create a design that looks good, but extremely hard to program.
- Business analyst. The role of this person is to gather requirement from business and to translate them to the development documentation that will be used by project team. As with all other roles, previous Magento experience is very useful to streamline the process and consult business about what is possible and not possible quickly rather than asking feedback from technical team or digging into documentation or calling Magento very often.
- Project manager who’ll manage project – make the project plan, coordinate the project team efforts, liaise with business, control project scope, budget and timeline and be responsible for project success in general.
As I mentioned the list above refers to roles, not to people. If you are lucky the same person can play more than one role, for example your developer can be “full stack” – do both front and back-end development and your project manager can be responsible for business analysis. From my experience I’ve never seen any manager, analyst or back-end developer who can create good design and usually both designers and developers are not very good in project management and business analysis, so realistically you’ll need at least 3 people in the team. This is a bare minimum, it is more often to have a separate person for each role and in bigger projects there may be more than one front and back-end developer, designer and analyst. Very often this list is extended with the next roles added:
- UX designer
- UX consultant
- Solution architect
- System administrator
- SEO specialist
- External systems (like ERP) developers
And we are not talking now about other related roles such as people managing content, social media and responsible for marketing, let’s put these guys out of the brackets. Taking all this into account, it is safe to state that typically project team for mid-size Magento store implementation consists from 5 to 10 people. It isn’t always required to have all team members working full-time, but they need to be available on short notice for the project success. You don’t want for example to put your website launch on-hold because couple days before the deadline you figure out that couple design tweaks must to be done, but your designer isn’t available any more.
Making Magento online store in-house
Benefits of having in-house project team
- Your business retains expertise, skills and knowledge of people who built the store (at least until they decide to change the job).
- Flexibility of project scope. It is less complicated to change the course of a project if required, less negotiation efforts, especially comparing with the situation when you have fixed price/fixed scope contract with outsourcing provider.
- Easier collaboration. Having all project team and project sponsor/business owner in one physical location makes collaboration easier, you (or your team member) may literally point a finger to show what is wrong, which isn’t so easy if you outsource .
Problems with in-house team
- Availability and level of expertise – in most cases if you start to work with new technology you’ll need to hire or train people (often both). Both hiring and education takes time and cost money so delay your project launch and hit the budget. Moreover, if there are people available in general, they may have other projects in their stack and you need to negotiate to get them allocated to your project, so again project timeline suffers.
- Balance of work load/flexibility of resource allocation and use. Typical digital project, including Magento eCommerce implementation requires different level of involvement on different project stages from different roles. For example you may need 100% of designer time allocation on the early project stages, when you work under your website look and feel and just 10% on the later stage, when you just occasionally needs to do some tweaks. However for a permanent and even contract designer working in-house, you still have to pay her salary, so if there is no other relevant projects in your organization it may not look good from human resource utilization point of view.
- More project management efforts. Since you have all your team in-house, there will be more efforts required to manage them, so your project manager needs dedicate more time to the project.
Cost of in-house team
I deliberately didn’t put the cost to neither advantages or problems section, because I believe that ‘it depends’ – in-house implementation can cost less and more than outsourced one. If you decided to build your Magento store in-house you should think about do you have qualified experts for all roles referred earlier. From my experience it is very rare to have all the experts needed on-board, so you’ll need to hire new people and/or train some of your colleagues. All this is possible, but comes with the cost. Some numbers to consider:
Permanent annual salary, ballpark, mid-senior level, Melbourne
- Back-end Magento Developer salary – $80-$120K;
- Front-end Developer – $80-120K;
- Web Designer – $70-$100K;
- Project Manager – $100-$130K;
- Business Analyst – $90-120K;
As alternative to permanent employment in some cases you may find useful to hire contractors, which has some benefits (more flexibility for employer). On the other hand contractors come and go, so you are loosing knowledge and expertise unless your carefully plan knowledge transfer.
Contract daily rates, ballpark, mid-senior level, Melbourne
- Back-end Magento Developer salary – $500-$700;
- Front-end Developer – $500-700;
- Web Designer – $450-$600;
- Project Manager – $600-$900;
- Business Analyst – $600-$700;
There are links to salary surveys and researches in References section.
Overhead and other costs
Don’t forget to factor overheads – superannuation, office space, benefits, additional load to administrative/support staff, equipment, licences, etc. In addition to that there are hiring costs: recruitment agency fees, time/efforts to conduct interviews, tests, place job advertisement.
Outsourced Magento implementation
Benefits of outsourcing
- Shorter timeline – good outsourcing providers already have a qualified team in place and spend less time to allocate resources for your project
- Higher level of expertise – good providers that specialise in Magento development already encountered many problem that will puzzle you and can advise you better approach on the early stage, so you can avoid some costly mistakes.
- Resource allocation/utilisation flexibility – you don’t need to bother so much about keeping workload of people involved in the project, it will be more outsourcing provider headache. Taking our example with designer, this girl will work for other clients 90% of time and dedicate 10% of time to your project. If in the middle of the project appears that you need one more developer, you will typically get him/her on-board much faster.
Problems with outsourcing
- All or at least significant part of know-how about your Magento-based solution will be owned (maybe not legally if your lawyers make right contract, but actually) by your outsourcing provider, not your business. It is less critical with open-source solutions like Magento, where you have the source code, but still important to note.
- You have less control over project team, ad hoc changes and directions are harder to do and communication is more complicated because there will be a layer between you and project team members.
- Coordination of work between outsourcing provider and internal stakeholders may be complicated
Magento Melbourne outsourcing costs
There are different classes of outsourcing providers in Melbourne that you can use for Magento online store projects, we’ll talk about them in more details in Part 3 of this series, so far let’s just outline the approximate costs. We’ll refer to per hr rate because in this business it is a basis of the costs, even if you have a fixed price quote, your outsourcing provider plans to spent certain work time of its employees for the project and with certain level of simplification project cost = rate multiplied on estimated time.
Freelancers are individuals (designers, developers, project managers) that you can hire to work under your project. It is very close to contractors, but we’ll distinct them because they more often work off premises, on part-time or casual basis or even get paid by deliverables rather than time reported.
Rates for freelancers varies, depends on experience, qualification and his/her individual circumstances, but in general has some premium to contractors rates for the same skill. As a ballpark for a freelancer with good Magento experience you can expect to pay $55 to $150 per hr.
Melbourne-based digital agencies and consultancies typically charge $120 to $250 per hr again depends on skill and experience level. As a rule of thumb the more experienced is the agency, the closer it to higher end in rates.
Hybrid approach assumes that you combine use of in-house and outsourced resources. For example you have in-house designer and one developer, who’ll be involved part time, hire contractor project manager and outsource back-end development of Magento store to a digital agency. It is rather popular approach for businesses that try to find a compromise between fully in-house or outsourced models.
References, Melbourne Magento scene, part 2
This is it for the 2nd part of Magento Melbourne scene series. In Part 3 I’ll write about what outsourcing options are available in more details – digital agencies (official Magento partners and not), consultancies, freelancers. Stay tuned via Twitter or subscribe to our email Newsletter.
Update: Part 3 is published!