Initially, when I heard about DevOps around 5 years back, I understood that we were trying to remove barriers between teams, which were created based on phases in traditional development life cycles. It started with Agile, which put the Dev and QA teams together, and now by implementing DevOps, we are merging the Operations team too in order to avoid any communication gaps, and achieve smoother and quicker delivery.
When I studied some more on this topic, I got to know, that there are tools like Hudson, Jenkins, Chef, Selenium, and many others, which help teams to work smartly, manage environments and deliver faster. Later, I realized that the ultimate target of DevOps is to deliver every change made to system.
I thought, it is quite impractical to push every code change to production, but soon when we started to implement this, I noticed that it was very much possible, by making everything Continuous and Automated. There could be some business/domain/legal concerns which may not allow pushing changes to market, but neither are these valid justifications nor do they stop the engineering team to be ready to move live. It is an all in all a business decision to stop /push any change in the system to market, and by providing this control of final deployment to system owners, we name it as Push-button deployment.
At one point, I thought, I know most of DevOps, and my DevOps team is mature enough, as the same team is not only taking care of every task till delivery, but also has the required level of automation in place, where every change is passing through a pipeline, being monitored on dashboard at each step, and eligible for production deployment.
Last year I attended one seminar on people skills and productivity, and learned about “I”, “T”, “M”, “Pi” and “E” shaped people. When I relooked at my team, most of team members were categorized as “I” shaped, means, team members were specialized in their area. Inside my team there were smaller groups, few people who were taking ownership to develop, and other 2 guys were ensuring testing and similarly for other phases of delivery. Also, within one of the development groups, we had UI person, one java professional, a middleware expert and another DB expert. That’s when we discussed and decided to improve on individual capabilities and getting people cross trained.
I am not saying that my current team structure was bad, but there was definitely scope of improvement. We reached one milestone by changing the structure of the team and then it was time to change the skillset of the team members as they needed to come out of the mindset “I have done my job now it is in other team member’s bucket”. I think “Pi” shaped people (people with multiple specializations) is most suited for DevOps team, as it not only removes dependency but also promotes end to end ownership by individuals.
We also see the demand of full stack developers rising high in the market, which alarms each team member to not only focus on what he/she has been doing, but also know the other parts of system, how each component is getting integrated to form one system, and solving specific business problem for the end user.
- DevOps: In a Nutshell
DevOps is quite a buzzword nowadays. Organizations have formulated a definition for it and have implemented it accordingly. With a perspective of their own, organizations tend to think they have…
- Did Technology Dominate this Holiday Season?
It was time to shop and the US citizens did it in style. According to National Retail Federation (NRF), more than 174 million people hit the stores over the 5-day…
- Real Time Data Ingestion (DiP) – Spark Streaming (co-dev opportunity)
This blog is an extension to that and it focuses on integrating Spark Streaming to Data Ingestion Platform for performing real time data ingestion and visualization. The previous blog DiP (Storm Streaming) showed how…
- Column Store Index in SQL Server 2012
This post is about the new feature, i.e., Column Store Index which is available since SQL 2012 version. Microsoft has released column store index to improve the performance by 10x.…
- Real Time Data Ingestion (DiP) – Apache Apex (co-dev opportunity)
Data Ingestion Platform This work is based on Xavient co-dev initiative where your engineers can start working with our team to contribute and build your own platform to ingest any…
- Securing Applications from Vulnerabilities Using Nexus
Developers need certain libraries/frameworks in their projects most of which can be downloaded from Maven Central. If, however, any file is absent from the central repository, developers have to fetch…