Transform functional and non-functional product requirements into software components (source code) that comply with specifications, architecture guidelines, and coding standards. It includes understanding the specifications/requirements; design, code and test software components unitarily; automate unit tests; commenting/documenting standards-compliant