When I started my current job, Rentokil's web development team were producing non-semantic, part table-based, with a mixture of CSS with in-line styling and font tags. As I had not been there long I didn't want to be too pushy about my own ideas so I settled down to doing things the way everyone else was. However, after I had got used to the job I realised I was picking up nasty habits, and so I began to talk to my colleagues about working with web standards. Where I was lucky was that one of the other developers also shared an interest in web standards and also wanted to see things change.
In a year the team are slowly but surely changing how they work and are moving over to using web standards and beginning to follow best practices. This article goes through some practical examples of how you can be a catalyst for change within your company.
Roadblocks to change
Based on my own experiences there two main areas to focus on. The first is your management and the second is your colleagues. If you need to get your manager to understand why web standards are important then you need to think a little like your manager does. A web manager's role revolves around delivering projects on time and within budget, so one of the common complaints regarding adoption of web standards is that doing things this way takes longer. This can be true to some degree but this mainly occurs whilst developers get used to doing things differently.
Overcoming this barrier if it exists for you is mainly a case of increasing your knowledge and experience. Beyond that you can also attempt to show that if standards based sites consume a little more time up front then that 'cost' can easily be made up in bandwidth savings, easier maintenance etc. Planning a site properly will also help make a website easier to build and save time in the development phase. Planning also stops the website becoming a mess because all of the possible flaws in the design have been ironed out before the first line of code is written. This is turn makes every developer more efficient and the execution of a site becomes more like painting by numbers.
The second issue is all about turning the rest of your team on to web standards. If any of your colleagues share an interest in web standards then it will help if you can team up together. If you're on your own then I would imagine that although it's a daunting task you need to demonstrate the practical and simple benefits of using standards. If you're talking to developers then it's a case of getting them excited about techniques and skills and showing them how web standards makes websites better for all users and devices. If you are talking to designers then there are plenty of resources on the internet to help get a designer enthused into doing more with markup and CSS from CSS zen garden to showcases like CSS beauty and Style Gala.
Open to learning
If a colleague doesn't seem to be too receptive then don't push too hard. It's better to move forward at a slower pace than to cause someone to become highly resistant to change. Let everyone play a part and don't stop learning yourself. If you are trying to influence change it is very easy for your colleagues to perceive you as being arrogant or dictatorial even if you don't mean to be, so make sure you keep your feet on the ground and don't be elitist. If people around you are making mistakes then show them what they are doing wrong in a positive way without running them into the ground. That way you will find they will listen to you and be more open to learning.
Build your own standards
Over time as the team grows in experience of web standards and development skills, it will be possible to influence any existing coding standards your company has and to build a document that reflects the team's best practices. This document helps to maintain consistency across the board which in turn makes it easier for developers to work with each other's code. Best practices can also speed up considerably development time through standardising the way you do things. For example, you can prevent developers having to 'work out' the best way to achieve a particular job using standards every time they create a site by having common code examples. A classic use for this would be something like forms or tables. In doing this do make use of the many amazing resources on the internet and link to any articles that are relevant to your documentation. Just make sure you qualify anything you quote.
Bringing about change is not easy in any field and anyone that wants to get their colleagues to adopt web standards will not get instant results. It takes time, it's very frustrating at times and it's also very hard work. However, as small changes take place and as you start to see the results of your efforts, it's very rewarding and this helps to fuel you on to your next goal.