Tuesday, 20 March 2018

An Introduction to Enterprise Architecture

An Introduction to Enterprise Architecture

In this series I’m going to be looking at enterprise architecture. Over the last few years many of the projects that I have been involved with have involved complex digital transformation for large organisations. Delivering change in a large organisation can be a complicated and difficult process. The purpose of Enterprise Architecture is to align IT and IT systems to the business goals and objectives. When you break down to that sentence it seems full of common sense and it should be a common sense approach to take. However, business and IT alignment hasn’t always been the case, and in recent years more and more businesses are looking at their IT function as a key business driver as opposed to a cost centre. Enterprise Architecture can help with that… some of the terminology can be confusing and the nature of people who I will call stakeholders in the enterprise and how they react to and resist change can add to the complexity and delivery of enterprise architecture and business change. In this short series we are going to attempt to remove some of the confusion.

There are various tools frameworks and methodologies dedicated to Enterprise Architecture, The Zachman Framework and The Open Groups Architecture Framework being the most common. This series will try and remain framework neutral but we will make reference to these frameworks as we go along, and call on them where they provide a useful definition.  Just a caveat to note, we are TOGAF certified and work extensively with the TOGAF ADM. So if I seem to favour TOGAF over other frameworks you know why.

Lets start with some terminology

What is an Enterprise?

Let’s start by answer a simple question that can sometimes cause a lot of confusion. What is an Enterprise? It causes confusion because it can mean anything from a department that sits inside an organisation or a large organisation that consists of many departments’ suppliers and customers. The latter is called an extended enterprise. TOGAF defines an enterprise as “any collection of organisations that has a common set of goals.”

TOGAF goes on to list some examples including

  • A whole corporation (for example Learning Tree)
  • A single department (IT department)
  • A chain of geographically distant organisations linked by common ownership (I think amazon, amazon distribution and AWS as an example here)

From an enterprise architecture perspective the term enterprise can be used to represent the entire organisation (or extended organisation) or a specific area or department within and organisation. Using a fictitious insurance company as an example the Life Insurance arm of a large insurance company could be represent an enterprise  all of its own.

What is Architecture?

We will also look at some definitions of architecture
ISO defines architecture as
“Fundamental concepts or properties of a system in its environment embodied in its elements, relationships, and in the principles of its design and evolution”
TOGAF embraces but does not strictly adhere to the ISO definition of architecture. In fact in TOGAF architecture can have two meanings, the following is taken from Chapter 3 of the TOGAF document. Section 3.8 which provides a definition of architecure:
1. A formal description of a system, or a detailed plan of the system at component level, to guide its implementation (source: ISO/IEC 42010:2007).
2. The structure of components, their inter-relationships, and the principles and guidelines governing their design and evolution over time.

What is Enterprise Architecture?

What is enterprise architecture? This again is an interesting question that can have many answers. I tend to think of enterprise architecture as being a strategic, business and technology perspective analysis of an enterprise  and documenting an enterprise in its current (as is) and future states (to be).
Enterprise architecture is all about aligning the IT and IT systems to business goals and objectives.
It can be used to optimize legacy sometimes fragments systems and processes into integrated environment that is responsive to change and supports the business’s goals. And as everyone knows you have to change to survive to that end enterprise architecture can help deliver that  change. In the age of digital transformation being a key business enabler understanding what you currently and where you want to get to can help you make key decisions on what needs to change in order to get to the desired future state. I was going to use end state, but you never really get to an end state. Just a state whereby you can change again.

If you do enterprise architecture well you can expect

  • Lower business costs
  • A more agile organisation
  • Business capabilities shared across the organisation
  • More efficient IT operation
  • Lower software development costs
  • Increased application portability
  • Improved ability to support enterprise wide initiatives 
  • Improved and simpler procurement

As you can see in theory Enterprise architecture should bring with it a number of benefits to the organisation. Which is why people spend time and effort in trying to get it right.

Monday, 19 March 2018

# Not the GDPR News

# Not the GDPR News

Mark Williams and myself will delivering a seminar called #Not the GDPR news in Cardiff on the 19th April...

