I'm a new employee at a small company that has a lot of talent but seems to have gotten by with ad-hoc processes simply because they've had mostly small projects and repeat customers who are friends with the company executives.
I recently started a new job at a 20-person custom (per contract) software company. The first project I was assigned to is still in progress and is not going well (I asked this question before registering here). I don't know if I was unlucky and started on the 1 in a 100 project that is poorly managed. What I'm afraid of is that stumbling around with unclear requirements, unrealistic expectations and no toll gates put in place for hard customer-provided dependencies is standard.
And I don't care what the norm is. All I really want is to make sure that the I don't end up on a project like this in the future and the only thing I can think of is to help my company implement the tools and processes to accomplish that.
So, we just kicked off our biggest project in the history of the company. It's 4 times as big in terms of cost than our largest previous project. We just had a call this morning where the president said that everyone in the company would be involved in the project in some fashion (compared to the standard 1-2 devs and a part time PM per project).
This seems like a perfect opportunity to help my company out. I've got some ideas but like I mentioned, no PM experience. I have no desire to get PM experience either but I'll do what it takes to improve my company.
Here's what I've come up with so far:
Implement source control - currently no project or developer uses SC except myself. I have a a SC server running on my personal dev box that I use to track changes, create branches for testing new functionality etc.
Put up a wiki - A few weeks ago I found out that another developer had spent a day trying to get a particular technology working that I had just got up and running myself. He would have saved a few hours at a minimum if he could have gone to a central knowledgebase where I could have recorded my experience.
Use some sort of PM tool - The CEO just signed up for a Basecamp account. I use it to keep track of todo lists (translated from the functional requirements excel spreadsheet). No one else in the company except the PM on my project uses it.
Implement a bug tracker - The bug tracker for my current project is a text file on the server that feedback requests get logged to. That and long email chains from our client that often start with "Such and such doesn't work for me".
Be a crusader - I've tried preaching the benefits of all these tools and techniques but have been met with an attitude of "Don't spend too much time on it. Just work on coding".
As you can see most of my ideas involve some sort of new tool or technology (new to my company anyways). How can I point out flaws in my company's processes without seeming like a know-it-all? I've only been here for a few months and just want my projects, team and company to be incredible. I love what I am doing at my new job. I just don't love how we do it.