During my senior year in college, I started a campus-wide recycling program as a final project for my Bachelor's of Art's Degree in Environmental Policy & Analysis. Twenty-five years ago, recycling was a concept that the majority of society understood was a good thing, but perceived as an extra step in their existing trash disposal process. In today's society, the act of recycling is thought of as part of the process and most major cities in the United States have specific initiatives to make recycling easy. The consumer still has to separate their trash into items that are disposables and recyclables. However, they do the work because they understand the value of it and know they are making a difference [I think they also feel compelled because cities require it]. I recently had an epiphany that my undergrad environmental degree and my recent Master of Science Degree in Information Architecture and Knowledge Management share a common bond - they both are relatively new lines of thinking. The reality is that the idea of adding recycling into the trash disposal process is much like adding user experience (UX) into the programming process.
In today's programming world, whether you follow the waterfall, agile, or scenario based engineering development method - user experience can be perceived as an extra step. Companies understand that user experience is important but getting it added into the process requires specific initiatives to make it easy to follow. UX in Development can succeed if the value is clearly understood and it's seen as making a definitive difference. The concept of recycling took some time to excel. Eventually the general population built separating glass, cans and newspapers into their daily process and I feel the same about adding user experience into programming. Whether you are creating a website or application, the process of user experience has to be built into the into the process just like recycling. How can you add UX into your process and where do you start? You first need to ask yourself, who is this for and what are they trying to accomplish? Understanding the persona is key. However after you become aware, the next step is to work closely with a user experience professional to scientifically gather data.
If you are looking for more information, here are some books to get you started,. As a developer, I would check out, Scenario-Focused Engineering: A toolbox for innovation and customer-centricity (Developer Best Practices). As a graphic designer, I would recommend the book Don't Make Me Think, A Common Sense Approach to Web Usability. As user experience professional, I would recommend Observing the User Experience, A Practitioner's Guide to User Research.