cs3300 fall 2015 the (im)possible dream team project description(s)

24
CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

Upload: anthony-cannon

Post on 28-Dec-2015

214 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

CS3300 Fall 2015The (Im)Possible Dream Team

Project Description(s)

Page 2: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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? 10FYI: 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 hoursTotal lines of code: 7000 * ________ = __________

Page 3: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 4: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 5: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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?

Page 6: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 7: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

Core Values (cont)

• Pyramid of Responsibility

Leaders

Management – making sure everyone has the necessary resources

Doers

Page 8: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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!”

Page 9: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 10: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 11: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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 delegation5. Communicate horizontally and vertically

Page 12: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 13: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 14: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 15: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 16: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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.

Page 17: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 18: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 19: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 20: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 21: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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.

Page 22: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

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

Page 23: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)

Sorting it Out

• As soon as practical, we will have an integration meeting to iron out the real requirements.

Page 24: CS3300 Fall 2015 The (Im)Possible Dream Team Project Description(s)