#Not the GDPR News

This is not a session on GDPR!

This is the session abstract

Wonder why projects fail? Want to spot the signs of failure? Want to know how to turn failure into success? CPS Group are hosting an Interactive Seminar with Wyeden’s Mark Williams & Gethyn from gethynellis.com (40+ years project experience between them). Wyenot come along, enjoy some drinks & food, chat with peer’s, listen & join in as you wish…& have fun?

It is free for you to register...click  the link which will take you to the EventBrite website. Your name and email address is all you need to register. If you register and come along to the session on 19th you'll not only get a great session but there will be some free drinks (beers and soft drinks) and nibbles too. 

If you know someone, a friend or colleague who would also enjoy this session feel free to forward it on to them.

Thursday, 15 March 2018

Why contractors need recruitment agents?

Welcome to WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships. My name is Gethyn Ellis I have been running a SQL Server consulting and training practice for the last ten years. You can check out my website and blog gethynellis.com and feel free to connect with me on twitter and LinkedIn – we follow back J
In this short video we will discuss why IT contractors need recruitment agents

In this short post and video we will discuss why IT contractors need recruitment agents

Why Contractors need Recruitment Agents?

Any business needs a sales team. If you are contractor running a small business you can try and do the sales work yourself, when it comes to sales you have a few options or combination of options for trying to do this yourself some of the tasks include:

Inbound marketing - blogs, social media
Networking - networking events and conferences
Cold calling - picking up the phone and phoning people to talk about their requirements

Inbound marketing and Networking I quite enjoy. Cold calling though is not for so using an agent who will do the bulk of the cold calling for you suits me just fine.

