Upload
ocean-dong
View
825
Download
1
Embed Size (px)
DESCRIPTION
This presentation is made to teach new comers about software dev process
Citation preview
Infor Confidential Copyright © 2001-2008 Infor Global Solutions
Software Development ProcessIn A Nutshell
Ocean Dong,
Manager of Infor Query & Analysis Shanghai Team
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
JobsDefine What To DeliverDecide How To Construct itConstruct ItCheck How Usable It IsDeliver ItEnsure Above Work Healthy
RolesBusiness AnalystArchitect/DeveloperDeveloperTesterThe TeamManager With The Team
Done By
ArtifactsRequirementTechnical SpecSource CodeTest Document/ScriptsExecutablesManagement
Generate
6
Dynamic View Matters Much More
WhenTo 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
13
Thanks