For achieve thing you need to understand magento Default order Flow:
Please check the below image for understand magento order flow

As per as my thought,You need to do coding for achieve this thing also need to create Some Order status basic of some Order state
.For create those You need to go admin>System>Order statuses.

Order status : new > processing > ready to deliver > delivered
or
For cod: new > processing > ready to deliver > pending payment > delivered
New: Make very payment method New Order Status=Pending[]
Processing: As per as,magento if you create invoice or Shipment of new order then order status goin to process and state goes to processing.
Ready to deliver or pending payment : you need to create new status for state:Processing. and manage this status status depend on payment method,you must need customization.
Prevent to stop order status order complete whenever order is already invoice or ship.
Delivered: For manage "delivered",you need to Make new Status delivered to state complete.And make Status delivered as default for state complete