Techniques Agile Software Process Behavior-Driven Development Mobile Software Development Unit testing & Object Mocking Object-Oriented Design Design Patterns