Colin sullivan successful-project-presentation

Post on 11-Jun-2015

247 views 0 download

Tags:

description

Colins Presentation

Transcript of Colin sullivan successful-project-presentation

Success!Colin Sullivan

Success?

• Our aims are each different

• Wide adoption

• Learning experience

• Proud of code

• Benefit RCOS

All our projects are different.•Integration into GNOME•Learn a lot about Objective-C•Code is robust & modular•Give RCOS publicity

•Since aim for all projects are different, can’t really measure success here•But we all do something in common

•Submit a proposal to Moorthy (tell him we’re gonna do something)•Write code (Attempt to do what we’ve proposed)

Success.

Do what you set out to do.

•Might seem scary at first...•Therefore, structure goals in a comfortable way•How do you do this?

Setting Goals Effectively• Helps:

• Transparency

• NOT over committing

• Efficiency

• So, how do you practically:

• Stay transparent

• Without committing to too much

• Keep goals manageable

•Transparency:•When people are paying you, they like to hear what you’re doing.•Also, don’t want to commit to more than you can do

•Efficiency:•If you have structured goals, everyone is on the same page

3-Tier Semester Goals

• Level 1 goals:

• Bare minimum

• Level 2 goals:

• Would be cool, should be achievable

• Level 3 goals:

• Ideal conditions, everything works out perfectly

•High level goals •hope to achieve for the semester

•Level 1•Bare minimum need to achieve to NOT consider project a failure.

•Level 2:•would be cool, should be able to get to most

•Level 3:•These are things that would make the results of the semester perfect, and that you may not have time to accomplish.

3-Tiers

• Helps:

• Transparency

• Not committing to too much

• Implementation priority

Example: Concert• Level 1:

• Audio organization page is fully functional• Manage collections page is fully functional• Dashboard page is fully functional

• Level 2:• Color scheme developed and implemented• Buttons & Icons developed and implemented

• Level 3:• Pretty start page with information about application• UI is reliably responsive

• Loading notifications

AFTER goals: Time to implement

Iterative Development• SD&D is awesome

• Tons of writing about your “process”, not really practical

• Iterative Development: epitome of practical• Constant revision/re-evaluation of project & goals• Choose an applicable iteration duration

• Lots of code to get something working:• Longer iterations (2-3 weeks)

• Project already working/smaller scope:• Shorter iterations (1 week)

...but it kind of sucks

Not an expert on agile development•have found following useful

•Iteration duration•Project is large (i.e. lots of code): larger iteration time might be more useful•Smaller iteration time is useful if goals could be accomplished in a smaller amount of time

Each Iteration

• Starting a project?• First iteration:

• Attempt an end-to-end (probably terrible) solution

• In general:• Refine goals based on lessons learned• Choose next high-level goals to tackle• Create granular tasks• Contributors can make clear commitments

•end-to-end solution•Could be CLI only, or Django app without views (just models and unit tests)

•granular tasks •need to complete to accomplish goal•tasks can be assigned to people•people can make clear commitments

Example: Concert

• High level goal: • Audio organization page is fully functional

• Tasks:• Retrieving list of a collection’s audio files should

be available via REST api• Audio files panel retrieves and lists the files• ...

Success!

completion of goals == measure of success

the end.colinsul@gmail.com