Projects made with a CMS -> Money problems - drupal

i want to discuss about a problem: i've lately had discussions with some customers to which i've asked money for projects written in Drupal: when they know that i use a CMS they immediately say that they want to pay less "because I use a CMS".
I develope since 15 years and i've made many many projects without using a CMS and by using my libraries; i'm lately using a CMS but this does not mean that i don't write code ...
Which could be the best response to give to a similar question?
Ciao
c.

Explain it to them very simply.
If you have to install and configure any Content Management System, that takes you more time and therefore costs a bit more than a static website. You need be as transparent as possible when you detail the costs, so tell them how much time will be spend designing the theme, how much time will be spend configuring Drupal for their website and so on.
It would be interesting to ask them why they think it should be cheaper, as you will then understand what misconception they have about CMS. You can then explain things better to them so that they understand what using a CMS actually means.

I would say that they are paying for your expertise and experience, regardless of the tools you use. If they want it cheaper, they can ask someone else. The CMS helps to add stability, security and expandability to what they would get if they had a custom solution.
Plus, if it was all custom code it would be extremely difficult to hire someone else to take over if, God forbid, you were hit by a bus. The CMS gives THEM more options.
I would agree that you should explain where the money is going, in general terms, but you shouldn't have to justify every detail. Otherwise how do you itemize "dealing with stupid customers who need their password reset for the millionth time" or "explaining the difference between a 100x100 thumbnail JPG and a 3600x2700 BMP". It could also open the door to a lot of haggling that will just waste your time and frustrate you.

I had a client who asked me over and over again the same kind of question.
If your client doesn't perceive the value you're adding to an Open Source application then give them the source code and point them to the documentation. Tell them to build it themselves.

Related

How do you keep yourself updated with latest technology trends, considering that technology today is enhanced almost every day?

It's most asked question in IT job interview so I want to know what should the way that I explain the answer of this type of question asked to me.
"One machine can do the work of fifty ordinary men. But, No machine can do the work of one extraordinary man"
The simple meaning of new technology is to make work or effort simpler or make it easy.
Not just technology but everything that may changes you update yourself with it.
To keep updated with technology you need to use technology, specially latest enhanced technology.
The concept is: by doing so (using technology) it will become obligatory for you to keep track of any new or emerging technologies through reading, searching etc.
I am not claiming that this is something you should do. Its one of the way what you try to do to make yourself updated to some extend with the pace of technology change.
you should go and subscribe yourself to various RSS feeds, go frequently to some great sites (dzone, javalobby etc.) and look for blogs/articles which deserves a read.
Things which you don’t know in this case deserves more read and i start googling stuff to get more details.
see, technology products will not succeed if they are developed for their own sake, nor simply to help users complete a specific task. Technology products succeed when they are incorporated by users into their daily lives in ways that serve their fundamental needs as people - fundamental needs such as relating to others and keeping in touch, even when they are miles apart.
The truth is nobody fully understands knows how today’s technology might be used tomorrow. If the recent past is anything to go by it’s likely that people will certainly find innovative and as yet unthought-of ways to communicate and keep in touch.
Thanks,...!!!

Web Design w/CMS

I recently "inherited" an IT company that has a creative wing that does websites. Business is very good, but it seems like our throughput is very low. It's taking 3-6 months per site for just basic sites (no ecommerce, etc). From what I can tell, the process goes like this:
designers design the site using Adobe products
once those mock-ups look good, we outsource the files to be "sliced"
once we get the artifacts back from the "slicers", the web coders plug the information into a Joomla site
the site goes live
My question: is this the correct approach? I don't know enough about CMSs to know if we're using them in the way they're intended to be used. If there is a better process that you know of, or a better CMS that is easier to plug the results of the slicing into, I would love to hear about it.
Thanks for any feedback you might provide.
Ughh. I hate the process you describe. Designers who don't understand much HTML do the design, and then this "slicing" process involves cramming stuff that was never designed to be HTML into HTML.
Unfortunately, at my agency, we've found it difficult to find folks who design from the get-go in HTML/CSS.
But to your question about time, consider this. I'm a sole web developer working for an agency. We spent 4 months rebuilding our own site (a pretty simple site). But 3 of those months were spent going back and forth with the designer making changes.
I didn't start work on the site until one month before launch. From that point all I had was Photoshop files. I recreated the look of those files in Drupal templates and did all the other development (including some medium-complexity javascript) in just one month.
During that month, the design of 40% of the site changed dramatically. If it weren't for that, I would have been done in two weeks.
And I'm just one guy. And I don't consider myself a fast coder AT ALL. Your folks are taking WAY too long.
The web programmers should be able to slice the files, at the end of the day, they are the ones programming it so they should know what they want/need more than anyone else, it will save money and time theoretically.
Wow, 3-6 months for the workflow you described sounds painful. That's a timeline better suited to a site that includes a high level of custom data handling functionality. However, beyond the considerable mismatch between the process you describe and the time it's taking, the scope of this question seems pretty wide for stackoverflow.
I'd start by editing your question to indicate the amount of time typically spent on each of these steps. Just based on what you list I can't possibly imagine that taking 3 months, let alone 6.
Ok, if "Business is very good" and you're spending "3-6 months per site" then the only conclusion is that these are very high design websites with good margins. So you don't sound like you're in the slice and dice $14.95 a month website business.
Given that the sites we build often have a primary stake holder who is subject to corporate design guidelines and marketing criteria followed by product positioning criteria it's not unusual for us to spend 3 months getting the design work done. We can go through 3 design iterations (all of which the clients pay for).
The only difference to your situation is that our designers are 'web designer' and either understand how to build a Photoshop file to be 'sliced' or work in conjunction with the people that will be doing the slicing.
So, the only thing I find odd is that you send out the work to be sliced.
Nothing wrong with the process but the resource arrangement seems not correct. If it's a design company, I would expect you should have your own designers who can slice those images, rather than outsourcing. This will improve your efficiency and speed.
As for the CMS, Joomla is a much complicated CMS which is suitable for larger websites that require extensive CMS features. For normal corporate websites, I would suggest to use WordPress. It's very lightweight, easy to use, easy to skin and easy to setup.