There is a really great article over on Contractor Calculator that discusses the pros and cons of using an agent to secure contract work and I have already touched on the idea of making sales directly with the end client. (https://www.contractorcalculator.co.uk/should_contractors_use_agents.aspx ). The article suggests that while it may appear you can earn more money by ‘cutting out the middle man’ the agent in this case and doing all the sales work yourself, the reality is the work involved in terms of time and effort that would go into making the sales yourself is not as cost effective as using an agent. 

You will very likely make more money – have billing clients for longer periods without contract gaps if you outsource the sales process and use an agent. You mileage may vary but this is what I have found too over the years. Using agents has minimised gaps in billable days. 

Lots of entrepreneurs have stated that when  building a successful business, surround yourself with people who love doing all the things that you don’t enjoy and some sales tasks, particularly cold calling I definitely don’t enjoy. They also say that Sales is key to any business survival so if you’re an IT contractor agents can be key to that sales process and your business success.

What recruiters are not

They are not technical experts or SMEs in technology.  They are sales people. Their job is to send suitably qualified people who can fulfill a requirement, i.e. solve a problem (first rule of sales) for their client. His or her skill is finding someone to help meet the end users requirement.  Your job as a IT Contractor, if you want to best utilise an agent as part of your sales team is to make it easy to demonstrate that you have the skills needed to solve the problem. This makes it easy for the agent to put you in front on the client…

Your CV needs to be spot on and targeted for the role – otherwise what chance does the recruiter have in getting you in front of the client? Which is the aim of the game. You need to help the agent as much as possible by providing them with a tailored targeted sales brochure. Also called a CV.

Somethings else to consider, it’s also not the job to get the contractor the best rate. The best situation for a recruiter to maximise their revenue is over sell the rate for the service to the client and pay the contractor the as little as possible thus making their margin as big as possible. That’s their end goal.
As long you go in with your eyes open and understand that it’ll help with the whole process.

Remember you can negotiate this is a business transaction…and you can always say no. An agent would rather have the deal done than the contract still sat on the table – if you don’t agree to the deal – they have to find someone else and a 15% margin is better than a 0% margin. If the agent finds someone for a contract and the margins work out for everyone – it’s a win win.

Tuesday, 13 March 2018

Allowing Azure Service to Connect to your Azure SQL server.

Allowing Azure Service to Connect to your Azure SQL server.

In this video David will look at the impact of allowing you Azure SQL databases to work with other Azure services and the knock of effect of setting the option "Allow Access to Other Azure Services".

In short, setting this option,  doesn't limit connections from just your Azure subscription. It allows Any Azure Service  from any Azure subscription  to connect to your SQL Database. In the video David demonstrates this...

The following is David' abstract from David's  the post on YouTube...

"If you want your Azure SQL server to interact with your Azure services you need to update your firewall rule to "Allow Access to Other Azure Services" . This seems pretty straight forward and sensible BUT there is a major weakness regarding this setting that you must be aware of. Watch my video find out more..."

If you have watched the video do you think its a security flaw? David discusses this too.

Any comments on thoughts please leave them in the comments here or leave them on David's YouTube Channel

Thursday, 8 March 2018

Win at IT Contracting: The recruitment Agent Business Model

WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships

Welcome to WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships. My name is Gethyn Ellis I have been running a SQL Server consulting and training practice for the last ten years. You can check out my website and blog gethynellis.com and feel free to connect with me on twitter and LinkedIn – we follow back.

How do Recruitment agents generate revenue?

In this post we will look at the recruitment agent business model. If you understand how your business partners generate revenue from your business relationship. Understanding that relationship and that business model, will help you get the most of that relationship.

From various conversations, blogs, articles  and forum posts I have read over the years I fully appreciate that this can sometimes be a point of contention in that relationship. The purpose of this post if to try and help you understand the process, allow you get the most of out it and realise that it should be a win-win relationship. All parties benefits from it.

There are a couple of revenue models that I’m aware that contract agents use when setting up a contract:

  • Fixed price – the agent earn a fixed rate regardless of the contract value. For example, they will agree with the client that their fee for finding and pacing  a contractor will be say £20 a day regardless of the value of the contract. So they get x regardless of the rate of the contractor. I don’ think the fixed price model is very common, at least in my experience. The most common model I have found is… 
  • On margin – Recruitment agents usually make their money on the spread of the contract value. You could and probably should argue they are re-sellers of IT services. They buy for £x and sell at £y

Recruitment Agents Margin

When you contract using an third party or an agent there will be at least two contracts between you and the end client.

There will be one contract between the end client and the agent – who agree to supply a contractor or consultant at £x day rate

The second is between the contract agent and you the contracting supplier – the supplier agrees to provide the services for £y day rate 
The agent is effectively sub-contracting the work to your company. Therefore we can work out the agent fee by calculating £x - £y = Agent revenue

For example, the figures here are contrived and used only for illustration purposes. You as the contractor might have a contract that says you’ll provide a consultant on time and materials basis for the upgrade of a database platform to the latest and greatest version. 

  • The agent has an agreement with the end client to provide services for £120 (£x)
  • You agree to provide services £100 (£y)
  • Agent Revenue = £x - £y = £20 so they have margin of just 17%
  • Contract value is £120 – cost to the end client (100%)
  • Contractor receives £100 – 83.33 % of the contract value
  • Agent receives £20 – 16.66% of the contract value

It’s typical for an agent fee to be in 20% region.  There is no hard and fast rule around this though and the margin rate can vary depending on the skills and services that are being supplied. The percentage margin could be as low as 5% or as high as 40%

Lets at another example, if the agent agrees to find a contractor for a customer at say a day rate of £600 a day and they make an agreement with you the contractor to provide the services for £300 a day, the agent’s margin is then £300/day or 50%. 

The important point for the contractor here is to know your market day rate. So you don’t end up in this situation where you are resenting the agent for making and achieving a good deal for themselves at what you perceive  as a cost to you. 

Early on in my business, I may have made the mistake of  not negotiating my  day rate properly possibly not as severe as the above scenario but the agent did out maneuver me in the negotiations so I ended making less than I could have done if I had more nous about me the process and the agent had a healthier margin for them– but that’s business and at the time I was happy with the rate I achieved so I was never bitter about it.

Contractor contention about agent margin 

This margin can sometimes be a bone of contention for some contractors particularly if the situation above arises. The contractor  can feel that agent is taking their share of what the contractor belives to be their revenue. This is not the case. For a contractor businesses the agent margin represents the cost of sale. But you don’t have to part with any money. The situation I described above is a maybe a little contrived …but not an impossible situation to find yourself in.  However as long as you know the true market value of your services, and you think through the whole situation from end to end and appreciate that there is always a cost to doing business. 

If you want to increase your share of the margin then you need to improve your negotiating skills and negotiate with the agent to get the best rate possible.

That brings us to the end of the second post – looking at the recruitment agent business model. My name is Gethyn Ellis, check out our website at gethynellis.com follow on twitter @gethyn_ellis and connect with us on LinkedIn too.

Check out the first post in the series What do recruitment Agents do for Contractors

Tuesday, 6 March 2018

Identify the owner and then change the owner of a SQL Agent Job

In this post and video you will learn how to identify the owner and then change the owner of a SQL Agent Job.

Have you ever had issues where the owner of a SQL Agent job leaves and their windows active directory account gets deleted/removed/disabled and the job(s) they own then stops working?
I was doing some SQL Server security work for a client recently. Part of that process involved changing the authentication mode of SQL Server from Mixed Mode to Windows only, disabling the built in SA account and locking things and removing components not used to reduce the surface area.

This process involved cleaning up old logins but some of the logins I wanted to remove were the owner of some SQL Agent jobs that were still needed and executing on a schedule. I needed to change the SQL Agent job owner for these jobs.

There is an argument  for setting all jobs to be owned by SA, you might have a different approach such as creating an account or login specifically for owning SQL Agent jobs – whatever approach you take you might want to avoid having jobs owned by users – if the users leaves the job might just unexpectedly stop working

The first thing I wanted to do was identify all the jobs on the instance and their respective owners – allowing me examine the problem

List job name and owner

The following query return the owners of a SQL Agent Job. It’s a join query getting data from the msdb.dbo.sysjobs system table and the DMV sys.server_principals

SELECT J.name AS Job_Name
, P.name AS Job_Owner
FROM msdb.dbo.sysjobs J
sys.server_principals P

ON J.owner_sid = P.sid

You can see from the results below that the owner of my all my jobs is a login called Gethyn

Just in case Gethyn leaves, or I need to move the job to another server which doesn’t have a login called Gethyn on it or its created with a different SID to the current server I want to change all these jobs to be owned by SA

Updating the SQL Agent job owner 

There is stored procedure in MSDB that allows you to change the attributes of Agent jobs including updating the SQL Agent job owner. The stored procedure is called SP_UPDATE_JOB. 

A Script to Create a Script

The next script is going to generate a script that is going use the SP_UPDATE_JOB stored procedure to change the job name.

I could wrap this in some dynamic SQL but I want to check my script manually before I execute the script. It will also give me some documentation as to what I have changed too.

It’s a SELECT statement that concatenates the TSQL needed to execute SP_UPDATE_JOB and passes some of the values of a SELECT from the first query above, providing a final statement to change the job owner of the jobs to SA. 

Before executing the below I change the query result output to be text (not grid) then execute the query

SELECT  'exec msdb..sp_update_job
        @job_name = '''+j.name + ''',
        @owner_login_name = ''sa''
FROM msdb.dbo.sysjobs J
sys.server_principals P
ON J.owner_sid = P.sid
Execute the query select all the text in the result pane to text in management studio, take the results of the query and paste into a new query window. Execute the script pasted into the  new query window to rename the necessary jobs.

exec msdb..sp_update_job
        @job_name = 'Test',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'syspolicy_purge_history',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - USER_DATABASES - LOG',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseIntegrityCheck - SYSTEM_DATABASES',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - USER_DATABASES - FULL',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - SYSTEM_DATABASES - FULL',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'Output File Cleanup',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseBackup - USER_DATABASES - DIFF',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'sp_purge_jobhistory',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'CommandLog Cleanup',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'DatabaseIntegrityCheck - USER_DATABASES',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'sp_delete_backuphistory',
        @owner_login_name = 'sa'
exec msdb..sp_update_job
        @job_name = 'IndexOptimize - USER_DATABASES',
        @owner_login_name = 'sa'

If you re run the first query that shows us the list of jobs and their respective owners you can see that they are all now owned by the SA account.

If you need help with SQL Server check out our SQL Server Consulting page, or use the book a free appointment

Thursday, 1 March 2018

What do recruitment agents do for contractors?

WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships

Are you a contractor or thinking about starting a contracting business? Are you an IT contractor running your own business already, but don’t quite understand the agent/contractor relationship and how it can be key in business success?

If you have done any research at all in this area you will have come across the concept of a recruitment agent or recruitment consultant. As a contractor, if you can build and maximise your working relationship with recruiters and agents – you can have a very healthy revenue stream. In a series of videos we’ll show you have can best maximise your relationship with contract agents… all for free. At no cost to you the contractor!

Welcome to WIN at IT contracting: A FREE guide showing YOU How to get the most out of Recruitment Agent Relationships. My name is Gethyn Ellis I have been running a SQL Server consulting and training practice for the last ten years. You can check out my website and blog gethynellis.com and feel free to connect with me on twitter @gethyn_ellis and connect with me on LinkedIn – we follow back!

What do recruitment agents do?

Let’s start by answering the question what do recruitment agents do? Remember we are looking at this from a purely contracting perspective. Recruitment agents are used in the recruitment of permanent staff but it works differently in that scenario…In contracting it is a business relationship where by the agent represent the contracting businesses sales teams, granted outsourced to a third party.

In essence contractor recruitment agents match contractors to contractor opportunities, working with clients and customers to help meet their skills requirements and solve problems for the client.
Much like an estate agent matches buyers and sellers or landlord and renters of property. In fact you could say that house sales are similar to permanent recruitment and rentals are more like contracting. With house sales agents get a one-time fee at time of sale, with rentals the agent will likely make a percentage of the monthly rent each month while the property is being rented. We’ll talk about how agents make money in a later post.

Contract recruitment consultants’ source new opportunities, edit and optimise CVs, and even provide pointers to help contractors prepare for initial client meetings  or sometimes called Interviews.

There is a fair chance that you will not be only person being represented by the agent for this role. The agent will try and gather feedback from all contractors they send across for an initial meeting, if the initial contractor is not successful any extra information the agent has for that next contractor going to the meeting will help that contractor prepare. As a contractor you might not enjoy the idea of providing feedback on the initial meeting or interview process, you might feel that you are helping someone else get the job. How much feedback you provide is really up to you. The more you give the better the chance of the next person the agent sends through for a meeting has of being successful… Don’t feel like you’re giving another contractor the opportunity instead of you. The opportunity has gone for you and if you help someone else get the contract then that’s another contract filled. 

I’m usually always happy to provide as much feedback as I can as I have definitely benefited from other people’s feedback going into these meetings. I will also try to document any feedback for my own perspective and use regardless of whether or not I am successful in securing the contract. If the meeting didn’t go well I have a record of why so next time I know where I need to improve my pitch, it’s a learning opportunity.

For me agents and recruiters are my businesses sales force – therefore a key component of business model and keep the cash flow flowing and managing that process with feedback, both ways is quite important to me.

What Recruitment Agents Good At?

Recruiters are sales people and therefore have several skills that beneficial for my business
Identifying sales opportunities
Cold calling
Arranging the contracts and paperwork
Everyone of the agents I have ever worked over the last 10 years has ALWAYS paid on time
They will negotiate any extensions and arrange the paperwork, I usually know if a contract is going to be extended before the agent does. After all I’m much closer to the project, its requirements and delivery status. This puts me in strong position. I can start the negotiating process when I know it’s likely to happen. But agents they will still get all new contracts issued paperwork tied and sorted out. and usually within good time.

That brings us to the end of the first post – answering the question what do recruitment agents do? And the simple answer is they represent my company’s sales force. My name is Gethyn Ellis, check out our website at gethynellis.com follow on twitter @gethyn_ellis and connect with us on LinkedIn too.

Featured post

Creating a Linked Server to an Azure SQL Database

Why would you create a Linked Server to an Azure SQL Database? If you work in a hybrid environment with some databases stored on your on ...