The requirements are encoded into the behavior of the current application. Read through the code and experiment with it, and produce documentation of the current behavior. For everything you don't understand, ask the original developer for clarification, and add explanatory comments directly in the source code. > I know how to deal with legacy code, my question is can i get away > with not having to deal with it at all. No, sorry. Since the requirements are encoded in the old source code and not documented anywhere else, there is no way around using the legacy code as a starting point. You will *have* to dig into into it and familiarize yourself with it, whether you like it or not. While the requirements may to some extent exist in mind of the original developer, the human memory is fallible and you will easily forget key points if you try to document the requirements from their memory.