Deadline: Thursday 2/20, 4:40pm
A successful project outcome often depends on successful planning. This assignment is designed to help you further develop your project planning and management skills. Further, by carefully planning your project you are greatly increasing the likelihood of a successful outcome.
In order to successfully complete your project, you first need to understand what is expected of you. You need to explore the client’s requirements and investigate what’s required to successfully complete this project. During this investigation you’ll likely discover that you may need additional information or skills that you don’t yet have to complete the project. You should spend additional time conducting personal development to help yourself prepare for the project by acquiring this information or skills.
Your group will also create a project plan/schedule that you will use for your project the entire semester. The plan will help you pace your project’s progress and ensure timely delivery of deliverables to your client. This careful planning will also help ensure that your client is pleased with your final deliverables at the end of the semester.
Credit: 15% of your grade. The instructor will assign your grade by coordinating with your client.
Submit all artifacts to your team’s Git repository. Add an entry for each artifact to your repository’s table of contents. Only artifacts listed in the table of contents will be graded. Please use Markdown for all submission artifacts when possible.
Note: Failure to submit (Git push) will result in 0 points. Failure to include an artifact’s entry in the table of contents will result in a 0 for the artifact. Double check your submission!
Cornell’s Standard Project Agreement (CSP) protects your client’s intellectual property. You are legally obligated to meet the conditions specified in this agreement.
Many of your clients will sign the CSP using Option C: The Organization is the owner of all Intellectual Property. If your client signs with this option, you are required to sanitized any privileged information when submitting assignments.
IMPORTANT! Any work that you place in your team’s Git repository should not include any privileged or confidential information.
Before you can plan anything, you must first understand what it is your client is asking you to do. Get to know your client and your project. You’ll also want to coordinate between your team members and plan out each person’s responsibilities for the project. Document each team member’s role in your team contract. Make sure you link your team contract in your table of contents.
You should probably schedule a weekly meeting with your client. Document your weekly meeting time in the table of contents. If your client prefers not to schedule a weekly meeting, please make a note of that.
Please email info5901-prof@cornell.edu if you would like us to reserve a Zoom equipped conference room for the weekly meeting. These meeting rooms put on a much more professional image compared to everyone huddling around a laptop. This is strongly encouraged.
When meeting with your client, you should take notes. (One of your team member’s role should be the meeting secretary.) Your meeting’s minutes should be shared with the entire team via your team’s git repository. This way everyone has a record of what was discussed with the client.
When meeting with your client you should:
Submit sanitized/redacted copies of all meeting minutes for this assignment. Link meeting minutes in the table of contents.
Once you’ve met with your client and you’ve got some sense of what is expected of you for the project, you’ll need to do some investigation to better understand the project.
Make a list of open questions that you and your team members need to further investigate. Document these questions in the table of contents. Next, investigate each question. In the table of contents each question should link to a document that shares the details of each question’s investigation. Remember to cite your sources.
When your team believes they understands the project and the technology required to complete the project, in the table of contents document what you believe the main goal is for the project. This will help guide your team through the remainder of the project.
While conducting your initial investigation, you probably came across some unfamiliar concepts or technology. You will need to acquire this knowledge and skills in order to this complete this project. For each team member, document in the table of contents the knowledge or skills they need to brush-up on to complete the project.
Each team member should then spend several hours conducting personal development to familiarize themselves with these concepts, technology, or skills. Each team member should document what they did for personal development, why this development is important for the project, how they conducted the development, and how long they spent on personal development. This should be around 5-10 hours for each team member. Be honest here; misrepresenting your work is academic misconduct. Be prepared for me to individually question you on your personal development.
I strongly encourage you to get the technology required for the project working during this time. Install the software you need, test it, practice with it, etc. I would also encourage you to build little examples to test that everything is working and ready to go.
Now that you understand the project, it’s time to plan the rest of the semester. In this part, you’ll develop a project schedule and a plan to protect your client’s IP.
First, identify the different activities, tasks, and deliverables you’ll need to complete the project. Produce a work breakdown structure (WBS) to help you identify any dependencies. Hand drawn is acceptable. (Take a photo of a whiteboard, etc.)
Things to keep in mind for your work breakdown:
Next, develop a schedule for the project using the template provide: schedule-template.ods. When authoring your schedule, be realistic and reasonable; avoid being too ambitious. Your plan should be conservative in scope and timing. Tasks often take longer than you think so it’s better to be conservative. Plus if you end up getting more work done than planned, your client will be excited as opposed to disappointed if you don’t even get your planned worked done.
Important! Do not make your schedule linear! This will slow down your progress significantly! Your team should be able to work on several different tasks/deliverables in parallel. The schedule should indicate this.
Things to keep in mind for your schedule:
How will you protect your client’s intellectual property? Work with your client to develop a data security plan. Document your plan and include the document in your repository.
Your plan should be clear, concise, but also comprehensive. There should be no question how you communicate about protected information. Do you use email? Do you use an encrypted channel? The plan should clearly indicate where protected data will be stored. Your plan must also include a procedure for returning and destroying all protected information at the end of the semester.
Share a copy of your plans with your client. Incorporate any client feedback back into your plan.
At this point you should have a solid plan for your project. You should be ready to start implementation in Milestone 2.