Operating Dev

Blurring the line between software development and operations

Operating Dev - Blurring the line between software development and operations

Evolving codelines – mastering the runtime

Image from http://www.techgatherer.com/newvem-unveils-first-ever-iphone-app-for-managing-amazon-cloud-services/In last week’s article, I have argued that most software code is at what I called maturity level 1-3 and only those teams that practice coding as a deliberate discipline achieve level 4. At this level they are controlling every aspect of their deployment, like configuring the application, managing shared libraries and third-party dependencies, deploying or migrating their database, etc. They are also taking advantage of scripted builds, continuous integration and automated testing, which are pre-requisites for successful adoption of agile and lean methodologies.

But there are two more levels (and maybe more can be achieved through innovation) that are pushing the limits of what is possible with code. Arguably, these levels are only possible thanks to advances in virtualization and cloud technologies and may be beyond reach for certain type of software products that have to deal with traditional infrastructure or where the maturity of the tools available is making it harder to go beyond level 4. (Those projects are possibly limited more by tradition and mindset than tools, though.)

Continue reading

Evolving codelines – maturity levels for software products

Scene from the movie The MatrixI am often asked to give advice on the most important processes a software team needs to implement for managing their code. The discussion usually moves from version control, to branching and merging strategies, unit testing, code reviews, static code analysis, build automation, continuous integration, test automation, code coverage, stress testing, etc. But one aspect I find as important as all of the items above is the scope your code controls. That is, how many things sit outside your codeline and how can you ensure your code is complete.

When you think of code, what comes to mind first? The lines that define your application features I presume. But those features don’t come into life in a vacuum, solely from your code — unless you’re coding The Matrix that is ;-)

Continue reading

Life as a Service – Can technology fully commoditize the access to our skills, thoughts, ideas – even our lives?

Image from http://purwadhikanusantara.wordpress.com/2011/09/01/cloud-world-a-service-centric-world-english/I’d like to propose a new paradigm to describe the impact of the cloud and related services on our world. I think we’re unconsciously changing our lives to adjust to a world in which many things are delivered to us as a service – that is in bits and bytes according to our needs, schedule and budget. Unfortunately we’re still not aware what its implications are and if we need to be wary of the changes or welcoming them. It seems to me we’re developing a hunger for more and more services and we’re slowly adopting service oriented lives.

It used to be that in order to get something done in our lives we had to spend considerable time to obtain and learn the tools needed for the task, prepare an environment to do the work in and then hopefully get enough time left to complete the task. But then some folks realized they can start delivering the tools and means to us so we ended up with broadcasting services like TV or radio, pizza or newspaper delivery, etc. We still had to turn on the TV and choose what to watch or open the pizza box and eat, but we no longer had to put the preparation time compared to say going to cinema or a restaurant.

Continue reading

Software Defined … When new technologies cloud the value of the cloud

Map from http://jedi.be/blog/2010/10/13/the-map-is-not-the-territory-the-world-of-it-anno-2010/A friend who got interested in concepts like DevOps and Infrastructure As Code after I introduce them to him, recently forwarded me an article in PC Magazine about something called Software Defined Networking (SDN). Being passionate about technologies that virtualize hardware infrastructure and allow you to programmatically manage your resources, I was immediately intrigued and decided to look up more information. After all, as the map on the right indicates, the IT landscape is very complex and if Dev & Ops can be put to work together by using a software driven approach to typical infrastructure needs everyone should be a winner.

Continue reading

The ugly side of agile

Image from http://agilitrix.com/2011/05/agile-the-good-the-bad-and-the-ugly/I recently learned that a local software development company decided to implement Agile “properly” and in the process let go everyone with any process knowledge of experience. “Dev will do it themselves” was the message these people got at the door.

(If anyone is in need of good people with experience related to product or project management and delivery,  customer engagement and similar email me at kima@operatingdev.com to put you in touch with few I know very well.)

Continue reading

Humans vs. technology – can we standardize one without the other?

Cartoon from www.weblogcartoons.comWhile advising a client how to properly implement agile methodologies like scrum recently, I was talking about the importance of automation to their team and mentioned that automation starts with standardization. What I meant was that to reduce the cost of automation they need to standardize the platforms and technologies they use for development and production. The reaction from their people got me thinking. Their response was ‘Are you saying we should ask everyone to use only one programming language? We are a small company and we have been trying to attract talent by letting them choose the best technology they think will help them do their work.’

Continue reading

Raising human capital

CrowdfundingThere has never been more options for startups to get early funding. In the past one was expected to put personal cash or beg for some love money from family and friends – with few lucky ones being able to get bank loans on their mortgage.  Today the list of crowdfunding sources, incubators, angel hubs and similar is rapidly growing around the world – creating a strong motivation for early startups to try and take advantage from some.

Continue reading

Fault-tolerance and scalability for the masses

I was initially thinking to name this post “Eating your own dog food” but thought that talking about fault-tolerance would be more appropriate given that the technologies I am going to talk about are produced by someone else, not me. Still, the concept of dogfooding is an important one in the context of DevOps and Operating Dev and my goal was to use this blog to demonstrate not only the concept but to also put my money where my mouth is and provide some insight along the way.

Continue reading

What is Operating Dev?

DevOpsOperating Dev came about as an idea inspired by DevOps, which aims to bring software development and information technology closer. While the definition of DevOps may still need clarification, a major focus of this blog will be on the gap that DevOps is trying to fill in – the disconnect between software development and  IT operations. I would like to use this blog to discuss DevOps and additional related practices and methodologies in an attempt to share some of my learning with other people and get feedback from the readers.

Continue reading