It's your product manager again! He comes with some more feature requests for you. Here they are:
1. Role
2. User-Role Assignment
3. Modify User
4. Modifying Order
5. Modifying Order
You're going to do this project in pair. Some thoughts on it:
1. It will not increase the speed at which you develop things, it should increase the quality of things that you develop.
2. In real work environment, you will face three possibilities:
3. In real work environment, you will do pair programming with a lot of different people. Respect personal spaces between the both of you. Treat your pair as you want to be treated.
4. Particularly for this class, you may want to try taking turn with TDD. One person write one test, then the other make it pass. In the next turn, do the opposite. Discuss with each other why you write a test and a solution to make it pass the way they are.
Here are some rule of thumbs for you:
1. Be resourceful. You are going to develop things that you have not developed before in the classroom. Search around, don't rely on just materials from the classroom.
2. Having said that, when you encounter a problem that you never encounter in the class and you find a solution for the problem, you may be tempted to implement it directly. Don't. You can tinker with the solution you found, but don't forget to search around for the way to test it. When you're finally about to implement the solution, keep doing it in TDD fashion.
3. When faced with many new things to do, do not give up. Do the simplest thing that could possibly work first. The rest will follow.
4. Whenever you write something, always keep it simple.
5. Use the "you aren't gonna need it" principle.
1. How many features you can implement in TDD manner.
2. How well you design solutions in OOP and MVC fashion.
3. How well you justify your OOP and MVC design.
4. How much of help you be to your team mate.
5. How well you present your app in English.