Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Not sure if this is the best place to ask this, but I could really use some suggestions/advice. I was just hired at a small company (10 employees at corporate, plus about five off-site) that basically has no IT department. I was originally hired to assist with what the company does on a regular basis (various types of verification), but since they found out I have a computer science degree, I have been given the task of creating an IT department. I am now working with the developer and need to organize all the software/hardware for the entire office. I am not sure how to go about this. I am looking for suggestions on set-up, organization, things to ask for, etc.

A few specifics:

Our development is PHP and Java (the latter I have experience with)

We use Lenovo PC's running windows 7, and a Konnect phone system.

We use, I believe, iolo security (but I am not sure about that even).

I recently ordered a few staples that were missing; new mouse pads, better keyboards, speakers, etc, but I have to work from the ground up with organizing software and have a closet full of misc. hardware and wires, along with our on-site servers (I really haven't looked at them yet).

I also need to set up an interoffice messaging system, as well as a remote log-in for me for working from home. (I plan on using logmein) Ideas other than a load of Zip-ties? What is your favorite way of organizing, or best solutions? Help please!

share|improve this question

migrated from superuser.com Aug 19 '11 at 0:22

This question came from our site for computer enthusiasts and power users.

closed as not a real question by David Mackintosh, Wesley, pauska, Iain, Chopper3 Aug 20 '11 at 12:17

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

1  
If you are in England, look at my profile and drop me and email! ... I think this is rather a hard question to answer though... there isn't any one right answer and it depends on the company. It just takes a lot of hard work, practice and past experience to know what to do correctly. –  William Hilsum Aug 18 '11 at 23:23
2  
The first step should be documenting existing equipment and licenses. You absolutely need a list of every piece of equipment and software license and who is using it and on what machines. I wouldn't move any further until you do this. Once you have this, then work toward a list of what you need and what equipment/software you need in addition to what you have already to make this work. Obviously, open source is your friend in a limited budget environment, but be prepared to spend a lot of time setting it all up. –  MaQleod Aug 18 '11 at 23:40
2  
This is a very interesting question (+1) that has, so far, yielded two excellent answers (by Paul and jcrawfordor). I'm not in favour of closing it. –  Randolf Richardson Aug 19 '11 at 0:03
    
I agree, it is a fascinating topic. However, in keeping with the FAQ, it must go. It has been up for an hour, I'm honestly surprised it is still open. –  David Mackintosh Aug 19 '11 at 1:03

6 Answers 6

You mention nothing about budget, so I'll assume the worst and tell you how I'd do each on the cheap. ;)

First, I'd look at what is required from the department. What services do they expect you to provide? Then I'd start by figuring out how I can use existing personnel to aid me in creating the department, as it's a lot of work for one person to organize, inventory, write policy and procedures, etc. So what are the other people's skills? Does someone seem to not be so busy and have great organizational skills? Hmm, awesome. I'd put them to work inventorying everything you have at your disposal. If no one is available, that is still the first task for you. Find out what your working with and see how you can best use it to achieve the requirements laid out to you for your department. Then formulate a plan of action, which seems like you have already been doing by posting here for help.

Then, with that plan, I'd pass it through the corporate hierarchy just to CYA.

Things I'd be looking at in that plan would be:

  1. Can you use any of the existing hardware and software, or are you going to need to budget for new stuff.
  2. Do you have any manpower? If not, how can you automate things so you're not kept too busy with menial tasking.
    1. Finally, how are you going to meld 1 and 2 together to make the project as time-efficient as possible.

That's essentially how I would start. I would then organize all remaining equipment into an obsolete pile and a potentially useful in the future pile and gain authorization to dump the obsolete pile. Trust me, if it's not been touched in 6 months it will never get touched again and you'll end up hoarding it until hell freezes over and in a small business environment (at least in my experience), space is at a premium.

Once you have the plan rolling, keep tabs on what you're doing and keep asking "why am I doing this?". Efficiency is key to getting a smooth running department and automation is useful if you're low on manpower or it's a one-man show.

