13
Infor Confidential Copyright © 2001-2008 Infor Global Solutions Software Development Process In A Nutshell Ocean Dong, Manager of Infor Query & Analysis Shanghai Team

Software Dev Process In A Nutshell

Embed Size (px)

DESCRIPTION

This presentation is made to teach new comers about software dev process

Citation preview

Page 1: Software Dev Process In A Nutshell

Infor Confidential Copyright © 2001-2008 Infor Global Solutions

Software Development ProcessIn A Nutshell

Ocean Dong,

Manager of Infor Query & Analysis Shanghai Team

Page 2: Software Dev Process In A Nutshell

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

Page 3: Software Dev Process In A Nutshell

3

Why Software Development Process Matters

Because Software Development Is As Hard As To Manufacture Unknown With Brains

+ + +

Which is probably equal to

Page 4: Software Dev Process In A Nutshell

4

Software Development Process Is

The Way

Of Organizing Resources

To Construct Software

And Deliver It On Time

With Expected Quality

Page 5: Software Dev Process In A Nutshell

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

Page 6: Software Dev Process In A Nutshell

6

Dynamic View Matters Much More

WhenTo Do Each Type Of Work

Determines Whether

A Process Is Good or Not

Page 7: Software Dev Process In A Nutshell

7

Waterfall Process Model

Project Development Life Time

Page 8: Software Dev Process In A Nutshell

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

Page 9: Software Dev Process In A Nutshell

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 …

Page 10: Software Dev Process In A Nutshell

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.

Page 11: Software Dev Process In A Nutshell

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

Page 12: Software Dev Process In A Nutshell

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

Page 13: Software Dev Process In A Nutshell

13

Thanks