There are many ways. Energy dissipation parameter of sensor node need to be reduce. Energy dissipation for procesding will be lesser than tranmission energy. This also is important factor.
Well, to increase the lifetime of the network various policies need to be developed on different layers. For instance, need to choose proper routing protocol (reactive is preferable). In MAC layer also sleep and awake or scheduling based protocols can be used which saves the energy of the node. Sometimes researchers use some smart techniques to send the data. For example, in temperature WSN type application, similar sensed reading should not send again and again. If big temperature variation occurs then node will send the data. It doesn't have any relation with network but using this technique energy can be saved.
To enhance the life time of sensor you can modify topology of your network.Reduce the communication among the node as much possible.so that there will less energy consumed by sensor nodes and they can survive long.
To improve life time of sensor you can do so many modifications. Life you can change routing protocol or you can update routing protocol such that minimum energy is consumed. You can also change topology in such a manner that you only important data is to be transmitted so that less energy will be used in transmission purpose, because in wireless communication (as we all know) most energy is consumed in transmission purpose.
To enhance the life time of the WSN you need to optimize the parameters of the: nodes, routing protocol, correctly choose the trajectory of the nodes ( if they are mobile nodes ). With this optimization with sure you will get better performance of the WSN, less energy consumption, and you will also need to reduce the energy consumption by sensor nodes when they are in sleep mode.
While all the above replies are correct, you additionally have to take a look at your implementation. What kind of sensors you are using and can you change them to ones that consume less power? What is your sampling rate with those sensors and can you reduce it? What kind of processing you do on the node to reduce the amount of communicated data? What do you communicate, raw data in elementary samples or do you collect numerous samples and transmit them in batches or averages, etc.? Do you use compressed end-to-end protocols, like 6LoWPAN and CoAP, instead of full-blown IP packets? Can you reduce your receiver on-time by sleeping and do you also switch off your MCU when sleeping? With inappropriate MAC protocol you diminish your node lifetime easily by 50%, so select your MAC to suit your application.
As stated above, there are many ways to improve energy efficiency. You can apply all solutions mentioned above but most important, you should careful think to the design of your whole application stack and define properly the frequency of messages you spent, the frequency of sensing, etc You can also decrease the transmission range.
Increasing the lifetime of a sensor network is one of the evergreen research area. So much is already done and still you always find new papers on the subject. Everything is important here as already stated by many researcher's. You can have a survey of papers available in the net on these.
To add to the suggestions already given ,,,,, the type of cluster head selection algorithm used, the way the transmission power is controlled by selecting the best cluster head and with time how new cluster heads are selected is very important to increase lifetime.
Moreover, one needs to also consider the load in the network, so some research is done on selecting the number of nodes which can be allowed in a cluster. Then the topology of the nodes, or the way the sensors are placed in a network is also important. Some researchers use mathematical means to find the optimal topology of the nodes so as to minimize energy consumption.
Because the nodes which are closer to the base station carry more relay traffic, some work is done on making Relay nodes whose job is to only relay the packets and not sensing of data. Moreover, the optimal number of such relay nodes, depending on application can also help in optimization. I have co authored some papers addressing these issues. There are also papers on the position of the relay nodes for getting performance enhancement. In short this is a very complex and interrelated issue ... so many solutions exist and still research going on.
lifetime of network depends on lifetime of nodes... If we try to enhance the node's life, then the network life automatically increased.. some of the method to improve the lifetime of node/network.....
1. Proper deployment method
2. Sleep scheduling algorithms (if you are using high dense network) to reduce number of active nodes.
3. Clustering methods and multihop transmission for data collection and transmission.
4. Improved low weighted ( low bw, low routing table updation cast..) data centric routing protocol to reach base station.