openSUSE:YaST: Writing a New Module
For completely updated information, please refer to the documentation section of the YaST development landing page. At the moment of writing, that pages contains a link to the tutorial titled "creating the YaST journalctl module". The document, targeted to developers with no prior experience with YaST, presents a very simple example of a YaST module developed from scratch and provides a good overview of the YaST architecture and development tools.
Unless you are a time-traveler from the past you probably don't want to write a new module using the deprecated YCP language. But just for the sake of completeness, the following links offer tutorials based on the old system.