Category Archives: Communication

Lessons from Gojko Adzic’s “Specification By Example”

Automated checking is not a new concept. Gojko Adzic, however, provides us a way to make better integration of it in our software development processes. In his book titled “Specification by Example”, he talks about executable specifications that double as a living documentation. These are examples which continuously exercise business rules, they help teams collaborate, and, along with software code, they’re supposed to be the source of truth for understanding how our applications work. He builds a strong case about the benefits of writing specifications by example by presenting case studies and testimonials of teams who have actually used it in their projects, and I think that it is a great way of moving forward, of baking quality in.

Some favorite takeaways from the book:

  • Tests are specifications; specifications are tests.
  • “If I cannot have the documentation in an automated fashion, I don’t trust it. It’s not exercised.” -Tim Andersen
  • Beginners think that there is no documentation in agile, which is not true. It’s about choosing the types of documentation that are useful. There is still documentation in an agile process, and that’s not a two-feet-high pile of paper, but something lighter, bound to the real code. When you ask, “does your system have this feature?” you don’t have a Word document that claims that something is done; you have something executable that proves that the system really does what you want. That’s real documentation.
  • Fred Brooks quote: In The Mythical Man-Month 4 he wrote, “The hardest single part of building a software system is deciding precisely what to build.” Albert Einstein himself said that “the formulation of a problem is often more essential than its solution.”
  • We don’t really want to bother with estimating stories. If you start estimating stories, with Fibonacci numbers for example, you soon realize that anything eight or higher is too big to deliver in an iteration, so we’ll make it one, two, three, and five. Then you go to the next level and say five is really big. Now that everything is one, two, and three, they’re now really the same thing. We can just break that down into stories of that size and forget about that part of estimating, and then just measure the cycle time to when it is actually delivered.
  • Sometimes people still struggle with explaining what the value of a given feature would be (even when asking them for an example). As a further step, I ask them to give an example and say what they would need to do differently (work around) if the system would not provide this feature. Usually this helps them then to express the value of a given feature.
  • QA doesn’t write [acceptance] tests for developers; they work together. The QA person owns the specification, which is expressed through the test plan, and continues to own that until we ship the feature. Developers write the feature files [specifications] with the QA involved to advise what should be covered. QA finds the holes in the feature files, points out things that are not covered, and also produces test scripts for manual testing.
  • If we don’t have enough information to design good test cases, we definitely don’t have enough information to build the system.
  • Postponing automation is just a local optimization. You might get through the stories quicker from the initial development perspective, but they’ll come back for fixing down the road. David Evans often illustrates this with an analogy of a city bus: A bus can go a lot faster if it doesn’t have to stop to pick up passengers, but it isn’t really doing its job then.
  • Workflow and session rules can often be checked only against the user interface layer. But that doesn’t mean that the only option to automate those checks is to launch a browser. Instead of automating the specifications through a browser, several teams developing web applications saved a lot of time and effort going right below the skin of the application—to the HTTP layer.
  • Automating executable specifications forces developers to experience what it’s like to use their own system, because they have to use the interfaces designed for clients. If executable specifications are hard to automate, this means that the client APIs aren’t easy to use, which means it’s time to start simplifying the APIs.
  • Automation itself isn’t a goal. It’s a tool to exercise the business processes.
  • Effective delivery with short iterations or in constant flow requires removing as many expected obstacles as possible so that unexpected issues can be addressed. Adam Geras puts this more eloquently: “Quality is about being prepared for the usual so you have time to tackle the unusual.” Living documentation simply makes common problems go away.
  • Find the most annoying thing and fix it, then something else will pop up, and after that something else will pop up. Eventually, if you keep doing this, you will create a stable system that will be really useful.

Contemplating In-Office Knowledge-Sharing Sessions

In the past I tend to prepare presentation slides if I want to share something to tester colleagues at work, often clippings of interesting articles which I felt could be useful for our knowledge-sharing sessions. It worked, but after some time the sessions felt monotonous and tedious. Probably because I always have to explain in detail the ideas and the lessons behind those clippings. I try to make my presentations interesting, but I think that after a while hearing the same voice over and over can get old.

These days I’m sharing videos instead. The videos are usually recorded conference talks or tutorials I have watched and learned from in recent years, and I have taken care in listing the the ones that are insightful, fun, and relatively short. It’s like I’m inviting officemates to watch a short movie for free. The big change: I don’t take a lot of time talking during the knowledge-sharing anymore. There are of course still bits of discussions before, after, or during the showing of a video, whenever necessary, for explaining why I have taken a liking to the talk or to ask them about what they understood. We take turns telling stories about our experiences related to the ideas shared by the speaker, which is nice. And compared to the powerpoint presentations I did before, I felt that because the speaker is someone from outside it makes the ideas shared in the talks and tutorials feel more fresh and real than when I’m merely showing them quoted paragraphs from blogs. That makes it easier for my colleagues to get curious and actually learn something, which is exactly the point of the activity.

 

Nugget of Goodness

Even in imperfect feedback there is a nugget of goodness. Matt Mullenweg

My job is to find it.

Trump Prepares For Inauguration Day, As U.S. Cities Prepare For Protests

WASHINGTON D.C (KPIX 5) — While President-elect Donald Trump was basking in his big moment in the nation’s capitol on the eve of his inauguration, men and women around the country were preparing for a long weekend of protests.

