Difference between revisions of "What else contributes to quality before testing?"

From CitconWiki
Jump to navigationJump to search
(New page: == What else contributes to quality before testing == !NOTE: This is pretty much just a dump from the session, needs some cleanup Jason Yip introduces the idea from past experience where...)
 
 
Line 1: Line 1:
 
 
== What else contributes to quality before testing ==
 
== What else contributes to quality before testing ==
 
!NOTE: This is pretty much just a dump from the session, needs some cleanup
 
!NOTE: This is pretty much just a dump from the session, needs some cleanup
Line 12: Line 11:
 
Inspect phase is expensive to find issues
 
Inspect phase is expensive to find issues
  
What can you do in Think/produce phase
+
What can you do in Think/produce phase to catch defect early?
 
+
* Team Selection
- Team Selection
+
* Engineering practises
- Engineering practises
+
* Commodity technologies
- Commodity technologies
+
* Amenable to good practice
- Amenable to good practice
+
* Get in customer head space - Gaining emotional connection to context
- Get in customer head space - Gaining emotional connection to context
+
* Get domain experts
- Get domain experts
 
  
  
 
How can this be tested?
 
How can this be tested?
- PokaYoke - Make things mistake proof
+
* PokaYoke - Make things mistake proof
-- Design by Contract e.g. Eiffel
+
** Design by Contract e.g. Eiffel
- Cultural norms - How do you get everyone thinking about quality?
+
* Cultural norms - How do you get everyone thinking about quality?
  
 
There are a lot of things we can do but are we addressing the right problem? (i.e. DBC)
 
There are a lot of things we can do but are we addressing the right problem? (i.e. DBC)
Line 31: Line 29:
 
Examples of Commodity Techs
 
Examples of Commodity Techs
 
ETL - Extraction Transform Loads
 
ETL - Extraction Transform Loads
- These ETL tools were hard to test and this was found out early by people asking these questions. How are we able to unit test this, CI it.
+
* These ETL tools were hard to test and this was found out early by people asking these questions. How are we able to unit test this, CI it.
  
Quality Definition - Quality is not the determination of your marketting, engineering, QA or sales divisions. It is determined wholey by your customer in what their both conscious of and not conscious of.
+
Quality Definition - Quality is not the determination of your marketing, engineering, QA or sales divisions. It is determined wholly by your customer in what their both conscious of and not conscious of.
  
 
Concurrent Set based approach - Attack multiple solutions at once. Safe, medium, risky
 
Concurrent Set based approach - Attack multiple solutions at once. Safe, medium, risky
  
 
Correct budgeting model
 
Correct budgeting model
- Traditional, scope project, assign total cost and work for years
+
* Traditional, scope project, assign total cost and work for years
- Other, smaller cost to work out if possible
+
* Other, smaller cost to work out if possible
 +
 
 +
Getting into customer heads pace, Examples
 +
* Watched a service station clerk do their job all day
 +
* Witnessed a bank teller reduced to tears because of their software
 +
* Another e.g. - In a complex system, Medical - nurses, doctors etc.. So they opened up the whole development system so the customer can input and change. Use cases in JIRA/Wiki
  
-Getting into customer headspace, Examples
+
* Domain Experts are really proxies because they can't represent EVERY ones opinion.
-- Watched a service station clerk do their job all day
 
-- Witnessed a bank teller reduced to tears because of their software
 
-- Another e.g. - In a complex system, Medical - nurses, doctors etc.. So they opened up the whole development system so the customer can input and change. Use cases in JIRA/Wiki
 
--- Domain Experts are really proxies because they can't represent EVERY ones opinion.
 
  
--- Can you get 'too' embedded. And not able to see the whole  process.
+
* Can you get 'too' embedded. And not able to see the whole  process.
  
- Two techniques
+
Two techniques
1. Embed domain expert in team
+
# Embed domain expert in team
2. Depending on costs embed the team in the customers head space  
+
# Depending on costs embed the team in the customers head space  
  
 
Is Quality == Maintainability? Aligned but not equal. Quality does contribute to maintainability but they are not equal. You can have a perfectly maintainable product but it does not have any business value.
 
Is Quality == Maintainability? Aligned but not equal. Quality does contribute to maintainability but they are not equal. You can have a perfectly maintainable product but it does not have any business value.
  
 
 
Quality is what the software is doing when its running. It can be functional but not reliable.
 
Quality is what the software is doing when its running. It can be functional but not reliable.

Latest revision as of 22:26, 27 June 2008

What else contributes to quality before testing

!NOTE: This is pretty much just a dump from the session, needs some cleanup

Jason Yip introduces the idea from past experience where some issues were found in production and this introduces the idea of how can you catch this earlier.

Time boundary Multiple people

Think => Produce => Inspect =>

Inspect phase is expensive to find issues

What can you do in Think/produce phase to catch defect early?

  • Team Selection
  • Engineering practises
  • Commodity technologies
  • Amenable to good practice
  • Get in customer head space - Gaining emotional connection to context
  • Get domain experts


How can this be tested?

  • PokaYoke - Make things mistake proof
    • Design by Contract e.g. Eiffel
  • Cultural norms - How do you get everyone thinking about quality?

There are a lot of things we can do but are we addressing the right problem? (i.e. DBC)

Examples of Commodity Techs ETL - Extraction Transform Loads

  • These ETL tools were hard to test and this was found out early by people asking these questions. How are we able to unit test this, CI it.

Quality Definition - Quality is not the determination of your marketing, engineering, QA or sales divisions. It is determined wholly by your customer in what their both conscious of and not conscious of.

Concurrent Set based approach - Attack multiple solutions at once. Safe, medium, risky

Correct budgeting model

  • Traditional, scope project, assign total cost and work for years
  • Other, smaller cost to work out if possible

Getting into customer heads pace, Examples

  • Watched a service station clerk do their job all day
  • Witnessed a bank teller reduced to tears because of their software
  • Another e.g. - In a complex system, Medical - nurses, doctors etc.. So they opened up the whole development system so the customer can input and change. Use cases in JIRA/Wiki
  • Domain Experts are really proxies because they can't represent EVERY ones opinion.
  • Can you get 'too' embedded. And not able to see the whole process.

Two techniques

  1. Embed domain expert in team
  2. Depending on costs embed the team in the customers head space

Is Quality == Maintainability? Aligned but not equal. Quality does contribute to maintainability but they are not equal. You can have a perfectly maintainable product but it does not have any business value.

Quality is what the software is doing when its running. It can be functional but not reliable.