Handcode or not, new e-shop? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
As a junior developer, I mean without great experience, what would you do for a client about an eshop? Start from scratch and handcode an e-shop(simple one)? If yes are there any good tutorials you suggest?
Or buy something ready, lets say VirtueMart templates for joomla or a similar solution for Wordpress?
Even if you described yourself as an expert I still wouldn't recommend that you write an ecommerce application from scratch unless
your client does something very specific that can't be made to fit an existing solution
your client has huge amounts of money and doesn't want you to deliver anything for months (or more)
you can offset either of the above because your business plan is to develop the next Magento and you have the resources to hire a development team and market your solution
Displaying products on the front end is relatively trivial. The rest of the iceberg e.g. security, user management, the back end (admin interface) of your website, tax calculations, shipping, cart functionality, templates, payment gateways etc. would take considerably longer.
Unfortunately, even if you deliver you would still be behind the competition when your client says: "I want feature x that I've seen on website y" and you have to quote for bespoke development instead of installing or enabling a module on a ready-made application. Unless they're prepared to spend a lot of time and money they will soon look for an alternative.
If you're already using Joomla, I'd recommend installing the Joomla + VirtueMart bundle here:
http://virtuemart.net/downloads
If you're using WordPress take a look at ShopperPress or Get Shopped.
There are many more out there (Magento, osCommerce, Zen etc.)!
The most important thing to do is to match your client's requirements with the features of the application you feel comfortable using.
I would definitely not hand code or encourage this.
It is not sustainable for the client unless him and you are going to work together for the next millennium. What happens is that in a year or two they want new functionality, and if you are available, you need to have done a very very good job of structuring and commenting your own code to remember it yourself (as a new developer you learn new things every day, and solutions I did a year ago, I would restructure today).
The even more likely scenario is that another developer, system designer or graphic designer comes along, and it will be pointless, enormously time consuming and costly for the client to have person number two dig through your code.
Your time is better spent learning solid cms-systems and improving those, rather than reinventing the wheel. There are too many sites out there that are made as one-offs, and therefore often unmanageable in the long run.
I understand that programmers wants to progam, and the temptation to start with a blank editor page, but it is not good for the client, and it is not good for you reputation down the road.
Use your skills to make unique and custom made plugins, functions etc for your client. Do not waste your time building frameworks that others have already - and most likely - done better.
..and make sure you pick a cms your customer can handle. Do not give him joomla or drupal, if he is of the sort that can barely figure out how to publish a post in wordpress.
You might take this opportunity to learn about recent Web technologies and tools, in particular non-PHP based things like Opa language or Ocsigen library or perhaps Kaya; these tools probably have some useful infrastructure for your needs.
You might also checkout ShopAlternaMart for WordPress
I'm happy with opencart, an open source e-Commerce (see my site here, if you like). There are of course many others.

Advice me what to do with large project when you work alone !

