Maybe it’s where I’m sitting but this feels like a time of great change in the software design and test arenas. Designers are in short supply, everywhere, but at the same time companies are looking for more from them — more customer-facing, more business experience, more specific industry expertise. Oh, and if designers can test too, that’s an added bonus. On the testing side, there’s certainly a push to either automate or eliminate the function entirely. And if they’re to remain a viable part of the development process, employers would like to see them do more coding.
Throw the wild and unpredictable Internet of Things in to that mix and everything just feels, well, uncertain. Where do we go from here? We know design and test are important but are they important enough in an organization to make a difference?
Perhaps a look back at some research in the recent past can give us all a bit of New Year encouragement. In the early 2000’s, the Danish Design Center created the Design Ladder as a way to measure the relationship between a company’s investment in design and its productivity or financial success. The Design Ladder has four stages: Stage one is zero design; stage two is design as styling; stage three is design as process and stage four is design as strategy. Companies that operated on stage three — design is integral — and stage four, where design is actually used to encourage innovation, reported 22% higher revenues than those at stage one or with no design.
While this survey is dated, the idea of tying profits to design and actually tracking the results is probably even more important today than it was in the mid-2000s. There need to be more efforts to track the financial impact of design (and test!)
Does your company have an innovative way to look at this problem? Let me know.
Perhaps 2015 reasons is a bit of a stretch. In any case, as we wrap up this year, it’s interesting to look at where we’ve been and what we’ve all been interested in.
It is certainly no surprise that Jenn Lent’s most excellent piece on the Agile Manifesto and whether it is outdated or not was the most-read article on SearchSoftwareQuality this year. Not only was that piece read, it was hotly debated and spawned a lot of follow-up conversation. After attending Agile 2015, I certainly understand it. There’s a push-pull among Agile followers between staying true to the Manifesto and customizing it to a company’s particular need. The Manifesto reminds me a bit of the debate over the pirate term “parlay” in the Pirates of the Caribbean movies. As the Jeffrey Rush character says, paraphrasing, “parlay isn’t so much of a rule as a suggestion.” And maybe that’s how we should all look at the Agile Manifesto?
No matter how close we hew to the Manifesto, there’s no question Agile was on everyone’s minds this year. Another hugely popular story — on our Essential Guide to gathering and managing software requirements — resonated with a lot of you this year. The very important development step of determining software requirements is clearly something many of us want to understand and implement more effectively.
Continuing the Agile trend, I think we also wanted to know how well we’re doing with it all this year. Jennifer Lent’s other well-read Agile piece — Three traits of a mature Agile team — underscores the important role a “mature” Agile team has when engaged in mobile development particularly. Every company has gone mobile, it seems, and any way to streamline that process is worth considering.
Finally, my piece on how the lines are starting to blur between testers and developers was apparently well-timed. With some companies phasing out testing all together, and others asking testers to code, and developers to test, there’s plenty of churn and concern over the role of testers today and in the near future. It should be more simple, right? But of course it’s not.
Do have a favorite story or trend or news event of the last year? Let me know!
With all the talk about the ongoing worldwide software developer shortage, it’s encouraging to see the grass roots efforts by the non-profit Code.org to bring coding to everyone. In fact, the group has designated this week — December 7-13 — for a worldwide “Hour of Code.” As of right now there are 191,019 coding events scheduled around the world this week, many, but not all, in classrooms.
The goal is to expose ages 6 to 106 (as the organizers put it) to the joys and benefits of coding. And with tutorials based on Star Wars, Minecraft, and Elsa from Frozen, there’s probably a little something interesting for just about anyone new to coding. Those with a bit of coding experience can turn to partner Khan Academy which is offering a number of tutorials to learn the basics of Java, CSS and SQL.
And if you’re wondering if this is really a worldwide event, check out this list…wow!
I’m sure this has the “preaching to the choir” ring about it but I think it’s important to remember that most people think coding is intimidating and just for people good at math or spatial skills. In fact all of us can, and should, learn the basics of coding because as we’ve reported extensively, the job market is changing for everyone. Coders are being asked to acquire more soft skills and people in marketing and finance and healthcare and manufacturing (just to name a few) are being asked to learn how to code. And let’s face it, coding is cool, right?
So I’m going to ask that we all share an hour of code (or two) this week with someone who doesn’t know anything about it. It’s good “PR” for the developer/tester professions and it’s fun too. Plus you never know when you might influence someone to change careers or add a skill or two. I’m starting with Star Wars…how about the rest of you?
It’s tempting to think of the worldwide software developer shortage as a chicken and egg problem. Is there too much demand? Are there too few people?
It doesn’t matter which came first because of course both things are true. Yes demand is out of control because every company needs software developers. And yes, there are too few people, a fact which some experts believe was made even worse by the economic downturn. Too many layoffs made going in to a technology field not particularly appealing.
But there’s a third factor, and this is where it really gets complicated. Perhaps because software development is so ubiquitous, the very essence of the job has changed. It’s no longer enough to be technically skilled. Employers expect that. But they also want a developer who can work with a customer, talk the business language, be an industry insider and have a wide array of soft skills.
This “uber developer” is someone who is practically required to have two career tracks – a tech track and a business track. A nurse practitioner who can code? Check. A marketing whiz with UX experience? Check. A certified financial planner with mobile development skills? Check.
An interesting trend, certainly, but it’s by no means clear that it’s going to be easy to find these skill combinations in sufficient numbers to ease the shortage. Some people will welcome a mid-career shift (ok, even I think about going to an app dev boot camp sometimes…) but for many people this “not found in nature” skill combo is never going to make sense.
Matt Sigelman, CEO of Boston-based research firm Burning Glass, gets credit for the “not found in nature” observation and has spent a significant amount of time thinking about this issue. He does think employers are over-reaching and suggested that instead of trying to hire that dream developer, why not try to grow it internally? “There are a lot of jobs that aren’t software jobs that require software skills,” he explained. “And it’s much easier than it ever was before to acquire software skills. You can make the case that you can take business people and they can learn how to manage a custom database or build or run analytics. This gives them new skills without having to fundamentally reposition their careers.”
Sigelman thinks this education can be done, in many cases, in a nearly DIY way. And Matthew McCullough, director of field services for GitHub, thinks his site can and should be an option for companies looking to do internal education. There are no short-term fixes, but this might make the most sense.
Is your company doing any internal developer training or continuing education? I’d love to hear about it.
It’s a fine line between appropriate, and not. But in today’s open society, how do you draw that line? After all, what is funny to one person is offensive to another.
I was talking to our testing expert Gerie Owen about this the other day. Gerie’s seen it all in her years of testing, and she told me an interesting story about a development and testing dilemma that really happened. It seems that a tester discovered a rather troubling “bug,” which in this case was the use of the F-word in a mobile app. When the tester approached the developers, he was told the word was “used in a playful way,” Gerie said. In fact, they told the tester to back off and that it was a creative decision and most assuredly not a bug.
The tester was troubled by this and wondered what to do, and whether or not to escalate this issue.
Gerie didn’t mince any words in response: “No, no responsible company can do this. I’m sorry, your developers are dead wrong. You cannot use that word, or any other word that is not in a G-rated dictionary, in your app. It doesn’t matter who is using it, or for what purpose. This is completely disrespectful of your users, despite what your developers may think. Furthermore, no app store is likely to accept an application that contains inappropriate language.”
And she didn’t stop there. She said that of course the matter should be brought to the attention of management because of the risk to the company’s reputation. And that the tester really needed to not just advocate for quality, but also be an advocate for the users.
We already knew testing was a tough, and under-appreciated, job, but add in arbitrating moral dilemmas and wow, that’s taking it to the whole next level.
Has this kind of thing happened to you? And if it has, what did you do? Email me because I’d like to hear all about it!
A brand new report from the Application Developers Alliance (and conducted by IDC) showcases some very encouraging news about the software development profession. A healthy 68% of today’s software developers have 5 or more years of experience, and 66% report they’re “energized” by their jobs. What’s exciting them? 44% said wearables and 38% said robotics.
Wondering where the tired, overworked, burned out developer is? Not here, apparently. “It is not surprising the vast majority of developers are gainfully employed freelancers by choice or at an organization by choice,” said Jake Ward, executive director and co-founder of the Application Developers Alliance. “It also doesn’t surprise us that the satisfaction level of professional coders is higher than the conventional wisdom might success. The reality is most working developers with 401ks and manageable commutes are happy to build really exciting products inside of a long term company.”
It’s no great revelation to hear that the favorite software development activity is coding – at 71% — but what might raise some eyebrows is that functional testing and bug tracking (traditionally what “testers” do) is popular with 62% of developers, roughly the same percentage as requirements and design at 61%.
And of course we all know it’s a mobile world. A hefty 87% of organizations where developers worked were involved in mobile development and 18% said they were pursuing a “mobile first” strategy.
What keeps developers up at night? Staying current with languages, frameworks and tools disturbed the slumber of 57%; other stressors included creating high quality code (43%), work/life balance (39%), overly demanding clients who “don’t get it” (37%) and finding work that utilizes a particular skill set (37%). If developers are stumped, they are overwhelmingly inclined to turn to the Internet for help (63%), showing an independent spirit, Ward said.
He is most encouraged, though, by the fact that a growing number of women are becoming developers. In fact, the percentage of brand new female developers hit 42% for the first time ever this year. “Our workforce is increasingly becoming egalitarian,” he said. “Developers are less and less male and it’s great to see that laid out and benchmarked.” Developers with one to five years of experience are 30% female, while the overall percentage of women in the profession is 25%.
Read the whole report for yourself, here (you’ll need to enter your email).
I’ve been talking to a lot of stressed out testers recently. These are people who take their profession seriously but don’t always think anyone else does, particularly when they’re told time and again that they need to learn how to code.
These aren’t folks who really want to be developers. As one said to me, “If I’d wanted to be a developer, I would have been. I want to be a tester.”
Is there a way for everyone to get along and get the job done? The answer might be found with mob programming, kind of like pair programming on steroids. Mob programming gathers 6 to 8 people in a room to work together to code, or perhaps even to test. Some, like Lisa Crispin, are calling it mob testing, and while she says she’s tried it, she’s not ready to talk about it yet. But Finland-based Maaret Pyhäjärvi, who calls herself a “collaborative software specialist with an emphasis on testing,” has tried mob testing and lived to tell about it.
On the one hand, she told me it brought her team together in a way she didn’t expect because they were all in a room together and you could actually see problem solving skills or time-saving shortcuts you had no idea existed before. The real advantage of mobbing, she said, is that no one had to explain anything because everyone experienced the same things.
That said, she did say it was difficult. Working in a mob “is a challenge when testers are not really programmers,” she explained. “They’re forced in to programming and my feeling is that some people are going to be more comfortable with that than others. This has the potential to be divisive.”
One of the challenges for testers is that you’re sitting close to the code and there’s a lot of “bored” downtime when the programmers are down in the code details. Testers are there showing support, but it can get tedious, she said. “I’m not certain if I enjoy this style of working in the long term,” she admitted. “For people with a testing background this can be very difficult for the first time because you’re really in to the code.” And she said the idea of taking a day and just working together can be a tough sell to management and developers as it can seem to be a waste of time.
Would mob testing/programming be the solution for your company? Let me know what you think!
The jaw-droppers came during an excellent (and packed!) talk given by Agile consultant Jutta Eckstein.
I am saving most of her talk to write about in more detail later, but she was speaking about the challenges of doing Agile in a distributed environment when teams (or parts of teams) are located in different places and/or different countries.
Ok, sure. We know that.
But did we know that there are actually other kinds of English than American or British or Australian? And that just because English is the international language of business doesn’t necessarily mean we’ll understand “Chinese English” or “Indian English”? And that you can actually take a class to become more familiar with some of these other versions of English? (And Ms. Eckstein makes a great case to do just that…she said native English speakers have told her they’re never worried about understanding English from non-native speakers until they hear it, and then many find it quite challenging. As she put it, “There are different Englishes out there.”)
Wow. Jaw dropped.
But she went further, to talk about how it can really pay off to research the country you’re working with, not in an icky, stereotyping way, but to understand general differences between cultures. She compared Germany and the US during her presentation using data from The Hofstede Center. This site is based on world famous research on cultural values and standards that make it easier to visualize differences between countries.
My jaw dropped, again, because it would never have occurred to me to look at a culture in this way simply to improve a multi-national work environment.
Great idea. We should all reach outside our comfort zones.
this is what I overheard on Day One of this very popular conference in Washington, D.C.:
“We submitted a paper and we heard back 20 days later. Normally you submit a paper and you hear back six months later and you’ve forgotten what you submitted. Here they’re even Aile in how they handle the conference.” – graduate student and speaker
“Ok, Agile failure already! They know how many women come to the Agile conference and they’re out of women’s t-shirts on the first morning? Really?” – Agile practitioner from a large technology company
“I have a really resistant team. They don’t want to change, or do any kind of project management. We’re making the same mistakes over and over again. Today I’m looking for little things I can bring back and suggest to them. We need work on team building.” – manager of a software development team that works primarily with the federal government
“At my company, I guess we’d be called “Scrum buts” because while our developers use agile principles, I admit the systems engineers, etc., work on requirements completely separately. They’re very resistant to change and I’m here looking for some ideas that might make it easier. It’s very hard to scale Agile at the enterprise level.” – manager of a software team that largely works with the Defense Department
“I really want to learn more about game theory and how it can be used to help make us more agile.” – Agile coach at a large technology company
“Any team of programmers, if given enough time, will justify a complete rewrite of the code.” – Luke Hohmann (paraphrasing a former colleage), Awesome Superproblems Keynote speaker
Get ready for new products, upgrades and features this week at Agile 2015. Here’s a brief round up of what you’ll see featured in booths at the show:
- ThoughtWorks’ Mingle Plus 2.0
Aimed at the enterprise-level Agile efforts, Mingle Plus 2.0 adds cross-project collaboration and program management to the core Mingle product. Developers can plan and track dependencies and the product is available on-site or in the cloud as a software as a service (SaaS) offering. Get more information.
A number of new features are available in VersionOne including TeamSync for Jira, unified DevOps automation, enterprise budgeting, TeamRoom Scorecards, and enhancements to the user interface, communities and CommitStream in TeamRooms. All four versions of the product – Team, Catalyst, Enterprise and Ultimate – are available now.
- Hansoft 9
This new version of Hansoft will provide developers with tighter integration of defect tracking, a new user interface, better contextualization, clear visuals and other collaborative tools. Also, the company will be giving “sneak peaks” of its newest product – codenamed Hansoft X – at its booth at Agile2015.
- QA Symphony
Designed for Agile testers, QA Symphony’s new qMap is a visual mapping solution that uses data from the company’s exploratory testing tool, qTest. qMap tracks and analyzes test results across systems and creates a “heat map” of the results.
And because no round up of Agile products is complete without some kind of game, PlanningPoker is a new (and free) digital card game that puts a fun spin on forecasting sprints and making estimations.