Mobile SDKs (software developments kits); love them or hate them, they're here to stay. They provide our apps with all sorts of functionality that would be incredibly time consuming to build, and they give us another means to monetize our apps. While it would be difficult to argue that SDKs aren’t useful, it’s also hard for developers to get a good idea of the amount of resources used by each SDK once the app is in production ...
DevOps means a mindset of getting better at getting better. You need to get better to fulfill customer needs, and therefore you need to get interested in what your customer wants and make sure the feedback loop will be as short as possible. How do you reach the state of "get better at getting better"?
A DevOps/Agile Organization
Let's say an Agile company is like a super fit body and mind. You are able to deal with all kinds of circumstances, able to make mistakes, solve them, learn from them and move on. You are able to improve yourself towards the expectations of the outside world, which helps you to stay ahead of competition
An Agile organization is totally DevOps. Everyone is working for the same cause, the product delivered to the customer, based on customer needs and feedback. You are able to respond quickly enough to feedback or changing circumstances. You are able to deliver high quality products and fast.
How Do You Get There?
First you need to have a clear vision and mission statement. For this I'd like to refer to the golden circle of Simon Sinek.
■ WHY does my company exist? What drives the company?
■ HOW do I do this? How do we distinguish ourselves? What makes us unique?
■ WHAT do I need to do to get to this vision? What products do we deliver in what way?
Most companies start with WHAT. They begin to copy "way of working" of other companies and, for example, they implement Scrum in order to become Agile or do micro services, because Netflix did that. They hire bad consultants who are not capable to understand or get to the real drivers (why) of the company. Mostly these consultants want to stay in the company as a long as possible. The mindset of co-creation, transferring knowledge, leave a learning organization behind and do the heavy lifting is not always there. Just like my "Power or Cardio" trainer.
Most companies do not start from inside. What is the core to make it a success? Your company is not equal to other companies. You are unique. You have a different goal or purpose in life than other companies.
To stay unique, it is important to see how the journey of other companies towards an Agile organization. Take away what you like and implement it your way. A copy is never as good as the original,
By copying, you only copy the practices and not the mindset. Using Scrum does not make you an Agile organization. Also copying buzzwords (tools) and try to implement these will not make you a DevOps organization. Like saying "We will become the Netflix of our country", while you are not offering streaming services. Companies try to steal the golden egg, but not the goose that laid it.
A pitfall of copying DevOps practices is that these practices will be managed by processes and procedures. Companies try to paperize DevOps/Agile by using frameworks and all kinds of procedures.
Procedures and processes are important ... no! They are sacrosanct. Processes help you to uniform your product delivery and therefore adding value to delivery BUT! They are always supportive to delivery. It's mostly not the process what needs to be changed, but the mindset of the company and people. Towards a DevOps mindset.
Read Part 3, outlining the pillars or "muscles groups" of a DevOps transition.
Mark Heistek is Head of Delivery and Founder of Devopsense.