Don't Let Agile and Open Source Stress You Out

Friday, February 27, 2015 by Rainer Stropek

Image source: https://flic.kr/p/8RVu1X, Creative Commons License

Time cockpit has been built on Microsoft technology. This part of the tech-world is currently undergoing a major makeover. Things are not only evolving technology-wise. Microsoft is also radically changing its project management. Things that used to come yearly in big waves are now torn apart into separate components with short, distinct release cycles. Additionally, Microsoft has decided to go all in on open source.

Feeling Constantly Out-of-Date

In the last few months, I have recognized a rising problem in software development teams on the Microsoft platform. They are panting as they try to keep up with new release of the components and tools they use. NuGet has become a nightmare for them – not because it is poor technology but because it keeps them overly busy. Every day new announcements arrive. A constant fear from getting out-of-date forces them to follow the respective team blogs, twitter accounts, news sites, etc. This is not only consuming more and more time. It also places mental stress on development teams.

Like a Deer Caught in the Headlights

Open source can even make the problem worse. As a developer, you can now watch your base components grow starting from the very first day of discussions about the corresponding specifications. After all, everything is open on GitHub. You can even watch Microsoft’s team meetings on Channel9. You can have your finger more on the pulse of the time than ever before. Sounds great, doesn’t it?

Well, if you are not careful, engaging too deep can catch you like a deer in the headlights. Teams start to hesitate from making important decisions as they have “heard that Microsoft is discussing this-and-that and it might change everything in the future”. Valuable time is wasted by postponing development work, endless (b)leading-edge evaluation projects, etc. This is costly and can also have negative influence on the team’s moral.

Relax and Take it Easy

Let me assure you the following: Although things seem to speed up more and more, revolutionary developments are still not happening overnight. Open source is a great opportunity for you to participate in the projects that you care for most. However, you should distinguish between long-term, strategic discussions and short- to mid-term development work.

Most customers don’t care if you are using the latest and greatest development tools. They primarily care about functionality. As long as your technology is reasonably up to date, everything is fine.

Five Tips for Handling Pace

Here are my five tips for handling Microsoft’s switch to open source and rapid release cycles for components:

  1. Relax, there is no need to update components immediately as soon as they come out. Your customers care more about other things.
  2. Make sure your management team understands the new Microsoft approach, open source, and agile development. For the next items, you will need some budget and they have to approve it.
  3. Get a dedicated budget for creating a timebox for your team that is used to actively monitor and participate in the open source projects that are really important to you. By participating (e.g. write specification, give feedback, contribute code, etc.), you can influence their future direction.
  4. It is a well-researched fact that software ages. If you don’t care for it, it will degrade. Reserve budget and time to regularly update all referenced components (e.g. each month). Planning for it and executing it on a defined schedule saves you from unpleasant surprises when trying to update a component that you have not touched for some years.
    If you create software for external customers, you sales people will love this. They can tell your customers that a service contract for that topic will secure their investment in your software on the long run.
  5. Develop a strategy for detecting disruptive technologies (e.g. innovation process, visit conferences, participate in community meetings, listen to new employees bringing fresh ideas from outside). Again, you will need dedicated budget and time so that this topic doesn’t get lost or out of hand.

The Importance of Timeboxing

Timeboxing is your friend. Make sure that some time is spent regularly for the important topics mentioned above. A rule like “we spend time on this if we have nothing better to do” might lead to high opportunity costs. Additionally, Murphy’s law can hit you hard. Imagine a security leak being identified in one of the components you use. To close it, you might have to update. In such a situation, you don’t want a long upgrade project because of a version from the “stone-age”.

On the other hand, you have to make sure that effort spent for research and keeping up to date does not get out of hand. So start setting up your rules for dealing with open source and rapid release cycles. Once done, you can keep calm and relax when confronted with daily tech news.

comments powered by Disqus

Rainer Stropek

Rainer Stropek

Co-founder, architect, developer

Bio

I am co-founder and CEO of the company software architects and have been serving this role since 2008. At software architects my team and I are developing the award-winning SaaS solution time cockpit. Previously, I founded and led IT consulting firms that worked in the area of developing software solutions based on the Microsoft technology stack.

In my work I focus on .NET development and software architecture. I have written some books and articles on C#, database development, Windows Azure, Windows 8 development, WPF, and Silverlight. Regularly I speak at conferences, do workshops and conduct trainings in Europe and the US. Since 2010 I have been MVP for Windows Azure.

I graduated the Higher Technical School Leonding (AT) for MIS with honors and hold a BSc (Hons) Computer Studies of the University of Derby (UK).

Contact

Twitter: @rstropek
Facebook
Google+
Xing
LinkedIn

Authors