I bet many of you were in such situations in the past.
I'm currently working on huge ASP.NET web project. Ad management system of some kind. My boss doesn't want to get more professionals to help me but gives me inexperienced staff that don't even know to program on ASP.NET and think it is an easy task. I deal with programming and design
What advices do you have to handle the boss ?
What tools can help me to ease with this task ( except usage of this very website )?
Thanks
I would hope good source control is something you already haev on your list but I think its always the best thing for any big project. Keeps your code safe and has the added advantage of allowing easy review of what your team are checking in if you feel the need for oversight.
Other than that just make sure you give your boss a realistic understanding of the time taken for various tasks and if he complains make it clear that your team needs more training if he wants stuff done faster.
P.S. [Edit: removed as no longer relevant]
You could ask him for a raise from getting rid of the people who are not helpful. that might actually save him money and make your time more worthwhile.
What advices do you have to handle the boss ?
First make sure you have a good analysis document and that you have for every dependency a spoc (single point of contact). Make sure the people who you're making this application for are integrated into the process. I suggest using something like scrum but certainly daily standup meetings.
Use a good system to follow up on everyone like for example TFS2010 which has also testing capabilities integrated so your testing team can be better integrated.
Have a bug tracking tool and source safe handy. Continuous integration is also an asset.
but gives me inexperienced staff that don't even know to program on ASP.NET
It's your boss intention to upgrade his people to a level where they are capable of programming ASP.NET applications in the end. What way to better learn it than hands on experience from a dedicated professional like you?
Be aware: you're dealing with people now, not just code. They get sick, have their strenghts and weaknesses just like you. And believe me, it can be a challenge sometimes to deal with the human part of a project. Especially when there's pressure due to release dates.
Perhaps you can convince him to distribute some (technical...) parts of the project to RentAcoder.com or getAfreelancer.com? It will be cheaper than getting more manpower..
Use a decent workitem/bugtracking system. This won't turn your 'inexperienced devs' into experts but at least you'll be able to see what progress they are making(or not making as the case may be)

Having another programmer take over an existing project

This question is not coming from a programmer. (obviously) I currently have a programmer making a website for me and I am realizing that he isn't going to completely work out.
He has already done quite a bit of work and the site is almost there but I need someone who is better to take it the rest of way. The site has been done in asp.net and I am wondering how hard it would be for a more experienced programmer to take over and finish the work he has already done?
In general, is it hard for an asp.net programmer to come in towards the end of a project and fix what needs to be fixed?
There is five different pages on the site with two overlays for a signup and sign in. (Five pages with many different versions) There is a database and client-side scripting. AJAX was also used. It's a site somewhat similar to SO only not quite as complex and about something completly different. I would say think of something that falls somewhere between Stackoverflow and Craig's List. Thats all I can say now as I don't know the technical words.
You'll probably find that the new programmer will want to rewrite most of the code from scratch. If you are on a tight deadline or tight budget and can't accept a complete rewrite then you will need to hire someone that is not just good at writing good code, but good at reading, refactoring and improving bad code. It is two completely different skillsets and the second is much rarer. Depending on the quality of the existing code (and I'm assuming here that it is not good), your new programmer may end up rewriting much of the existing codebase just to understand what is going on.
Depends on how good the previous programmer was and on the complexity of the project. It might be anything between trivial (well commented source, some high-level docs, unit tests, modular or simple project), to "this crap needs a complete rewrite" (no docs, custom "let's try this" solutions, etc.). If you're not a developer it might be really hard to tell. And other people won't be able to answer without more details.
I'm no asp.net expert, but I suspect the ease with which the replacement will be able to finish the project will depend mostly on just how bad a job the first programmer actaully did. Bad code is painful to fix in any language. :)
A good idea will be to have them work together,for say, a week or two. This will help the new programmer get some much needed training about your current system.
You may find that although the site is almost complete, the successor will have to spend more time than anticipated when performing alterations, as this person will have the mental model of the software that the current developer has. Hence the need to next developer to "re-write" the code base.
If you can, you'll want to ensure that the code base that you have built is maintainable. That is, the solution is built in such a way that it can support alterations easily. As Mark Byers suggested, you'll want to get someone who can not only program but can also re-work your existing code with the goal being that someone else will inevitably implement future changes. If the software is something that you need to keep working for an extended period you'll want to make the investment in making sure that it new functionality can be added easily.
Remember this experience described at The Daily WTF. Take appropriate precautions.
Generally if the site is set up in some sort of standard fashion then another programmer should be able to pick it up easily. if the existing programmer did things to obscure the code then it will be hard for another programmer to pick it up. Basically the question is how readable is the code?
If the current programmer is unwilling to communicate the true status of the project in a professional, non-technical manner, then give him an ultimatum - your way or the highway. Odds are he will be more forthcoming if he knows you mean business. Make sure you have a copy of the latest code before broaching the subject.
It sounds like you are going to end up hiring someone else anyway, especially if you're asking these kinds of questions at this stage, so you might as well go for broke.
As Mark Byers said, it takes a seasoned developer to take someone else's code and resist the urge to "pretty it up" in order to bring the project to a working conclusion!

Resources