Sencha CEO: 7 steps over the DevOps gap

This is a guest post for the Computer Weekly Developer Network by Art Landro in his role as CEO of Sencha — the company is known for its Sencha web application lifecycle management platform and Java & JavaScript frameworks that use HTML5 to build software solutions for desktops, smartphones and tablets.

Landro: we need

Sencha’s Art Landro: 7 pillars of DevOps wisdom

Landro examines exactly how can organisations address the gaps and disconnects between the operational and developer teams — and how can enterprises use the skills of the developer in order to successfully drive the business forward.

Landro writes as follows…

In today’s digital age, most companies, regardless of their size or industry, are becoming software companies so it’s critical for managers to hire, train and retain highly-qualified developers.

But sometimes, a gap develops between the execs setting the direction and managing the business and the developers building the software to power the business.

Developers have great technical skills to build leading edge products and they want to use the latest tools and hottest technology stacks to be relevant in the developer community and keep their skills current and marketable. On the other hand, managers have to set the long-term vision and strategy, deliver the right business applications on-time and maintain them for what could be a decade.

Here’s seven ways around DevOps challenges to make DevOps work better.

1. Form a collaborative team

IT managers and developers, along with the business owners need to trust each other and ensure that they are making the right choices for the company. All three of these groups play critical roles in coupling the latest technical info with the long-term business strategy, so informed decisions are made. Bringing groups together to work on cross-functional teams is critical to building relationships and helping each group to understand the value and perspective that the other parties bring to the table. These cross-functional teams could be focused on specific projects, key initiatives, or part of an overall strategy council.

2. Embrace conflict

Conflict is bound to arise from time to time. If managed properly, it can be extremely healthy for the business. Conflict can help teams reach a higher level of performance as widely accepted beliefs and practices can be challenged and new possibilities realised. Developers may introduce new technologies and approaches for meeting business challenges while the Operations teams can help ensure budgets and schedules are met and that the organisation is operating efficiently. 

3. Tell the storyboard story

One example of a company that has excelled by building a strong, cross-functional, collaborative team is a leading healthcare company. The company created a multi-function, multi-level team environment for the upfront design of its next web application and proactively engaged the business, designers/developers and IT executives. They spent time upfront to understand the complete end-to-end solution, storyboard the actions and screens required and everyone agreed to a high-level design document. The next step is to continue to work together as a team to prioritise features and functions, based on business requirements and technical challenges, and agree on a phased development and roll-out plan. Conflict has been resolved quickly with a healthy team spirit, and the project is on schedule.

4. Don’t allow unrealistic requirements

 An example of a company that suffered because it did not form a highly-collaborative, cross-functional team is a transportation and logistics firm. The company was trying to design and develop a new web application to modernise its business. Senior executives at this organisation mandated certain functionality and UI/UX experiences without obtaining sufficient input from the developers. This resulted in conflict, confusion, delays and cost overruns as the design and development teams attempted to implement what some called unrealistic requirements. The feedback loop to the executives was restricted, and without effectively collaborating as a team, the overall strategy, schedule and business were negatively impacted.

5. Use the right tool for the job

The latest, coolest technology may be the right choice for some projects because it has the newest advancements. However, managers and developers need to make sure they’re picking the right technology for the job, and for the organisation. Teams need to make technology choices based on their ability to meet strategic business objectives, the size and location of the development team(s), and not just on the trending technology platform of the day. Moreover, many enterprises have “sunk-costs” in IT and software infrastructure that need to be leverage and extended as part of the overall technology/business investment plan. Operational teams must help developers understand why the coolest technology may not be appropriate for the job. Operational teams will be more concerned with project costs, both development and lifetime value, and cost of the solution. Lastly, the technology chosen should allow development and business teams to focus on the core competencies of the organisation to build compelling applications for their employees, partners and customers, and not on building and maintaining generic technology capabilities that are readily available in the marketplace.   

6. Understand longer term consequences

For business-critical applications, managers have to understand the longer term consequences of technology choices. They need to consider how long the application or system has to live and what the costs of the technology choice will be over the lifetime, including maintenance and upgrade costs and the burden placed on future development teams. According to a recent survey of the Sencha community, most business applications are expected to live more than five years. Often, this means that new team members must be able to modify and maintain the application for years after the original development team has left. In the world of web application development, a common use model and coding style across application components has been cited as one of the most important factors in enabling new team members to quickly make changes to an existing application. However, the common use model and coding style may not be as important if the application is expected to be short lived. Again, this comes back to selecting the right technology for the job.

7. Ongoing evaluation

It’s critical that companies keep up with technology trends and continually investigate whether current technical choices are still the right ones for the job. Requirements change and technology rapidly evolves. It’s not uncommon for organisations to run technology reviews every 2-3 years to understand how their current tools and platforms measure up to the job at hand. Developers are key to these periodic technology investigations/evaluations can ease any concerns about the technology in use, and the developer’s skills becoming stale. The ongoing evaluations help the organisation decide if they are in fact still using the right technology for the job.