Work in progress is work that has been started but not completed. The Lean approach to Agile thinking, pioneered by Taiichi Ohno at Toyota sees work in progress and potential waste.
Obviously waste is a very provocative term. But work that has been started has had effort put into it: effort that costs time and money and no value has been received from that work. In manufacturing it’s sometimes easier to see work in progress than it is in software development. Parts pile up next to the work station where they are intended to be used. Products that are waiting for final quality checks fill warehouses. Lorries waiting to deliver supplies queue outside the factory.
In software development it’s much harder to see work in progress. One of the most basic problems with software is that it can’t be seen. The most obvious way of detecting work in progress in software development is to look for anything that has been worked on, but has not yet been made available to the people who are finally expected to use it. So software that’s been developed that is waiting to be tested is work in progress. Software that has been developed that is await a review by some committee is also work in progress.
Perhaps less obviously, detailed analysis is work in progress. Detailed planning is also work in progress.