Download presentation
Presentation is loading. Please wait.
Published byAnthony Cannon Modified over 9 years ago
1
CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)
2
In-Class Exercise Think of the largest piece of software you ever personally wrote Roughly how many lines of code? 1,000 Roughly how many total hours – including design, redesign, redos? 100 How many lines of code per hour? 10 FYI: really big government contracts bill at about 1 line per hour. We have 46 people from whom I can expect 10 hours a week for 15 weeks ~= 7000 hours Total lines of code: 7000 * ________ = __________
3
Project Planning [old geeze story] 3 integration cycles Each team decides the toughest part of their job First integration cycle must include these tough parts
4
Project 1: Active Book Open Source e-book with active pages – Run code from any listing – Edit and save code in any listing – Populate plots /images with program results – Text window for interaction and text results – Functionality sufficient for CS01 class (CS1371) – Implementation details TBD Language? OO? Independent of other vendors’ work Suggest using Spyder / Anaconda
5
Project 2: Mobile ad hoc Network (MANET) Program Raspberry Pi (e.g) with on-board camera to stream video to a base station Patentable algorithm for managing the ad hoc network Base station controlling remote devices Robots?
6
Core Values Individual Involvement – Discuss Task Assignments, Time Allocated – Report difficulties Leadership – Overall responsibility – Solve problems within area of responsibility – Elevate problems with larger impact
7
Core Values (cont) Pyramid of Responsibility Leaders Management – making sure everyone has the necessary resources Doers
8
Respect Individual Roles and Responsibilities Individual Abilities Management challenge: – Match ability to responsibility Can’t guarantee perfect matches – Some jobs must be done – … it’s only 16 weeks … Evaluations include understanding that you might be “taking one for the team!”
9
Management Group Architect – Vision – Interface management (document) – High-level requirements / test Allocated to teams Project Manager – Task breakdown and allocation – Discuss resource requirements Team Leaders Worst Nightmare – Me – customer who neither reads docs nor remembers what was discussed 2 minutes ago
10
Teams Text development – xml? Interfaces? Test code – target language, unit tests Infrastructure – windows, hosting, platforms Library development – naming scheme Configuration Management – regression tests QA – Observe tests, get metrics Networking project
11
Recognizing Abilities 1.Your own – apply for a job for which you have the skills 2.Other peoples’ – team effort is about appreciating that others are doing things you don’t want (or don’t have time) to do 3.Leadership – be nice; you might be one some day. 4.Appreciate delegation 5.Communicate horizontally and vertically
12
Assessment Assessing your grades will be as follows: If you (your team and you individually) show me what I expect to see, your project grade will be fine If my expectations are not met, your project grade will not look so good. The whole development process is designed to ensure that you get a good project grade The following discussion summarizes the plan
13
Staying Out of Trouble After the initial period of studying and planning, you will not be doing any work without the following: – A clear statement of your requirements – A plan for demonstrating that your requirements were satisfied – An estimate to which you have agreed of the amount of effort involved
14
But what if … But life is never that easy. What if … The requirements change? – You renegotiate the amount of effort You don’t have the resources to do the job? – Tell your leader [in writing] and renegotiate when you have the resources The task is harder than you thought – Tell your leader [in writing], think creatively about partial solutions and renegotiate
15
What if I’m a Leader? Same questions and answers as above plus … If there is a problem in your team, your first plan is resolving the problem by reallocating people If that can’t work, report the problem [in writing, with all your team correspondence] to the project manager Work with the management group to resolve the issues
16
Communicate!!! When things go wrong, it is natural to go silent. Don’t. Nobody will blame you for having a problem. The blame will come when you haven’t asked for help, the problem remains and you can’t deliver on expectations.
17
Important Parts For all this to work, There must be testable requirements at all levels There must be a detailed interface document showing how different parts interact There must be a plan for completing the project – Allocated out to teams and individuals – Flexible enough to absorb change – With enough padding in each task estimate This might take the first month of the semester
18
Prototypes at All Levels The best way to estimate the effort to complete a task is to prototype a small piece The best way to measure progress on a task is to build a series of prototypes If the prototyping is not disciplined, the whole thing degenerates to a hack-fest
19
Watchdogs The least respected but most necessary of all the job assignments is Software Quality Assurance (SQA). Their tasking: Make sure the requirements are testable Make sure the requirements and tests are correctly allocated to teams Observe and report on testing at all levels
20
Configuration Management There will be a central repository for all code and documentation The documentation will not be pretty – just useful All tests will start by extracting the necessary code and data from the repository All tests will be written up and reported to the repository
21
Immediate Activities CM, SQA – Design and develop the repository for everything, including the MANET project – Capture all the stuff and make sure checkout policies and procedures are operational MANET team – Meet with me Friday – I have a pile of perhaps worthless hardware you should review for its usefulness.
22
Other Teams Collaborative requirements development: – As a group, based on what you know and can gather from conversations with me and Michael, – Write down a list of requirements you can accomplish and how you will test them before integration into the system – Note that you may unearth some library or infrastructure requirements upon which you will depend. Capture these separately – When you’re done, commit them to the CM repository
23
Sorting it Out As soon as practical, we will have an integration meeting to iron out the real requirements.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.