A plug-in can be built by slicing it into top-down functionality, using top-down development approach.
When the top-down approach is mixed with an Agile development process, new functionality is delivered for each iteration. As a result, at the end of the iteration N the plug-in is completely implemented.
The top-down plug-in development approach has the following advantages.
The progress of the plug-in development is easy to show from the first iteration because new functionality is completed for each iteration and the plug-in can be released and used after every iteration.
Completing a vertical slice of functionality allows for very clearly defined success criteria and definition of what has been done, as well as better communication between developers, product management, and quality assurance (QA) engineers.
Allows the QA engineers to start testing and automating from the beginning of the development process. Such an approach results in valuable feedback and decreases the overall project delivery time frame.
A disadvantage of the top-down plug-in development approach is that the development is in progress on different layers at the same time.
You should apply the top-down plug-in development process for most plug-ins. It is appropriate for plug-ins with dynamic requirements.