IT Culture and Practices
I've been posting on IT culture to raise awareness how important it is when a business is trying to transform and innovate. My post, 10 ways to improve IT Culture with Agile, DevOps, Data, and Collaboration speaks to the good signs and ways to improve IT culture by investing in specific practices like Agile and DevOps. I went a little deeper with 5 Principles on What Makes a Great Agile Team and provided more specifics on what makes an agile development team succeed over long periods and contribute to IT culture. I then went to the dark side pointing out 20 bad behaviors of agile product owners and 33 Bad Behaviors of Agile Developers and IT Operations to highlight a list of behaviors that have negative contributions to IT culture.
Course Correcting Negative Behaviors
Let's look at some negative behaviors from my last post and consider options and solutions. What practices should IT Leadership focus on to improve IT culture and address bad behaviors? Here are three:- Drive Collaboration and Communication Behaviors to insure teams are working well with their business colleagues on opportunities, solutions, and innovation. To irradiate the dividing line between "requirements" and "implementation", the number of people in the IT team that need to be able to communicate and collaborate with stakeholders is significantly larger than in decades past. Improving communication is an easy starting point to get developers, system administrators, engineers, business analysts to be better prepared to collaborate. Here are some places to start:
- Mentally says no, or actually says no to an idea or request without listening to the business need and priority
- Communicates in technical jargon or overly complicates the message back to a business user when responding to a question
- Creates blocks and waits for requirements without engaging the stakeholder or proactively proposing opportunities, problems that need to be addressed, and solutions
- Fails to regularly communicate status when resolving a critical issue
- Evangelize actions that drive IT Efficiency - It isn't going to be easy to justify investments to fix manual work in IT or to dedicate application development releases to fix bad software. Both of these issues need to be avoided before they are created and fixed incrementally over time. It's why addressing behaviors like
- Fails to automate tasks and leaves significant manual steps in a technical solution or
- Creates technical debt but does not itemize it in the backlog to be fixed or
- Doesn't provide documentation, training, or other knowledge transfer to ensure colleagues can support the technologies he or she developed
- Insure IT decisions are data and quality driven - IT is the hub of so much operational data, yet they often leave out the discipline required to review this data, develop metrics, and leverage in their decisions on priorities, problems, and solutions. If IT isn't using its own data, then how can it be a part of a data driven organization? In addition, if IT isn't paying attention to quality or security, then how can it deliver reliable and safe solutions? These behaviors underscore issues that need need to be course corrected:
- Chases rabbits when trying to diagnose performance issues without reviewing logs and metrics to guide efforts to areas of higher importance
- Over engineers solutions and inflates estimates
- Treats quality assurance, testing and security as an afterthought and doesn't bake these paradigms into designs
- Doesn't implement unit tests, performance evaluations, or other test driven practices to ensure that code is reliable and functioning properly
are critical because without making them, it is likely that any new technologies instrumented today will have "legacy" issues in the future.