ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
Software Development Process In A Nutshell Ocean Dong,  Manager of Infor Query & Analysis Shanghai Team Copyright ? 2001-2008 Infor Global Solutions
Topics Why Software Dev Process Matters and What It Is What Is a Good Process Processes Used By Shanghai Teams Best Practices For A Developer/Tester In an Iterative/Agile Process
Why Software Development Process Matters Because Software Development Is As Hard As To  Manufacture Unknown With Brains + + + Which is probably equal to
Software Development Process Is The  Way Of Organizing  Resources To Construct Software And Deliver It  On Time With Expected  Quality
Static View At A Process Jobs Define What To Deliver Decide How To Construct it Construct It Check How Usable It Is Deliver It Ensure Above Work Healthy Roles Business Analyst Architect/Developer Developer Tester The Team Manager With The Team Done By Artifacts Requirement Technical Spec Source Code Test Document/Scripts Executables Management Generate
Dynamic View Matters Much More When To Do Each Type Of Work Determines Whether A Process Is  Good  or Not
Waterfall Process Model Project Development Life Time
Why Waterfall Often Falls Requirement Always Changes Code Goes To Chaos And Becomes Fragile Quickly Architecture/Design Becomes Out-of-date Soon Bug Count Never Goes Down Testing Can Never Be Finished ¡­ Software Is Thought Soft  But It  Never  Is
Iterative Process Model Project Development Life Time Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 ¡­
Why Iterative Process Works Honest and Modest. No Big Plan. No Prediction For Requirement. No Over-Design. Planning Periodically React To Requirement Changes Instantly Architecture/Design Grows On-Demand Keep Refactoring Test Earlier. Test Often. Fix Bugs Instantly.
Iterative Process Models in Shanghai Teams RUP (Rational Unified Process) Long Iteration (4-6 weeks) Use Case Driven Fixed Assignment Design First Planning and Coordination By Manager/Leader Scrum Short Iteration (2-3 weeks) User Story Driven Dynamic Assignment Small Design Or No Planning and Coordination By Self Managed Team
How Developer/Tester Fits In Iterative Process Plan & Estimate First When being Assigned With Work In An Iteration Keep Re-estimating Needed Time For Left Work and Reveal Risks Instantly Improve/Refactoring On Past Artifacts Implement limited Extensibility For Future Iterations Don¡¯t Limit Yourself. Know And Get Involved in Others¡¯ Work Necessarily. You Succeed Only If The Whole Team Succeeds In An Iteration Make Suggestion/Improvement To The Process
Thanks

More Related Content

Software Dev Process In A Nutshell

  • 1. Software Development Process In A Nutshell Ocean Dong, Manager of Infor Query & Analysis Shanghai Team Copyright ? 2001-2008 Infor Global Solutions
  • 2. Topics Why Software Dev Process Matters and What It Is What Is a Good Process Processes Used By Shanghai Teams Best Practices For A Developer/Tester In an Iterative/Agile Process
  • 3. Why Software Development Process Matters Because Software Development Is As Hard As To Manufacture Unknown With Brains + + + Which is probably equal to
  • 4. Software Development Process Is The Way Of Organizing Resources To Construct Software And Deliver It On Time With Expected Quality
  • 5. Static View At A Process Jobs Define What To Deliver Decide How To Construct it Construct It Check How Usable It Is Deliver It Ensure Above Work Healthy Roles Business Analyst Architect/Developer Developer Tester The Team Manager With The Team Done By Artifacts Requirement Technical Spec Source Code Test Document/Scripts Executables Management Generate
  • 6. Dynamic View Matters Much More When To Do Each Type Of Work Determines Whether A Process Is Good or Not
  • 7. Waterfall Process Model Project Development Life Time
  • 8. Why Waterfall Often Falls Requirement Always Changes Code Goes To Chaos And Becomes Fragile Quickly Architecture/Design Becomes Out-of-date Soon Bug Count Never Goes Down Testing Can Never Be Finished ¡­ Software Is Thought Soft But It Never Is
  • 9. Iterative Process Model Project Development Life Time Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Planning Analyzing Design Coding Testing Iteration 1 Iteration 2 Iteration 3 Iteration 4 Iteration 5 Iteration 6 ¡­
  • 10. Why Iterative Process Works Honest and Modest. No Big Plan. No Prediction For Requirement. No Over-Design. Planning Periodically React To Requirement Changes Instantly Architecture/Design Grows On-Demand Keep Refactoring Test Earlier. Test Often. Fix Bugs Instantly.
  • 11. Iterative Process Models in Shanghai Teams RUP (Rational Unified Process) Long Iteration (4-6 weeks) Use Case Driven Fixed Assignment Design First Planning and Coordination By Manager/Leader Scrum Short Iteration (2-3 weeks) User Story Driven Dynamic Assignment Small Design Or No Planning and Coordination By Self Managed Team
  • 12. How Developer/Tester Fits In Iterative Process Plan & Estimate First When being Assigned With Work In An Iteration Keep Re-estimating Needed Time For Left Work and Reveal Risks Instantly Improve/Refactoring On Past Artifacts Implement limited Extensibility For Future Iterations Don¡¯t Limit Yourself. Know And Get Involved in Others¡¯ Work Necessarily. You Succeed Only If The Whole Team Succeeds In An Iteration Make Suggestion/Improvement To The Process

Editor's Notes

  • #3: Introduce wiki page
  • #4: Introduce wiki page
  • #5: Introduce wiki page
  • #6: Introduce wiki page
  • #7: Introduce wiki page
  • #8: Introduce wiki page
  • #9: Introduce wiki page
  • #10: Introduce wiki page
  • #11: Introduce wiki page
  • #12: Introduce wiki page
  • #13: Introduce wiki page