Wednesday, April 20, 2016

Agile Sig - How Yahoo! Embraced Automated Testing

Neil Manvar from Saucelabs who used to work at Yahoo! gave a very interesting presentation on how Yahoo! did QA to fifty people at PlanView.

My Notes::

150 people work at Yahoo! on mail.

Challenges at Yahoo Mail
Multiple browsers on multiple OSes
New browsers coming out
Right to Left languages
Terabytes of data

Used beta version of email internally even for personal mail so everyone a Yahoo tests new versions of email.

Manual testing just doesn't work its not reliable and not scalable

"developers are not bad people."
It's all about getting info back to the developers.

Marissa Mayers gave them 3 months to get framework in place for automated testing, no new features.

Continuous improvement
Pull requested need unit tests and selenium tests.

Ruby and Open Source ruby gems / Cucumber / Watir-webdriver (Selenium)

A build would fail if code coverage was not sufficient.  It had to run in 10 minutes.
256 unit tests run in parallel

He recommended the book "Leading the Transformation: Applying Agile and DevOps Principals at Scale" by Gary Gruver, Tommy Mouser

Tuesday, April 19, 2016

SQL Server Error: CREATE DATABASE failed. Some file names listed could not be created.

I recently installed Windows 10 under VMWare and added SQL Server Express to do some work with MVC5 using the default Entity Framework backend.

I kept getting this error:

Directory lookup for the file "c:\users\fincherm\documents\visual studio 2015\Projects\
failed with the operating system error 5(Access is denied.).
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

It turns out the problem was the identity of the SQLExpress service, "NT Service\MSSQL$SQLExpress"  did not have write permissions in the file system to create a database.  Adding "write" permission to that identity fixed the problem and now my MVC app works with SQL Server.

Tuesday, April 12, 2016

Photo from Agile Austin April 12 Managers talk about Agile

125 people attended the April meeting of Agile Austin at Kasasa.  A panel of experts answered preselected and on demand questions about Agile.

  • How to evaluate employees and managers?
Motivation?  Make sure employee knows what it takes to go to the next level.  Make sure employees "own" their problems.
Use a phone app to get feedback on employees and even meetings. 
 Give feedback all year round.

  • How to do interviewing and hiring?
It's important to have the whole team involved.  Don't hire anyone the team has doubts about.
Candidate must be technically adept.  Look for competence and humility.  And an ability to learn. 
If any interviewee answers "I don't know." is a good sign.
Look for someone who enjoys the work.
Look for good culture fit.  Establish values for your company and test your candidate for those qualities.
Look for motivation, desire to fix problems and to grow technically.
Ask candidate about their past process.  Look for enthusiasm or just rote description.
Ask candidate about best team they have worked with.  What makes a good team?
Try to find the culture they want to be in.
90% of time is human interaction, 10% is hands on keyboard.
Be honest with candidate about job environment.  Don't let salesperson in manager take over and gloss over the problems.
Do not get reactions about candidate in email or separately.  Get feedback in a group so they can bounce thoughts off each other.

  • How do Agile managers handle employee issues?
How to handle employees with significant life problems like death in family, illness.
Be a servant leader.
You don't have to have the right answers.

How to handle team conflicts?  You want them to take ownership if possible.  If not, bring awareness through one-on-one.  Healthy teams do have meaningful debates in an atmosphere of trust.

In the old school it was the manager's task to fix problems, now the team needs to take ownership, define the problem, and fix it.

  • How to retain great teams?  How to foster team satisfaction?
Show appreciate to team members.  A little appreciation goes a long way.   It's a matter of continually checking in with each individual and seeing how they are doing.

What do employees want the most?  They like to feel like they are contributing to the organization.
Show your programmers customers using their software. 
People don't like to deal with the same problems.  If an employee tells you about an issue they cannot fix, you need to solve it.

  • How to balance business needs with the needs of forming an agile team?   
Be honest, if company is struggling tell the team.

What big fails have you had as a manager that you learned from?
Focusing too much on process without the principles.  If execs don't understand Agile principles, it's a recipe for disaster.
Not releasing a product for review even if it's not a minimal usable product.
Not firing someone early.

  • How have you changed from managing an Agile team?
Learn to let other people fix their problems.
Letting go and let the team make decisions.
I don't have to know what everyone is doing all the time.
Having patience that it will all work out.
Learn to take my hands off the steering wheel.