Two Main Software Development Methodologies