What’s with all the titles? January 27, 2009Posted by Jeremy in Business, Development Process, Resourcing.
Tags: Architect, Developer, Enterprise Architect, Programmer
add a comment
In today’s IT market buzzwords are definitely the sale point. Microsoft has made an artform out of changing technology names to flashy names. This also occurs in the market for resources. You will hear terms like analyst, programmer analyst, senior developer, team lead, architect, etc when it comes to the development realm. I think that the definition will depend on a company by company basis. I would like to give a brief idea of what I see as the differences.
An analyst’s job is very self explanatory. They do analysis of business systems. The main focus is to outline the business need and document the requirements. In most cases this person is semi-technical but not typically a developer.
This is someone I see as able to write code. They are given a technical specification for a system and they write the necessary logic to make it work. They should be able to write the code and troubleshoot it to make it work. Typically will not create design or architecture models.
Very simply this is an experienced developer. Typically I would say that somewhere in the 5-7 year range will transition developers into this category. Some are able to transition before that. It is primarily based on skillset combined with experience.
Architects titles will change but the general concept is that they are able to see things from a high level structure and can think though the best model for system design. They understand business, software, and systems. The architect will look at things from a long-term viewpoint to build a system that will adjust to meet needs in the future not just current needs. The person would be able to do the job of a developer but would add to that the ability to see things from a high level. This type of person has a mixture of skill and experience. Experience alone is not enough. This is not a skill that can necessarily be learned because it is dependent on ability.
This role is usually a senior developer or architect that has some level of management and mentoring responsibilities. A team lead will NOT always be an architect. Many times you will find that the person will be a developer and not have the skillset of an architect.
The enterprise architect is a higher level architect. A software/system architect would tend to focus on systems, the enterprise architect would focus on the entire enterprises architecture. This would include software, networks, external connections, etc. They will look at the overall architecture of the entire business system.
There is definitely a difference in the roles that are played. Also, there is huge difference between the titles from company to company. In some places people can move into architecture roles purely through seniority. If you are trying to hire people don’t just look at titles look at what they have done. I hope that this brief outline will give you a better idea of what you are looking for.
Outsourcing of resources December 16, 2008Posted by Jeremy in Business, Business Focus, Business Solutions, Efficiency Process, Green Business, Resourcing.
Tags: Business, development, Efficiency, Outsourcing, Technology
1 comment so far
Many people really have problems with the outsourcing of resources. That is especially prevalent in the IT arena. Many people feel that they can hire some IT resources and get a project done faster and cheaper. Yet, in many places we don’t even consider that as an option.
First, I have to give a clarification that many people make a mistake about. Outsourcing and offshoring are NOT the same thing. I am discussing outsourcing in this article Here is my general definition of the two terms:
Outsourcing – Hiring a external specialist to complete a task
Offshoring – Outsourcing that occurs overseas
Ran across an article that discusses this concept on ZDNet called “Why are you managing your own power plant?“. In this article Mr. Frome discusses how many businesses automatically think about managing their own IT resources and in many cases it might have been a better decision to outsource the work. He asks five questions that I think are very important to consider:
1. Does it give me a competitive advantage?
2. Are there companies out there who have already created what I need?
3. Are there vendors who have more expertise in this area and stronger alliances with retail partners than me?
4. Does it take up much of my internal resources?
5. Could I benefit from the economies of scale of a Software-as-a-Service (SaaS) model?
The questions are key to consider. Unless businesses have a huge IT shop with a bunch of resources who are just waiting for the next initiative it will be extremely hard to justify in house development of many of the systems.
One of the main reasons is question #3. In most cases, there are businesses out there who have more expertise in creating solutions than most business’s IT shops will have. When that is all that development shops do they have a significant skillset in that realm. In addition, many times they will have utilized that skillset to create a team that can handle most requests that they receive with ease. This is very difficult for other businesses to acheive.
Another huge point that the article discusses is question #5. It is pretty hard to answer no to that question unless you are the only customer in the world who uses your specific software. Because the vendor can share the cost of the system over many clients the cost will be lower than if you build it yourself or even have it developed specifically for you. This also means that you benefit from the ideas that other customers come up with. As features are requested and added by all businesses you benefit.
As Mr. Frome points out in his article it is technically feasible for each of us to generate our own power but we don’t because of the expense and hassle. Many companies do the same thing with legal, marketing, accounting, printing, and many other resources. IT is something that needs to be considered in a similar fashion to those specialties because in many cases IT outsourcing makes a lot of sense.
How can a virtual office work?? December 5, 2008Posted by Jeremy in Business, Green Business, Resourcing, Virtual Office.
Tags: Business, Business Process, Green Business, Resources
1 comment so far
I am a very adament proponent of the virtual office/remote employee/telecommuting model of business. I think that it is the next logical office environment for many businesses and business people. In today’s environment where expense reductions are a huge priority, energy costs are high (or will be high again), the green movement is charging, and technology is vastly improving the virtual office has not only become feasible but even sensible. I believe that soon for many people it will become a no brainer and then it will become a standard. Now, those days are still a little ways away and some businesses won’t work in that model.
Now, I have heard many positives and from other people many negatives. I think that the biggest thing that has to change to support the virtual environment is management style. In today’s environment many managers manage using presence. Their presence is supposed to be the reason that you are responsible and get your work done. That is where the adage “The cat’s away the mice will play” came from. The manager is there and he’ll be looking over your shoulder so you better get things done.
As an offshoot of that many managers believe that they have to be able to walk out to your desk and sit down and watch you work in order to portray a sense of urgency. Those same managers are usually the micromanagers that want to watch what time you “clock in” and “clock out”, how long your lunch was, your phone records, your internet logs, your conversations, your meetings, your bathroom breaks, how much coffee you drank, etc. In this way they can not be as worried about the quality of the hire, they can just lord over you.
Now, I will say those models will not work in a virtual world. They can’t. You can’t be present in a virtual office. You can’t stop by my desk if you’re in New York and I’m in Jackson Wyoming. It will not work. Many managers are very scared by this concept. They don’t see how they can manage without having these “tools”.
I have also heard that it’s too easy to just not do your work. Also, it’s too easy for the workers to get distracted. I agree to some extent and for some people. That is why hiring the right people and proper management is so important.
Change in management
I just read an article in Entrepreneur magazine that describes some of the techniques that will work well in that environment. The underlying concept was quite simple … Proper Communication. Virtual offices require communication.
In the IT development world we have a concept that is called Agile Development. Within that school of thought there is model called the Scrum model. Scrum has a few concepts that would help in a virtual environment: sprints, burn down sheets, and Scrum meetings.
First, the sprint. What is a sprint? It is a timeframe (typically a month) in which a pre-designated and agreed to amount of work will get done by the team. This sets the timeframe and amount of work and it is agreed to by all parties. It is NOT allowed to be extended.
Second, burn down charts. This is the list of items that will be completed during the sprint. This list is updated on a daily basis as a running tally of what is left. If an issue arises, items are removed from the burn down but the sprint is not extended.
Third, scrum meetings. Scrum meetings are sometimes called the daily standup. They are standup meetings that happen everyday but are limited in timeframe. They have very specific guidelines. They start on time, they are limited to 15 minutes, only stakeholders can speak, and the meetings are the same time and place every day.
So now you have a list of todo’s, a timeframe, and a daily checkpoint. You have built an accountability structure. It is very quick to see parts that are sliding. You have limited your exposure by using daily checkpoints and monthly sprints. You have a designated amount of work so you have a defined goal.
The Scrum concept is a development concept that was designed based on samples and principles from the manufacturing world. So the core ideas can be utilized anywhere. The basic model of accountability seems to be an excellent model for virtual offices.
The one other huge issue that has to be corrected is to encourage managers to hold their staff accountable. In an office it’s easier to get away with underperforming employees because they can be micromanaged. In a virtual world, you can’t do that. You need to be quick and decisive. You need to setup a quick method to reprimand. There needs to be a distinct set of criteria and a equally distinct set of steps for accountability. Companies can not afford to allow dead weight in a virtual office. They need to be decisive when someone is not pulling their weight.
As part of the accountability process, the manager has to hire the right people. You must hire people who can do the job and can follow the rules of the road. They need to understand the rules and how the team accountability works. The resource will need to be open to that. Also, you are going to look for people who strive for success.
This process is eased by using the Scrum-type structure. It sets measurable goals. The resources agree to the goals. It measures the goals. All you have to add is an accountability process.
Well this became a long post. I am very passionate about this topic. I believe that the key to the transition to a virtual office is the change of mindset in management. It must be structured better and more decisive. If those things are put in place, the virtual world can be very successful. It is where the world is headed. We need to embrace it. In the global economy luddites are not going to succeed.
What are your thoughts?
Employees are company’s most important asset December 4, 2008Posted by Jeremy in Business, Resourcing.
Tags: Business, Resources
add a comment
Okay, so I am not sure that this completely fits in the realm of efficiency, green, technology, or many of the other things I talk about but I think it is very important. I think it is of key importance to any business. I truly believe that employees are a business’s most important asset. I know that isn’t the idea that many businesses run under but I am a firm believer in that concept. If you treat people well they will treat you and your customers well and in return your business will do well. Vice versa is also true.
I just found an interesting post on American Express’s OPEN site. It is titled “As the Economy Declines Should We Expect Service to Increase?“. In it the author describes an event that shows what happens when companies don’t encourage this type of attitude with their employees. An excerpt of the scenario is:
“I was listening in to a customer call,” she said (you know, “this call may be monitored for training purposes.”) “And the customer was explaining a problem with the product. It wasn’t an area of expertise for the employee and so I expected her to say something like, “I’ll have to transfer you to the right department.” However what the employee said was shocking:
“I really don’t care.”
Now does this necessarily mean that the company was the problem and the employee didn’t have a bad attitude? Of course not, you can always get a bad apple but there are questions the business should be asking.
First of all, how do I increase morale in my business? This is important. And… no it isn’t a “Beatings will continue until morale improves” scenario. Many times employees are put in scenarios where the customers are unhappy and no one is listening to the employee’s ideas so they feel powerless to help. This can be a huge drain on morale. There are many things can lend to decreased morale.
Second question, are my employees a high priority in my business and do I demonstrate that? When the economy slowed what was the businesses reaction to compensate? Did it pull back on benefits? Did you freeze wages? Did the perks stay the same? Have people been laid off and others asked to pick up the load? Many of these things are understandable but remember what these decisions portray to your employees.
Third question, do I empower my employees? Do ask for your employee’s ideas on projects? Do you listen to feedback? Do you delegate big projects to employees? If employees feel like they are trusted and valued to handle tasks they will take on an ownership mindset. They will focus on the benefit of the organization.
Obviously, there are many other issues that should be considered. There are many times where layoffs are the right decision and where you can’t delegate to every employee but I would say you need to consider how those items are handled. Also, they shouldn’t be every day occurrances. Many morale issues are fairly easy to solve if they are handled early but will quickly snowball if not dealt with. As simple as it is with employees the old Golden Rule of “Do unto others as you would want done to you” can be a very valid technique to keep morale up. Value your employees just as you would want to be valued. If you don’t they may not value your customers.
IT Resources: Complexity of finding the right people September 16, 2008Posted by Jeremy in Business Solutions, Resourcing.
Tags: Business Solutions, development, IT Resources
add a comment
This is a very difficult topic. There are so many different ways that companies go about finding the “right” person. I have been at places where they have a specific salary or hourly range and anyone who may fit within that realm is the best fit. Also, I have seen people who will base it on years of experience. Some will simply get in all of the offers and pick the cheapest one.
I personally don’t think that any of the options that I stated above are good ways to choose. I think that you should base the decision on ability. How do you figure that out? It is not easy.
- Look for references (preferrably from previous clients that were happy)
- Look for experience in providing solutions NOT just developing software
- Look for people who have leadership and management skillsets (this will provide them the ability to work a project with more than one person to completion
The easiest way to look at this is the old cliche: “You get what you pay for”. Most of the time you will be picking up an inexperienced person or someone who really hasn’t done it before. Also, you will usually be working with someone who is going to work on it when they have free time. I have seen this option employed by people who turned into my clients after this experience. Usually, the person low-balled the offer and then failed to deliver on the timeframe or budget. This is a technique that many people will use to try to land projects. This is not to say that it will never work but I would be EXTREMELY leery of this option. After all, ask yourself this question: “If the person is really good at the job, why are they below market rates?”. Some may have legitimate reasons but most won’t.
In many cases the cheapest resource actually costs you more. Let’s say the cheapest resource you deal with is charging 35/hour and a higher level developer is charging 100/hour. Seems like a no-brainer. Be careful. With a junior or intermediate level developer the project can take 4, 5, or 6 times as long because they are not prepared. Now look at this:
If it takes the cheapest resource 40 hours at 35/hour the project cost $1400. If the experienced contractor charging 100/hour can get it done in 10 hours your cost was only $1000. This obviously can make a difference to overall cost. So, simply be careful to look for lowest COST not lowest PRICE.
Fits the salary
This really can fit into the same scenario as Cheapest Resource. You really should be looking to find someone who can fulfill your requirements for the project solution. In many cases the decision is purely a money decision. When this happens many times the projects are a disappointment. This is due to the fact that the project is driven to cut corners. I would recommend that you do an analysis to find out costs and then decide whether to proceed or not instead of setting a cost ceiling and then cutting corners.
While experience is important, in the IT industry it is not a great indicator of ability. Just because you have been around for 10, 20, or even 30 years does not mean that you have the ability to run a project from start to finish. In most cases, technology is shifting at least once every 2-3 years (getting faster each year). This means that someone with 10 years of experience probably really has 3 years of experience 3 times. What I mean by this is that they have shifted technologies and relearned it. So they have used 3 technologies each for 3 years. This is the nature of the market.
Now, I don’t want to belittle experience either. It is very important. You can learn a lot about the industry, business, and general architecture tasks through experience (no other way). All I am saying is that 10, 20, or 30 years doesn’t automatically make you the best resource.
This is by far the best measure of the resource. It is also the most difficult. I would highly recommend looking for references. Someone who has provided quality services before will have references. Make sure to look at services like LinkedIn where they can request references. I would recommend looking for experience providing the types of services you are looking for. Try to find network connections that can refer people. It is absolutely true that referrals are the best way to find this out about a person.
In today’s market, it can be very tough to find the right resource to get your solution created. Be careful of viewing the IT resource market as a commodity market. Not all developers are equal. Try to find contacts that you can trust have the ability. I have seen too many projects fail because they didn’t have the right resource it place. Try to find someone you trust that can help and advise you.
If you need any help please feel free to contact me. I would be more than willing to provide guidance and assistance.