To gather insights for DZone's Software Development Research Guide, scheduled for release in July, 2016, we spoke to 18 executives, from 15 companies, who have created software for their companies, as well as their clients.
Here's who we talked to:
John Basso, CIO and Co-Founder, Amadeus Consulting | John Purrier, CTO, Automic | Laszlo Szalvay, Director of Sales and Partnerships, cPrime | Scott Rose, Senior Director of Product Management, and Miikka Andersson, Product Manager, CollabNet | Jeanette Cajide, VP of Corporate Development and Samer Fallouh, VP of Engineering, Dialexa | Andreas Grabner, Technology Strategist, and Brett Hofer, Global DevOps Practice Leader, Dynatrace | Anders Wallgren. CTO,Electric Cloud | Alexander Polykov, CTO, ERPScan | Baruch Sadogursky, Developer Advocate, JFrog | Rob Juncker, VP of Engineering, LANDESK | Mike Stowe, Developer Relations Manager, MuleSoft | Zeev Avidan, VP of Product Management, OpenLegacy | Joan Wrabetz, CTO, Quali | Sushil Kumar, Chief Marketing Officer, Robin Systems | Nikhil Kaul, Product Marketing Manager, SmartBear
We asked these executives, "What are your biggest concerns around software development today?"
Here's what they had to say:
- Quality versus speed is a delicate balance. Have the development team understand the business logic of what you are building and the problem you are solving.
- Two: 1) The cloud – developers and customers don’t appreciate how much they’re marrying into the cloud vendor until they want to migrate to another cloud vendor and find out how difficult that can be. 2) Using immature technologies based on hype and innovation. Getting stuck with software that’s not as scalable and flexible as they need.
- Security – people don’t realize to ask about security around applications. We’ve lost focus on privacy. Millennials have increased the importance of UX driving adoption and consumption. They can solve problems if the UX is right. Make it intuitive for users. Get critical information versus noise.
- Expectations are set so high. Everything must be perfect and integrate seamlessly. Competing models with code review projects work. If collaboration doesn’t happen it’s difficult to meet the objectives. There’s also red tape and bureaucracy in every organization.
- People implement DevOps without understanding the rules and the SDLC quickly deteriorates. We need to treat writing code as a science and not an art. I have a fear that in order to be responsive, the quality of the code is declining.
- Too many moving pieces. Complexity with all the drivers and dependent software. Docker helps with the dependence on the data layer. We are not able to create an app to meet a user requests with regards to debugging and security. The more we can automate the process the more productive developers will be.
- Using the Scrum framework, adding Safe on top leads to faster iterations and releases. My concern is how the business digests all this. How does it affect marketing and sales? What do you show at an annual, or semiannual, tradeshow? Another is the need to retain millennial talent given their propensity to change jobs. Their expectations are different and this results in a different working environment. Half of the first floor at Puppet Labs is a coffee shop with 12 different expresso makers and everyone brings their dog to work.
- How security is handled. As IoT grows, they reach deeper into our lives. The opportunity for mischief or errors is greater. Security review and code analysis needs to be part of the pipeline. Enough problems have been exposed that people are beginning to take security seriously.
- Not thinking about security earlier in the software development process.
- The lack of qualified people aggravates the problem and the aspect of skill is aggravated by the rate of change. Who is leveraging whose language? There’s a shortage of people not in technology learning the technology necessary to run the business.
- Fiefdoms, silos, and the cultural change necessary to evolve to DevOps.
- People – DevOps and the conservatism of a lot of people. People in their comfort zones are afraid of change.
- We’ve made it too easy for non-software companies to build and develop software. This results in bad code. While it’s easier for developers, it’s adding abstraction. The more you don’t see the complexity of what you're developing, the lower the likelihood of developing efficient code. We need to raise awareness of the need to build better software from the start. We support a community, have free trials, and a YouTube to help developers learn.
- Running a software development team. How to build a culture of collaboration – nurture an ecosystem that brings developers in? Teams need to be geographically dispersed but still be effective. It’s tough to do. Build a scalable system for building software. Open source has done a good job here.
Do you have any additional concerns that were not mentioned?