In our case, we're looking at adding another membership strategy to Partisan. The membership strategy we're looking to add is a superset of one of the existing strategies (HiScamp is a superset of Scamp functionality.)
Determine the application programming interface used between this component and the rest of the system.
Each membership strategy in partisan uses a well defined interface -- figure out how this interacts with the rest of the system and how the existing strategy (Scamp, in this case) operates using this API.
Since, we know that HiScamp is a superset of the Scamp functionality, we know that we want to extend what is already there. Therefore, we should outline a plan of incremental steps that get us to the desired goal.
For example, we can look at the protocol we are implementing and break down the work into small, incremental, chunks that can be verified as they are implemented. First, we can start taking distances into account, then we can add the L2 views, etc.
Each step should have a way to verify that the change we made is working, and that should be part of the plan.