Users

The user is not the same as the customer. The customer is the person who requires a new system while the user is the person who will use it. It may seem odd distinction to make but it is important. Consider a ATM (automatic teller machine). The people who use ATM's are the general public. They will not be directly involved with the bank, the customer, apart from owning a account with them. So in this case the user will not be the person who has initialised the new system. The bank would of initialised the new system and therefore would be the customer.

The user is important to consider as they are the people who will be interacting with the system on a daily basis. As such if the system does not meet their needs then the system will of failed.

Programmers

A programmer is one of the people who will be building the system. They will be taking the information passed to them by the systems analyst and using it to develop. They rarely have a direct involvement in the analysis or design of a system. They do clearly have a vested interest in the success of the project. They commonly are the ones who will spot the more subtle problems with the new system and their input is invaluable to the systems analyst. It is common for a systems analyst to talk to the lead programmer during the whole of the lifecycle to get the thoughts and ideas of the programming team.

CEO (chief executive officer)

They are the people who have a final say in everything. They will not have much involvement in the project other than to monitor its progress. Budget considerations and other mission critical decisions will normally go through the CEO.

Project manager

The project manager has a critical role to play in the project. It is their responsibility to monitor the progress and allocate resources to the project. There is normally a project manager on both the customer and developer side. The reason for this is straight forward enough. Both parties want to ensure that there are no nasty surprises coming up. For example the project is falling behind or new requirements being introduced. That means the project manager on both sides will be working very closely together.

In order for them to plan out the project successfully they need to understand how well their team work and what skills they have. It is normal for different people to have a different set of skills and to be able to tackle certain problems or tasks at different rates. It is the project managers job to ensure that they know as much as possible about their team. It is also important that they can allocate realistic estimates for different tasks. That way they can monitor the project and flag up any areas of concern quickly before they become a major issue.

Systems analyst

The role of the systems analyst is simple. They must find out exactly what the customer wants. This really is not as straight forward as it sounds. For a start most customers are not sure what they want. As a result the analyst will have to use their own experience and expertise to fill in any blanks which occur. They are responsible for conducting fact finding and producing the requirements specification. They will also suggest possible implementation methods of the proposed project. They also will monitor the project along with the project manager offering expert knowledge on the system to be built. The systems analyst is the first port of call for programmers if they have a problem or query about the requirements specification.

Business analyst

The business analyst has a very similar role to play as the systems analyst. There primary focus is to monitor the requirements specification to ensure it matches the business requirements. They will have a working knowledge of ICT systems but there expertise will be on how the business functions and how ICT can play a part in the business. They will also be the person who would of identified the need for a new system.