I’ve been a build master a number of times and built/configured automated build systems that have worked quite well. In those cases I mostly used SVN, Cruise control and a couple of other plugins. Being a Build Master is a tough job and unless you lay down the ground rules at the start of a project it will be hard to maintain source control discipline.
One of the most important rules is commit early and commit often, this way changes can be easily merged or retracted when needed. With both GIT and SVN Trunk, branching and tagging is essential to allow multiple streams of development for rapid release cycles. A strong test system is also required to allow for automated testing to pick up problems early with the build. I don’t believe in 100% coverage because of the usual budget constraints but if standard test best practice is follow your problems should be kept to a minimum.
Both Git and SVN are great source control tools but are both quite different in their implementation and challenges for the build master. SVN is more centralised and requires you to be able to connect to the server to do checkin’s and query the repo and logs. GIT is a self contained source control with the advantage that you can commit and query as much as you like offline. You then sync your source with each of the teams GIT repos or a central GIT repo which everyone syncs to.
The one you choose comes down to the type of team you have. If you have free thinking developers who have good initiative and are experienced with source control then GIT is the way to go. As a build master most of the issues with GIT is ensuring that the team merges regularly. If you have a team of developers who need a fair bit of oversight then SVN is a better way to go. Most of the issues with SVN is with people who don’t commit often enough and with SVN it’s easier to see who is checking in when and what so issues can be picked up early.
A phrase coined by noagendashow.com that if you enjoy their podcast that you should donate to show you had received value from it. They are truly committed to this idea by taking no advertising. This allows them to put their audience first and to not suffer from pressure from the opinions of advertisers or to fall into complacency because of a secure income. It’s not easy and some weeks they get more donations than others but its a good signal to let them know if they are doing something right or wrong making them accountable to their audience.
I have the same view in my work. It’s clear when the clients feel that they are getting value because the accounts grow and there are more opportunities. It’s also clear when clients don’t see value they go looking elsewhere for cheaper or more innovative competitors.
The objective is clear to me, focus on what clients value and they will give you what you value.
Value for Value
In the last couple of years I have been doing a lot of work on SharePoint. SharePoint is a great document management and Collaboration tool. Putting on my business solutions hat, this has me thinking what is the message that businesses are sending when they heavily invest in collaboration tools.
I think the value of collaboration is to cut through the red tape of hierarchy, process and management to get direct access to people with important skills within their organisation. Direct access means that you can quickly find and communicate with the people with the skills to deliver the solution you need.
Ultimately I consider the objective of collaboration is that teams are no longer single function and fixed but that a business is made up of individuals who create, join and leave teams as needed providing the best chances of success. The fear I see from people when they consider this solution is that it wont be controlled. This fear takes time to overcome and means that achieving the final goal takes time but once they are there people will wonder how they survived before.
I’m a big fan of Chaos Theory and it is a key philosophy that shapes how I view the world. Simply it is “Just because something is deterministic doesn’t mean its predictable.”
Chaos Theory also has a concept called Fractals which is where actions can appear to form patterns and then suggest behaviours. This is also know as spontaneous order.
Computer Systems are a great example of this. I can produce a solution that works perfectly in one environment but fails in another. Any small deviation in conditions can have a drastic difference in results.
With this fundamental understanding of chaos I am then able to stop looking at IT solutions for problems as a matter of process and control, which in my experience is very costly and still fails, but with the goal of promoting spontaneous order.
Spontaneous order in my experience results in people using systems unpredictably to meet their needs and ignoring things that aren’t necessary and harm productivity. In some cases this can mean ignoring the system entirely if the controls are too strict and the process is too much hassle.
Reducing controls and allowing people to create spontaneous order increases productivity, buy in to the new solution and greater use of the system overall that the business has invested in. All be it in a way the business didn’t intend.
SharePoint is a great example of seeing the difference between control and spontaneous order in action. When IT provides a solution that people must follow there is a great cost in time and effort to get people to buy in to that solution. But give them a sandbox to play in and they come up with fantastic ways of making their jobs easier with much less cost. We can then add to that in an evolutionary process to expand on what works best for each team individually.
Regardless of what the requirements are if people are getting their work done faster and better then that is mission accomplished.
This to me is the key point in the article
Too much of life today is about security and safety and we end up scared of change closing ourselves off to opportunity and real success.
In my opinion the most prolific example of the rationalisation of motion is clearly in exams and their business equivalent kpi’s. To me an exam or kpi say nothing about the real performance of a person but still are used as measures of someone’s success. To me exams and kpi’s just show that you do what you are told!
There are many reasons, or as I like to call them excuses, for motion but in all cases where I have achieved my greatest performance was where I put the responsibility on myself and took action. I then either profit from success or am punished for failure.
Cloud and Big Data are the buzz words of the year at the moment but what do they actually mean.
Simply put cloud is just externalising cost. That is, getting an off the shelf or online solution that meets the need of the business and encouraging the provider to add more features that they need. This intends to replace consulting and internal custom development which is very high risk.
Big Data is just fancy reporting. This is always a requirement but has been rebranded for this year due to the continued advancement of database servers and the hardware that can run larger sets of information and more complicated rules.
With the innovation in information technology making building and using technology exponentially easier these are solutions well worth getting for any business.
This in turn changes the employment landscape for the IT industry people losing jobs but new jobs being created in a more effective area to meet the new dynamics of providing those solutions. Thankfully the people in IT are flexible enough to change with these and run with these evolving concepts. For example consulting companies changing to becoming online service providers and less consulting.