Performance aside, here's how I'd do it...
SELECT a.process_id
, a.status
, a.created
, b.status prev_status
, b.created prev_created
FROM
( SELECT x.*
, COUNT(*) rank
FROM my_table x
JOIN my_table y
ON y.process_id = x.process_id
AND y.created >= x.created
GROUP
BY x.process_id
, x.created
) a
LEFT
JOIN
( SELECT x.*
, COUNT(*) rank
FROM my_table x
JOIN my_table y
ON y.process_id = x.process_id
AND y.created >= x.created
GROUP
BY x.process_id
, x.created
) b
ON b.process_id = a.process_id
WHERE b.rank = a.rank + 1
AND a.rank = 1;