18

Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Embed Size (px)

Citation preview

Page 1: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers
Page 2: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

OverviewCoding Practices

Balancing standards

Configuration Management Providing Change Control

Software Estimation Reasons why

Programmers and Managers

Page 3: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Coding PracticesGood ideas:

Let technical lead set standard/practices Strict standards are not always best Have multiple people review each line of code Have project managers sign-off each code

section Guidelines, examples, and suggestions

sometimes work better than hard and fast rules Circulate well written code to provide examples

for others Reward well written code

Page 4: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Standards in CodingAllow the group to

develop it’s own coding practices over time rather than forcing them to adopt one style of coding

Suggesting different styles of standards to the group may be a good idea to reduce the variation of code

Page 5: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Configuration Management

Software is dynamic, and changes are bound to happen. But Configuration Management attempts to control changes.

Configuration Management’s biggest goal is to help programmers work more efficiently by having them work on relevant code.

If Configuration Management is not followed, problems may never be solved, code can become incompatible, there is no traceable path in your development.

Page 6: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Configuration Management Implementation

SuggestionsFollow a change procedure

Handle changes in groups

Evaluation the cost of every change

Don’t make too big of changes

Develop a judicial change control team

Use a bureaucracy system

Page 7: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Configuration ManagementAdditional Thoughts

Backup code versions periodically Decentralize data

storage in case of disaster

Compare new versions with old to spot trends in errors

Standardize machine configurations

Page 8: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Software EstimationMost projects are poorly estimated

about one year late about 100% over budget

There is typically an optimistic outlook on the project of about 20-30%

Page 9: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Software EstimationMethods

Take advantage of Project Estimation software, or estimation algorithms

Have outside estimation experts consult your team

Estimate my sections, and then add up the sections

Keep record of previous estimations and the actual project times to adjust your estimates

Page 10: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Software EstimationSuggestions

Establish real objectives, and evaluate the estimate based on those objectives

Allow enough time for a proper estimate

Define software requirements thoroughly beforehand

Average the results of several estimations

Consider re-estimating the project occasionally

Page 11: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Software Estimationand the Tar Pit

Estimation are never going to be 100% accurate, so what happens when we get behind?

Hope to catch up

Expand team

Redefine scope

Page 12: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Reasons for Measurement

Having an explanation of why something happened the why it did is better than just observing that it did happen

Measurement causes people to focus on resolving known problems

Even though estimates and measurements are not always clear, you get some insight into the project

Page 13: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Programmers and Managers

Programmers spend time on much more than just programming:

Time spent on: Source code: 35% Business: 29% Personal: 13% Meetings: 7% Training: 6% Mail/Documents: 5% Technical Manuals: 2% Misc: 3%

Page 14: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Programmers and Managers

Quality and PerformanceQuality and Performance vary greatly

In general 20% of staff perform 50% of work Ratios of good programmers to bad can be as

high as 20:1 in regard to performance

Interestingly, it seems that good programmers and bad programmers tend to cluster amongst each other

Page 15: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Programmers and Managers

Style and Method issuesThere are several differences that programmers

will have based on their opinions of style and formatting

Managers need to be aware of: Different opinions Offer suggestions and not rules Focus on the more important issues

Allow programmers to develop team standards over time

Page 16: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Programmers and Managers

Other considerationsThe Physical

Environment is an important but over looked area that effects a programmers productivity and performance

If programmers are satisfied with their work space and office equipment, they are more likely to work better

Page 17: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Conclusion Insist that some kind of coding standard be

used

Control changes and modifications

Attempt to create an estimate in order to measure the projects progression

Treat programmers as people

Page 18: Overview Coding Practices Balancing standards Configuration Management Providing Change Control Software Estimation Reasons why Programmers and Managers

Questions?