Documentation says, `serializable` transactions execute one after one.

But in practic it seems not to be truth. Here's two almost equal transactions, the difference is delay for 15 seconds only. 

#1:

```
set transaction isolation level serializable
go
begin transaction
if not exists (select * from articles where title like 'qwe')
begin
waitfor delay '00:00:15'
insert into articles (title) values ('qwe')
end
commit transaction go

```

#2:

```
set transaction isolation level serializable
go
begin transaction
if not exists (select * from articles where title like 'qwe')
begin
insert into articles (title) values ('asd')
end
commit transaction go

```

The second transaction has been run after couple of seconds since the start of first one.

The result is deadlock. The first transaction dies with 

```
Transaction (Process ID 58) was deadlocked on 
lock resources with another process and has been chosen as the deadlock victim. 
Rerun the transaction.

```

reason.

The conclusion, serializable transactions are not serial?