Download presentation
Presentation is loading. Please wait.
1
Project Management
2
Option 1: Waterfall Development
Changes cheap Changes expensive Up front planning Phases: concept to detailed implementation
3
Option 2: Iterative/Agile Development
Plan, but quickly Later parts of the plan more coarse Prototype Refine Test & Evaluate Includes end-user / customer evaluation
4
Waterfall vs. Agile? Strengths and weaknesses of each?
Your team’s preference?
5
Waterfall vs. Agile? Strengths and weaknesses of each?
Waterfall strength: efficient if you can plan well Agile strength: it’s hard to plan well iterate quickly instead Waterfall weakness: planning paralysis Agile methods now dominant in software Also common in HW Spreading to other industries (SpaceX, Tesla, …) Wikipedia vs. Nupedia: agile won
6
Agile: Prototype Early
Not having a working system is very dangerous Don’t know when/if the system will work Engineers can’t test their work in the whole system Don’t know where the problem areas to improve / optimize will be Get something simple working Test & Measure Add features / Improve problem areas Repeat Keep it simple! Use simplest approach that works
7
One Flavour of “Agile”: Scrum
image: ecomcanada.org Choose features for 21-day sprint Team meets each day for 15 min scrum End of each sprint working SW for customer
8
Set Measurable Milestones
Key to keeping larger projects on track
9
Agile Development & Companies
Harvard Business Review: “Why the lean start-up changes everything” Agile development applied to entire business of start-ups Simplest possible prototype! Iterate! Image: leadnet.org
10
Project/Teams Course Roadmap
More waterfall More specification APS 111/112 More agile More implement + measure ECE 297 ECE 496: Capstone project APS 343: Engineering Leadership iLead: project management workshops Jan. 30 & Feb. 5: project management Specify & implement PEY & Career
11
Case Study: Case Study #1
12
Background My PhD thesis: new CAD System for FPGAs
Formed company to commercialize 4 people initially An early customer was Altera 10 months to produce a new “placement and routing” system for Altera’s chips Aggressive goal: 10X better than current system
13
Place and Route Example
14
Project Management Quick plan Concrete milestones Scared
1 day: estimate all tasks & time Add time margin (mine: 50%) Concrete milestones Meet a milestone every 3 months or don’t get paid! Scared Turned out to be helpful! Avoid any side projects, unnecessary complexity Get something working, measure & improve Measure our software vs. Altera’s every day
15
Outcome Hit all milestones, except first (2 weeks late)
Focused! CAD system exceeded expectations 30X less runtime 38% faster circuits Altera replaced their P & R engine with the prototype Started simple, measured where to improve Some simple algorithms still in current Quartus didn’t need more!
16
Case Study 2: (First Version of) Quartus
17
Background Altera had highly successful CAD system: Max+PlusII
Decided to do a complete re-write to a new CAD system Quartus Goals: C++ (not C) Cleaner, more extensible code Allow multiple engineers to collaborate on a project easily Allow fast, “incremental” recompiles
18
Project Management Planned for a year with no coding
Too much waterfall planning paralysis Let complexity reign Fancy user features Fancy language (object oriented C++ to the max) No working prototype for ~2 years Can’t test new features in full system Didn’t understand & measure key metric CAD system that optimizes well And is ready for next-generation chip
19
Outcome Software not ready in time for chip Software rushed to market
Not stable enough, didn’t optimize well enough Very bad customer experiences Lost sales: $billions! Rewrote & renamed later versions: Now very good!
20
Case Study 3: Hardware + Software (Stratix V)
21
State of the art for 2 years!
Big Project! More planning? 3 year project ~500 engineers at peak Yes, plan as far ahead as you can But don’t paralyze yourself Accept that plan gets coarse as you go out in time Key plan: measurable milestones 3 year project need to break up schedule Project milestones goals / milestones per team Clear must have features Everything else: nice to have > $200 M State of the art for 2 years! +
22
Agile / Iterative Development?
Build prototype / model of HW + SW system Use to evaluate and test new ideas Done by smaller team (~10 engineers) Will never ship to customers! Prototype shows good results? Build real hardware & full software Team grows to 500 Always keep system working as you improve Always measure results vs. expected (from prototype) HW & SW both in source code control Still iterative, but with more structure
23
Communication? Weekly status meeting Meeting style
For sub-teams (~8 engineers) Managers discuss results for ~8 teams (~64 people) Directors discuss overall status (~500 people) Meeting style wiki, crisp reporting Big picture progress toward milestones
24
Outcome Iterative development of HW + SW
Much better than pure waterfall Many companies: out of business by not getting full HW + SW system working Every 2nd generation: usually late! Engineers & marketing put in too much complexity Not scared enough, not enough iterative development! Late to market is terrible Competitor has twice the transistors, 1 year earlier Want to optimize, but on time more important
25
Testing
26
Testing Philosophy “If you didn’t test it, it doesn’t work”
Assume all code broken until proven otherwise Look at what the program does not what it is supposed to do Scientist: you are testing hypotheses about program Think of every case your program should handle cover them all
27
Testing Time Develop tests as or before you code
Test-driven development Prototype Refine Test & Evaluate
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.