Less than 24 hours until the inauguration of Donald Trump — and what many feel will be a new reality for California — House Minority Leader Nancy Pelosi (D-CA) is getting ready to go to the inauguration.

Rep. Pelosi told KPIX 5 earlier this week, “I have to admit that I never thought we would be ever having Donald Trump be President of the United States. But he is, and I will be there in my capacity as House democratic leader.”

But she says there’s one thing she won’t do. She said she will not be going to the ball.

“No, I’m there for the official ceremony, I’m not there to celebrate,” Pelosi said.

She said she’s going to try and get back to San Francisco for the Women’s March being held there, one of a number events planned in the Bay Area.

In D.C., there’s tons of Trump inauguration memorabilia. People are setting up stands by the minute, practically, selling T-shirts, mugs, everything plastered with Trump’s name and face on it.

The Trump inaugural concert at the Lincoln Memorial wrapped up Thursday night, capping off with a huge fireworks display.

The President-elect spoke at a dinner for campaign donors Thursday night. He was then scheduled to spend the night at the Blair House, the the guest house where President-elects traditionally stay the night before taking office.

And some notable names attended the dinner. Caitlyn Jenner was there, but declined to comment to reporters while walking in.

Country singer Toby Keith headlined the Make America Great Again Welcome Celebration at the Lincoln Memorial.

Trump and members of his family were there. He addressed the crowd, saying, “We’re going to make America great for all of our people — everybody.”

The Women’s National Democratic Club has stepped in to help organize the Women’s March on Saturday and on Thursday, women from all over the country were making posters.

A lot of them are also wearing the pink hats that women across the country have been knitting to wear on Saturday.

Nuchhi Currier is the president of the club and said, “There has been an awakening…Sleeping giant watch out.”

Currier says she’s hopeful about what happens next and that the march will be peaceful.

We also ran into a whole table full of women from the Bay Area on Thursday who were at the club, making signs to hold up on Saturday.

NBC Gives Pilot Order to Military Hero Drama ‘For God and Country’

NBC has ordered a pilot for the drama “For God and Country,” Variety has learned. The drama is described as “a heart-pounding look” into the complex world of the bravest military heroes who make personal sacrifices, while executing challenging and dangerous missions behind enemy lines. The project hails from Keshet, which is partnering with Universal Television… Read more »

Sutter Middle School Teacher Retiring After Confederate Flag Controversy

FOLSOM (CBS13) — A teacher who is at the center of a controversy around the Confederate flag in the classroom has opted to retire and will not be returning to the classroom.

The Folsom Cordova Unified School District announced Sutter Middle School history teacher Woody Hart would not be returning at a meeting on Thursday night after he was placed on administrative leave over a complaint a Confederate flag was hanging in his classroom.

Supporters at the meeting pointed out that the flag was hanging alongside a Union flag showing the two sides in the Civil War.

This is the second time Hart is facing racially charged allegations stemming from a classroom lesson. In November, parents of a teen filed a complaint after they say Hart made remarks during a lesson about equality, saying if you were to hang one black person, you would have to hang all black people.

The parents took exception to the remarks in part because their son was the only black student in the classroom.

Jim Gianopulos in Early Talks With Wanda for Legendary Post

Former Fox Film chief Jim Gianopulos is in preliminary talks with China’s Dalian Wanda Group to run and expand its Legendary Pictures, according to two sources close to the executive. The discussions with Wanda honcho Jack Gao, whom Gianopulos has known for years, are in the very early stages, the sources said. Many key issues have… Read more »

‘Black-ish’ Spinoff in the Works at ABC

The Johnson family may soon be taking up more airtime on ABC. The network is considering a spin-off of its hit comedy “Black-ish,” Variety has confirmed. The spin-off, which would star Yara Shahidi, would focus on her character, oldest daughter Zoey Johnson, in college. The spinoff, which is in very early stages, would be introduced as… Read more »

Car plows into pedestrians in Melbourne, prompting major police operation

It’s not clear how many were hit, or how serious their injuries might be.

East Bay Mother’s Body Remains Submerged In The Sacramento River

ISLETON (KPIX 5) — An East Bay mother was killed in a car crash and days later, officials still can’t get to her body.

Now her family is outraged.

The California Highway Patrol says the incident happened Sunday night when 48-year-old Nichelle Johnson was driving from Bay Point to Sacramento to visit her sister. They found her car off state Highway 160 near Tyler Island Road.

Investigators believe she lost control of her car and drove into the Sacramento River in Isleton.

But officials aren’t able to retrieve her body until at least Saturday. They say the storms have further delayed the recovery process.

Some witnesses tried to pull her out but couldn’t. Divers found the car Sunday night and attached orange buoys to mark the submerged car.

But the CHP says they didn’t have enough volunteer divers to safely retrieve the car.

The family and many people are outraged by the response.

The victim’s daughter, Mikaela Hampton, said, “This doesn’t make sense. This happened Sunday night, my mom should have been out of the water Monday morning.”

Haydee Perry lives half a block from crash site and said, “I’m hurt in my heart. If it was my family member, I’d climb down there myself and get her.”

The CHP says a dive team will try and recover the body Saturday morning, but if the river and weather conditions change, they may have to push it back.