As far as what hardware and systems you use, this is pure personal preference but I favor going with brand names (such as Cisco IP Phones and Dell desktops) that have support systems to back you up. Otherwise, you get bogged down in the basics of the IT department. You might also an intranet with a helpdesk ticketing system so people aren't clogging your email or phone asking for help.

As far as messaging systems, there are a few decent open-source intra-office messaging systems I like. You can go from Pidgin to RabbitMQ (free for commercial use also). Or as a PHP/Java house you could always roll your own.

I realize this isn't a very complete answer, but hopefully it's a start and maybe of some use. I do have experience doing exactly what you're doing and am on the home stretch at my current company doing just this on a tiny budget. Beware it'll take twice as long as you think. I thought I'd be up and running in 6 months, but after 9 months I'm about 60% of the way!

share|improve this answer
2  
Huge +1 for "Why am I doing this?", asking yourself that about small steps helps you understand technical systems better (why am I changing this config value? how will it fix the problem?), and asking this about big projects will help you stay efficient (Why am I setting up this product? will it actually improve something?). –  jcrawfordor Aug 18 '11 at 23:57

This is about the order I'd do things:

  1. Learn about everything. This is without a doubt the most important steps. Talk to the devs about what runs on the servers and how they interact, read the manual for the phone system, follow cables around. Ask some of the employees to make you a quick list of the software that they use a lot, and read up on those programs if they're not things you're familiar with. Make sure you understand who the providers of IT services are, and know who in the company deals with those bills and has access to those accounts. Here's the most important thing to know, though: find out who's responsible for or understands each system, so that if you don't understand it you know who to ask.
  2. Inventory everything, so you have an idea of what you have and what you need. Look in to open-source inventorying solutions, like Tracmor (paid SaS version available at tracmor.com).
  3. Analyze your needs. Are the employees short on computers? Anything aging and needs to be replaced? work with your superiors to find out your budget and make a plan to replace or buy new hardware to fill needs at the moment.
  4. Find out if there are any problems that need to be fixed right now. Talk to all the employees (face-to-face if you can, there's not that many) and see if they're aware of any problems with the IT environment right now. Make a plan to fix those.
  5. Set up communications. It's a small company, so this is easy. Make sure that all of the employees know who you are and that they can report problems to you. Have some kind of formal, recorded way for them to do so. If you're fancy, you could set up a ticket tracker, or just always have them email you and sort the emails.
  6. Now you're in to maintenance. Keep learning more about the systems, spend your free time digging in further, and watch for anything that's running suboptimal.
  7. And this is the fun part: start improving IT resources. Find out what employees think might make their jobs easier or more efficient, and research solutions. There are a lot of products out there (many of them FOSS) that claim they'll improve your business, look in to which ones you think actually will, and make a plan to implement them.

Make plans and keep track of them: having a lot of tasks to do can get overwhelming, so keep them very well organized and prioritize them. When you have a clear idea of what needs to be done and when, it's less stressful.

Communicate: Make sure the other employees know how to contact you, and keep in touch with how things are working and how things could work better. In a technical shop your 'departmental clients' are probably fixing most problems on their own, which can be both a blessing and a curse. Tell them to let you know when they encounter a problem with a system, and to tell you how they fixed it if they did (that way you know how to fix it if it happens to someone else).

There are a lot of free tools that can be your best friend. Look in to Spiceworks, its minimally ad-supported free version will spider your local network, log in to all the computers, and inventory their hardware and software. It keeps track of all this and watches for trouble (out of date software, failing hardware, etc). The whole while it has a simple trouble-ticket system built right in.

I'm sure you've seen a million ads for it, but Splunk really is a useful tool to diagnose those servers, and it's free for a small environment. If the dev staff doesn't already use it, they'll probably find it's a useful tool for them too.

share|improve this answer
    
This reminds me of my job. =P –  Randolf Richardson Aug 19 '11 at 0:01

Run, run for the hills!

Do you seriously know what you are getting yourself into? So says me - an IT Manager who has been working in the industry for over 20 years.

I am not doubting your abilities, but it's hard enough for a seasoned veteran to walk into a company with an established IT infrastructure and take over its management, let alone have the double whammy of no infrastructure AND you're learning IT Management on the fly.

Now, on a more formal note: your organisation is not that big, I presume they have confidence in your abilities and you do to so...

  1. Identify the business purpose if you haven't done already.
  2. Identify the key systems and services that help the business do what they do and make sure everything is documented - you should have both Standard Operating Procedures for business critical, regular events and a Master Operating Plan that includes the SOPs + Disaster Recovery and Business Continuity Plans.
  3. identify the key stakeholders (staff and suppliers) in all aspects of what you are there to do and keep them in the loop, seek their: advice, wishes, concerns and experience.
  4. Identify the IT-oriented risks and exposures that will stop the business from doing what they do.
  5. Place a value on the costs of not doing business for any period of time.
  6. Identify what resources you already have in house for mitigating the risks (backups, spare kit, remote sites etc..).
  7. Identify the shortfall in risk mitigation and how much it will cost to fix the hole.
  8. See whether you have any budget to mitigate the risks and decide what this allows you to do.
  9. Only when you have a solid plan for all of the above do you even think about implementing new things and making more changes beyond those you need to do for the above. Some tasks can overlap, but the fundamentals have to be right too.

Ok, you can stock up on a few spare keyboards and mouse mats, but what about when the aircon starts dripping water onto some of the kit in the server room (if you have either) - we had that last week and had to implement contingencies as the temperature rose to 30C and all the servers started to sound like they were going to take off as they were driving their cooling fans so hard.

You do remain calm in a crisis, don't you!?

Hope it goes well.

share|improve this answer
    
+1 for "Place a value on the costs of not doing business for any period of time." –  Dubs Aug 19 '11 at 17:37

For a messaging system we use Google apps. You can use your own domain name for the gmail account, conversations can be logged if you so desire, and you can use just about any chat client you want.

As others have mentioned, inventory is a big thing. Hardware and software. Document licenses(!).

If you create anything new, document it. If you learn something new, document it. If you figure out how a current service is running, document it. In other words, think of this as the beginning of your documentation library.

Work with management to find any needs they have (since they've been lacking of an IT department) then prioritize those needs. Then get their approval for the prioritization.

You're going to be the go-to guy, so you need to essentially understand how everything works, from networking, to server administration, to desktop support.

After all of that, you can start worrying about security, policies and procedures, expansions, hardware end of life cycles, purchasing, etc, etc, etc. :) You'll be very busy!

share|improve this answer

This is for the strategic approach. Small companies often grows a lot in a very short time frame. This would be a framework for you not to get a burnout if such a situation occurs.

Since i'm coming from business school (IT management), my answer may differ from what i've read here so far. I'll use a strategical approach instead of technical. You may also excuse my writing skills as my primary language is french. This may not be directly applicable since its a very small company, -this is not a framework for a one-man IT army - but starting the good way you'll be prepared for growth. This is inspired by the ITIL framework for IT service management, used by the big corps worldwide.

From my perspective, the first step in the "creation" of an IT department is not to know what it owns but to know what it offers (or from another point of view what are the other departments/business units needing from you). The IT department offers a service. Following this, you should always be able to plan, evaluate, get budgets and provide a good service (sometimes by refusing with good points some jobs vs the ressources available to the IT department)(speak business tongue: everything is possible if you give me 2,000 men and infinite cashflow).

Taking that premise, you should start by getting what services are expected from your department. It may be anything IT related (at this stage, it may appears that they're asking more than what is feasible, its better to know it at the start and get some ressources than getting a nice burnout) a few examples:

corporation wide: - a working VoIP phone network; - a working IT infrastructure (intranet, LDAP/active directory, emails, printers, etc.) - a backup infrastructure; - working workstations;

for specific departments: - softwares (accounting, purchasing, invoicing, inventory, HR, knowledge management, etc.) - IT support;

You could then write some service level agreements (SLAs) for the services you are expected to offer. Thats a contract. This will help you evaluate what ressources(time, money, humans) you'll need to fulfill your duty. This will also ensure that every parties are aware of what they get. This will protect you from tasks overload because your planning was based on those services only and if someone comes and ask you, for example, to manage 6 new servers then you know you'll get more patches to apply, more backups, etc. and you'll need more ressources. SLAs could include uptime, maintenance windows, incidents aknowledge_time response_time resolution_time, and an agreement on the metrics used to evaluate the services provided by your IT dept.

Now that you(and your customers: the other departments) know what you must do, you'll want to know what you have to do it. Inventory time, see above posts. ultra-best would be that your assets database is updated automatically. Using discovery tools/scripts to enter the data like servers firmware, softwares, databases and OS versions, etc. Since its a small company, it is still doable by hand. This database, lets call it the configuration items database(CMDB) should survive you in the corp. You'll use it when critical vulnerabilities are found to know which hosts are vulnerable, to make your purchasing, to evaluate patches needs, to remember the specific IP adress of host.wtf, licenses start and end dates(with reminders 1 months before expiry), maintenance contracts, etc.

You now know what to do, how to measure it and what you have. Since every department are running with a budget, your IT department needs one to be respectable. Evaluate and write a budget, depending on the company you may be asked to do it on a trimester basis. If you leave it to others ... good luck.

Theres a lot more but theres work for 3-4 months full time in this ... at least, since you dont have a manager to do it for you and you have your regulars tasks to fulfill also. May this help you.

Random tips:

  • do your job: meaning do IT, don't do purchasing, don't do electricity, don't repair the coffee machine. For example: prepare the purchase order, get the quote from the supplier but leave the ordering and follow up to someone that does this already.
share|improve this answer

This is the tactical part. This keeps in mind your company could grow fast. This is the difference between working for you or working for a company (well, thats what i think).

----> Inventory Management

Get a reserved, locked space for your IT inventory. (3 keys redundancy, it may be a room, locker, ..?) Try to split it in locations(boxes, shelves, use anything to split the space).

Create a naming convention for your hardware and locations.

Get a labeller (like a P-Touch) and label following the convention.

Keep an inventory. The accountant may already have a software that could help you keeps track of it and this has the plus-value that it will help him/her do the depreciation of the inventory. Avoid notepad or you'll pay for it one day. Excel/Free Office Calc with data integrity rules may be palatable as it may be imported in a future inventory application easily. Lansweeper is a nice freeware for this (requires MS SQL Server).

UPDATE YOUR INVENTORY. When moving stuff, when getting new stuff, etc. or educate the users in doing so.

----> Interoffice messaging, remote access, etc.

Don't, never, forget, the backups. And test your backups. Ok this point is made. Depending on your current IT infrastructure LogMeIn may not be the best solution. Is there firewalls, proxies, etc. if not, you'll need this don't trust the users.

A more professionnal approach would be to set up a secure VPN to your administrative server(s) and/or intranet for remote computing.

For the interoffice messaging, anything goes, you should only look for something that you can have control of. What was suggested by Ryan M. looks like it. If someone gets fired, its not fun if he can speak to customer as he is at the company.

----> Organization

Elaborate a new employee checklist of what you need to do and ask the HR or anyone who hire to send you an email before a new employee arrives. It's not fun to know the exact day the employee arrives and you have an application crashed and waiting for an order to arrive to have to create username and password etc. for that new arrival. And then, when printing the paper for the new guy, the printer jams.

Learn to use an agenda or a PDA or Outlook or anything like this. There are some frameworks for the use of those like 'Getting thing Done'. You'll get requests from the entire planet and sometime even from other planets. Schedule tasks like 'taking the inventory' and 'testing backups'.

Write documentation on what you do technically when you do it. And develop a filing system for knowledge.

Draw diagrams of business process. You could use the BPMN framework for example. So everybody knows how things are done, the workflow and its easy to train new people.

Ask for email requests Don't accept to do things when asked on the fly while you are doing something else.

Prepare forms for the most common requests You'll ensure you get all the information you need the first time and will not lose time asking for the details you need. You could refer to 'the most common requests' as 'Service requests'. I know its bureaucratic but you may add a unique number to those, so you can quickly refer to 'i'll need the form Win-102 for this'.

Get a vulcan they have no emotions and good memory.

Following all those principles should avoid you a lot of sh.t hitting the fan. Show this to your boss and ask for a raise. Two raise, since you're doing 3 jobs.

share|improve this answer