CSE 216: Software Engineering Programming Assignment
Over the years, you’ve heard people complain about the CTO, and how he just can’t keep his mouth shut. Sure, he’s great at complimenting people and creating positive publicity, but this time he went too far.
NakedMoleRat is shaping up to be a huge success, and the CTO was just interviewed by several media outlets. The first article is airing in two weeks, and when it does, the CTO will be quoted as saying:
“We would not have succeeded if it were not for our internal social network. We built it in-house, and it made all interactions among our team members more efficient. Nobody lost information. Communication channels stayed wide open. It made us a better team.
“In fact, I think we should probably make it our next product. It’s not our core industry, but our network was so useful and I can’t imagine a company not wanting a version for themselves.”
It’s your dream come true, for the company to start moving into delivering software products. And, of course, you’re going to be leading this new product group. But The Buzz isn’t ready for public consumption. If you want to capitalize on this publicity, you are going to have to fix things up in a hurry. Put the cork back in that champagne bottle, there’s no time to celebrate or rest on your laurels. The Buzz is going to need some more work.
You have two options for how to do phase 5 of the project. The first option is to take your existing Buzz software and polish it. The first step, of course, would be to refactor and wipe out as much technical debt as possible. Above and beyond that, you would need to add a mechanism for flagging inappropriate content and removing it, and for blocking users. You should also make it so that users can edit or delete their messages entirely.
The second option is to do something unique in your version of The Buzz. Perhaps there is an organization on campus with a problem that you could solve by changing aspects of The Buzz. Or perhaps you have a start-up idea in mind. If you choose this option, you should have a clear, persona- based justification.
Regardless of which option you choose, your final phase must meet these criteria:
You are encouraged to meet with the professor to gain approval for your design, so that you are sure you are meeting the intent of the above rules. For example, while adding Admob advertisements to the Android app is a good idea, it would not be a sufficient extension, since it does not affect web or backend.
In this phase of the project, we will also cease to require students to isolate themselves to one part of the project. If your team has a real-world use case or customer in mind, then it is acceptable for team members to blur the role boundaries in order to satisfy your team’s goals. However, you must not shirk on your responsibilities for the class. In particular, a Project Manager document will still be required, and it should be written by the person who has not yet been project manager.
Each student should be in a different role than those during Phases 1-4.
Each team has already had one TA/PA assigned as a mentor, and that TA/PA will meet with students once per week, both to mentor the team and to assess its performance. Teams should take advantage of this opportunity, especially when it comes to teamwork, priorities, and technical obstacles.
Turn-in Instructions
We will make a copy of your team’s repository at some point on or after the due date. Be sure to commit and push your solution prior to the due date by branching from master into a new branch called “phase5”.
The creation and updates of this project were funded in part by the Kern Entrepreneurial Engineering Network [1]. We thank Professor Michael Spear and the Kern Family Foundation for making this project possible, and we encourage our students to emphasize the “Three C’s” in all aspects of this project.