The Joel test

10 02 2015

Yesterday I got asked my thoughts on the “Joel test”, as a good friend of mine got the bad news that his development team is scoring just a 7 on the Joel test. He wanted to know what it is and “Is that score a cause for concern?”

This post is going to be a little tech focussed as I am sure you are guessing, but if you are a CEO/CFO and want to know what’s going on (what you’re spending your money on in an IT development team), then you will find this post of value.

Now, I’m not a strong believer in trying to measure your development team success or their strengths by any means other than, are you happy with the product being delivered? All too often we get caught up in some form of metric for measuring just how good something is, and while we are doing that and maybe getting great “scores” we seem to lose sight that the product being delivered is actually poor. However, that being said, I think the Joel test is a good indication of your software development environment, and if that is in good working order you are at least giving them the best chances to succeed.

The Joel test is dead simple, and though I’ve read lots of opinion on it not working for Agile, I simply have to say – use a bit of common sense and apply it in the correct fashion to your preferred development methodology. I am a strong believer in agile and SCRUM, we operate that here religiously, and I would say our Joel score is at 11. Not the perfect 12, simply because I don’t always fix bugs before continuing on with new development work, I personally prefer to address bugs towards the end of a development cycle.

So here we go, the Joel test:

Do you use source control? You must be saying YES to this, simple as that. Good source control will also provide you with build services for continuous builds, see a later question.

Can you make a build in one step? Should be a YES. Builds or build scripts or continuous build services ensure your code is at least always able to build and run. When a build is broken, you have to fix that before anything else, and what’s great about a continuous build is you find these problems out sooner rather than later.

Can you make daily builds? See above I would say

Do you have a bug database? You MUST have something like this otherwise you have no hope tracking issues and fixing them. You don’t even need to be that sophisticated, though I like my UAT testers to push bug issues into the same control we use for specifying out storyboards (SCRUM).

Do you fix bugs before writing new code? This is the one I let slide. I make sure everyone is aware of them, and if they are in an area of the system that will be worked on then YES, let’s do that. However, often bugs are not in the same areas, and in such cases I prefer to keep the development velocity up and come back to those bugs at a specified date and time (typically the start of the following development SCRUM).

Do you have an up-to-date schedule? Now some will say NO to this as they use XP or something. Personally XP is hit and miss. SCRUM lets me specify out what storyboards we need to work on, and then we work on them. We don’t have an old fashion specification as such, nor an old fashion schedule, rather we have lightweight roadmaps and storyboards, because that is what SCRUM needs. So I still answer YES to this question, though we use SCRUM.

Do you have a spec? You need to have some spec, so if you answer no to this, then your development efforts will fail. SCRUM provides developers with a spec in terms of the storyboards they follow with the identified tasks. Without them, you have no hope.

Do programmers have quiet working conditions? This should be a yes, even if you are using XP. Collaboration is always ok, but the conditions will on the whole be conducive to concentration.

Do you use the best tools money can buy? We do, but I don’t think this is the end of the world if you write no to this. I personally like to push the team forward as the best tools typically help productivity.

Do you have testers? I hope you answer YES to this.

Do new candidates write code during their interview? This is harsh, but I insist on this, and what’s worse I insist it be done with just a pen and paper. I’m not looking for syntax, rather a good understanding of OOP and problem solving.

Do you do hallway usability testing? Not sure many people do this, but I do like it. I especially like expanding this out to focus groups if and when you get the chance. If you don’t have resources for this, hallway testing can be easily completed, just get some friends and family involved J

Anyway, that’s my take on the Joel test, don’t get too hung up on your score, but like Joel states, a score lower than 10 indicates serious development problems…I would probably say lower than 9 is big trouble…

workFile Vision. A change in direction

12 11 2010

Today’s post is very much centred on Business Process Management (BPM), Enterprise Content Management (ECM), Customer Relationship Management (CRM)…

 Some of you may keep an eye on the news from my company, One Degree Consulting. If you have, you will know that our workFile ECM & BPM side of the business (platform) will be going through a transition phase in the coming weeks and months. We have effectively torn up our existing road map for version 2.0 of the workFile Vision product, and put together a new one. This new one with some big, well massive, changes to how we see the future of IT in business, the future for business solutions, the future for SMEs access to solutions and consequently to the Vision solution itself…

In the coming weeks, workFile and One Degree will publish more information on the changes, and the effects these will have on the Vision suite, and how these big changes will provide benefits to business.

In this post though, I want to give a quick outline to what some of these changes in thinking are, what the changes are in the Vision product, and what the drivers are that led to this drastic new thinking…

Single Silo…That singular degree of separation

workFile is, if you didn’t know, an ECM and BPM platform. However, it also allows records management and with that, the ability for CRM to an extent. Other business focused modules are built on top of the records management capabilities. However, all of these are very separate modules and silos, only aware of small fragments of data that can be shared between the two, effectively linking that content and making it of bigger use to an end user…

So what’s the big idea? Well the big change is to move away from a multiple silo approach, and to bring these different elements closely together, effectively delivering a single silo solution for ECM, BPM, CRM, Records Management, and dynamic content processing and capture. The CRM module will be a thing of the past, and a dedicated customer focused section of workFile built (not on top of Records management functionality not seen as a separate module).

In essence, ECM, BPM, CRM etc will become modules of the past, superseded by a new way of looking at how we work as individuals, teams and as an organisation, and also how your organisation communicates and engages with its customers…All of these elements seen as one…

So how do we achieve this with the new version of workFile Vision?

Through state awareness, user empowerment and adaption. The concept here is to ensure true state awareness between the user, the customer, the content and the process. BY process, I don’t mean a rigid path, which work must follow, rather a process guide, which is highly adaptive to the content needs, the needs of the customer and the needs of the user.

In addition, the singular UI and underlying capabilities of workFile – to allow real team working on items of work, makes life a lot easier for the agent to collaborate and process their work. This may not sound like anything that new, but it supports newer ways of working. We have a vision that people will work more as teams on individual pieces of work, effectively pulling together on items of work, not in a collaborative fashion but in a real sense of working together. This is a big move away from BPM and Case Management as it is today, with the concept that we work as individuals and move work along at the centre of work / process thinking.

Max J Pucher has a great article on the future of work, in which he talks of users “swarming” to do work. In it he also states that by 2015, 40% or more of an organisations work will be non-routine, which is currently at 25%.  Take the time to read his blog, it is very informative… Have a read of his article, )

More than a single silo…

A single silo that supports content, customers, additional records and the process information is the best approach. In addition, interconnectivity and multiple feeds of data will mean not only will users need greater perceptive skills, but their software needs to be able to deliver this to them in an easy to identify and work fashion.

workFile though provides real flexibility in terms of content, status and structured data. This allows the flexibility to teams to create new structured data records on the “fly” and in essence joining them directly to their work (which could be content based, customer based etc.) This may all sound complex, but essentially it is quite simple…Its how we would naturally work without the rigidity of structured processing…(BPM).


Though we are moving to a single silo, this doesn’t mean a centralised solution. On the contrary, we believe that departmental distribution is key to freedom and success. So workFile will support a greater level of distributed processing, with departments being able to create their own content guides, their own process guides, rules etc. But, this doesn’t mean we are allowing duplication. Commonality between departments will be identified and illustrated, and wherever applicable (and suitable) shared between them.

It’s a team approach

Working in “swarms” sounds quite fun, but in essence it means tightly knit teams, working together quickly and efficiently. Traditional BPM presumes we work on pieces of work as individuals, then move it along to the next person. Sure occasionally we will allow “branches” in the processing, or splitting of items of work, but it doesn’t support multiple people working on the same piece of work at the same time. So, with this in mind, Vision 2.0 will support a more team approach to working, and will ditch the rigidity of its traditional BPM platform, which was used for defining how users work.

Social Media

While social media is taking off, organisations either see this as some wonderful marketing tool or as something they need to get control of. However, social activities and social media sites, conversations etc are becoming increasingly part of a team’s working day. These conversations and interactions aren’t carried out at a set time, they aren’t structured in their content and don’t form strong ties between you as an organisation and your customers. In addition, they are often disjointed, with an organisation not being able to tie social media engagement with a customer, to a customer record for example.

So the trick is to ensure interactions can be processed by the right people, that the right people provide good information, and that Social Media is seen as a form of engagement and conversation, not just free marketing. In addition, the content generated from these interactions allow a flexible way of working, after all, the customer may send requests that don’t follow a strict pattern, and as such, the user must be able to facilitate these requests flexibly. This content should also be recorded and brought into the solution, so that other team members have all the information they need to help….

workFile will become a lot more social, interacting with typical social media websites, and allowing users the freedom to interact in an expected fashion.

Flexibility, adaption and yet accountable

Organisations and management want to have full control, however, if they do, things become too rigid, too centralised and ultimately inflexible. So, the solution is to trust our workers, to empower them and let them do their jobs. Sure we need to ensure quality, service level agreements etc. but this can be done through guidelines and empowering users. Accountability will always still be there, with solutions recording all interactions and use. But the point is, the user has the power to process the work how they wish (to an extent obviously, certain rules have to be in place for compliance).

The big winners of Vision 2.0

So who is workFile Vision to be aimed at? Well the big winners at first will be SMEs, simply because workFile is used mainly by organisations that fall into the SME category (with the odd exception). The new version will be able to drive the cost of IT and these types of solutions down for SMEs…

However, larger organisations can easily benefit from this new way of thinking and working. If anything, while SMEs will see benefits due to a smaller investment, larger organisations will not only share in this benefit, but will also see dramatic increases in productivity and efficiency. All of this with the reduction in administration and licensing costs…..See, we didn’t call it Vision for nothing.

Finally, a change in name…

Finally, the workFile ECM & BPM platform name will be no more. Though Vision is the product suite, both the terms ECM and BPM will be replaced from the workFile company name. Why? Simply because workFile will offer a lot more, and it deserves a new description of what it delivers…The marketing people can think of something I am sure….

The method before the BPM software…

29 10 2009

Today I was asked to comment on the ebiz forum with regards to a question that was raised, “What comes first: the process improvement methodology or the BPM software”. Now I was a little surprised to read this question as the answer seems so obvious…However, looking at it from a potential customer venturing into the unknown world of BPM I can see, and have seen, why so many may get this questions wrong…

Process is everything

If you are looking at your internal processes, then simply remember that processes are everything. The fact that you are choosing to review your process means you have in-fact started a process, the process of review. Sounds a little weird, but if you think of everything within your organisation as processes or process driven, then you will automatically put into place a process for improving your internal processes.

All too often people look at BPM and its benefits and go straight to a vendor and say “what could you do for us here…” This isn’t a bad question, it’s just that you have jumped the gun, often because of pressures to cut costs and raises efficiency by yesterday.

To put it simply, if you don’t have the process to improve processes, then there is no point in having a platform that is built around process.

Process of starting change

As regular readers of my blog posts will know, I always try to break things down and keep everything as simple as possible. So if you are looking to improve processes and process efficiency within your organisation, a good couple of points below will help you:

  1. Someone within your organisation has to take ownership, and deliver the necessary drive for process change within your organisation. Without such a person, you will always struggle to make change happen
  2. Identify what areas of the business you are looking to improve process efficiency within and to get agreed just what are your current processes (a good consultant will help you with this, and is something that is so often overlooked. In many many cases, the workforce carry out a different process to that understood by management levels)
  3. Get in place a process design / method for identifying process changes, and how to raise these changes from the ground up. (Again, a good consultant will help you with this)
  4. Identify process improvements in full detail, including areas for automation and integration
  5. Look at BPM vendors. Make your decision based on flexibility, potential scalability and integration. Never ever get sold based on a fancy demonstration.


Identify the requirement of change, and get a process in place of bringing it about. Never let a demonstration or a particular technology drive you into making decisions on process change, or how to bring about change. The final part of the puzzle is the actual tool to use to deliver new processes across your organisation (this is a very important part though, and below I have listed some points to remember when choosing that tool)…


Choosing the BPM platform

This is so important, get it right and you will reap the rewards that BPM can offer, get it wrong and you will find yourself increasingly frustrated.

Flexibility of BPM software is key, you need to know that you can change processes efficiently within the software. Obviously don’t expect to be able to just click a couple of icons and hey presto, your process is updated. This may be shown in a demonstration, but in an actual workable system this won’t be practical….Just ask yourself these questions: What happens to the items already in that process? What if that new step requires integration with another system? What if it requires a high level of automation?

Scalability is also an important factor. If you don’t have scope to scale the BPM software then you will struggle to tie together many processes and departments. This puts immediate limits on how effective BPM will be for your organisation. Also remember that scalability can include the number of process maps, but also the numbers of items within each process, or the number of users using the system, even the number of automated steps…

Integration with other systems really delivers great process efficiency. Many demonstration will show how “out of the box” steps and processes can integrate with applications. However, this looks great in a demonstration, but again in the real world, how useful is this level of integration. Often you need very complex integration rules and calculations, triggers etc. This means you need a system that utilises communication tools and provides development capabilities.  If it provides this level of low level communication, then your BPM integration will only be limited by the level of integration your third party applications can provide. As a rule, ensure your BPM software delivers an extensive API (best if XML Web Service Based), and delivers the ability to write and create customer step processors, where developers can build interfaces and between the BPM software, third party software and the user.

Finally, one of the key things is assessing how you will work with the BPM vendor. It is so important to know that you get good quality support services, that the vendor is honest with you and if they don’t quite understand a requirement that they say so. All too often in the bid to win work, software vendors will nod their heads and say “yeap, that’s not a problem, it can do that…” without really understanding the requirement. With any BPM solution, you must have a good relationship between yourself and the vendor, one that is built on honesty, even if that means sometimes a slightly bumpy ride when agreeing on functionality and prices…

Cutting IT costs…It all adds up!

10 06 2009

In a series of posts I have been looking at the ways in which ECM can save organisations money. However, today, I thought I would look at how business can make savings with regards to IT related costs in general. By following some “general good practice” rules, your organisation can make savings each month, which over time all adds up. Below I have compiled a list of points and questions you should think about, these will help you save money!


1.       That energy bill

Let’s face it, energy bills are a large expense of running any organisation. IT makes up a large portion of your energy bill, and as such, good IT energy-saving practices can drastically reduce this cost. So here are some pointers on how to reduce that energy bill:

  1. Consolidate your servers wherever possible. If Virtual machines are an option, take advantage of the energy and space savings these can bring
  2. Ensure your staff don’t leave work stations on for no reason
  3. If staff aren’t using the monitor, have them turn it off, rather than leaving it on with a screen saver running
  4. Take advantage of power setting options in your Windows operating system
  5. Turn off lights in your server room, these only need to be on when someone is in there working
  6. Switch to energy efficient light bulbs etc across the complete organisation
  7. When purchasing IT hardware, check the energy rating of it.
  8. Cut down on the number of work stations available. There is no point in having work stations available and switched on, if no user needs them. Allowing “hot desking” often helps here
  9. Allow some users to work from home
  10. Remember stand-by is not energy saving. If you don’t need something on (PC, Monitor, projector etc) then turn it off completely

By following these 10 guides your organisation will notice reductions in that energy bill almost immediately. In addition, think of the reduction in your organisations carbon footprint, an added benefit when saving money!


2.       Does our staff need all this technology?

Often staff request and enjoy using all the latest gadgets and technology. A fine example is Blackberry phones etc. But, before you issue these, does this staff member really need this technology? Is there a real benefit of investing in this gadget? The same can be applied to work stations, often over-specified for the users’ requirements and therefore more expensive than needs be.


3.       Mobile perks?

Many employees today enjoy mobile phone contracts with your organisation paying for x minutes to the network provider. This is understandable, and keeping connected for many business users is very important. However, 1 in 4 members of staff only use 75% of their minutes.

It is very hard to put together mobile phone policies for organisations, however its best to continually review your requirements for each individual, probably on a ¼ per ¼ basis. My own company does not provide mobile phones, opting to pay for any calls / a proportion of the bill based on the amount of time is used on company business. This drastically reduces mobile overheads.


4.       Can an employee work from home?

By allowing employees to work from home (not necessarily everyday) your organisations saves money on office supplies, electricity, heating, air conditioning and even space. This means do you really need to be paying for such a large office environment? Could you down size?

The benefits are also there for the employee. For those who commute, the added stress of this commute is negated, which can only be a good thing for productivity. There is also the reduction in your employee’s carbon footprint relating to them commuting to the office. Finally, employees working from home can be more productive on intense tasks as they are less likely to be disturbed.

Corporations are often scared of this because of two main reasons:

  1. Are their employees actually working, or are they doing the house work?
  2. IT Security. Are we secure if people can work remotely?

Well the first concern will always be there. However, if you judge your employees on what they deliver, this can be quickly established if they are able to perform while working from home. The second option is not a concern. Modern network security and configuration ensures your systems are secure.

My own company strongly supports individuals working from home and collaborating over the internet when required. This means that our registered offices are kept to a minimum size and are only used when required. We have found that productivity of staff is actually increased, mainly due to increased working hours and a reduction in commuting stress and time. Working remotely also has drastic impacts on our energy bills…


5.       Outsourcing

Outsourcing certain IT tasks / jobs can save vast amounts of money. However, it can also cost you vast amounts of money. It is therefore imperative that you review exactly the costs and savings that can be made by outsourcing your IT for each particular area and job. There isn’t a golden rule here, and you must look at your own organisation to get a real feel for this.

Do not hire full time staff to carry out tasks that do not equate to in hours, to a full time job. Look at contractors or organisations that can provide you with skilled individuals on an ad-hoc basis.

Certain tasks do lend themselves to using outsourced IT skills, but these do vary from company to company and the size of your company. For many small to medium sized businesses, great savings can be made by utilising an IT organisation to provide your IT support and maintenance. However, larger organisations are often aware of security issues and prefer maintain some of their own personnel who will be in charge of IT strategic decisions and security. This is fine; however, for lower skilled areas / where security isn’t such an issue, contractors and outsourced services can still provide great savings.

Consultants often have a high initial investment attached to them; however, good consultants will provide you with new ways of looking at business processes and use of IT. Check the credentials of your consultants and ensure you obtain a daily rate and fixed number of day’s quotation (if possible). Also be clear what you expect them to deliver at the end of their project. This helps you maximise the potential return on this investment, something which can be hard to measure initially.


6.       Failing to test upgrades

When upgrades to systems are available, ensure they work on your current architecture and ensure they won’t harm other applications etc. This is imperative. Many man hours and money has been lost by organisations that roll out changes without testing them properly. This means added work is generated repairing and then testing correctly the upgrades. This can not only have an impact on your IT staff, but obviously on the actual business processes your IT is there to run and support.


7.       Upgrading technology for no reason

Sometimes machines are upgraded for no good reason. What is the point of paying for additional hardware upgrades when there is no benefit to the users or to the business?

Though many organisations choose to upgrade their hardware and software on a “routine basis”, this isn’t always the most cost effective method. For example, organisations choose to upgrade their hardware every X years. If in a “leasing” scheme, this ensures fixed costs monthly, however, many organisations purchase their own hardware. For these companies it is far more cost effective to ensure that upgrades are only carried out when required (however, please don’t take that as advice to wait until hardware is ready for the scrap heap).


8.       Failing to upgrade hardware and software

This is really the flip side to point 7. If you fail to upgrade your technology or software, you will hinder the way in which your business can perform. There is no benefit in maintaining hardware that breaks down, is now far too slow to keep up with your software or causes security issues. It simply stops your staff getting their work done, and reduces productivity and ultimately, has a negative impact on your efficiency and profitability. In addition, modern machines are much more energy efficient, again providing savings to your general IT costs.


9.       Hardware branding and costs

Ok, so you like the look of brand X, and you want to move all your machines to that brand. However, is that brand the best value for money? Does it really offer you better long term stability? Energy efficiency etc. All too often, organisations are tempted to commit to a certain brand for their hardware, without looking at the competition.

Also, do you really need that super-wizz-bang printer? Or could a simply Laser jet do the same job for you? Again, too many organisations over specify their actual hardware requirements, which mean they overspend.


10.   The cloud for storage and software?

The buzz word of the moment, the cloud…Can cloud computing save your organisation money? Well this is a strong debate, for me, larger organisations don’t have much savings to make from utilising the Cloud for hardware, storage and software. However, small organisations may well find savings to be made by utilising cloud based hardware and services. Ensure you check this out in great depth, there are far too many claims made about cloud computing saving money when once you look under the skin, will more than likely save you no money or in reality, cost you more.


11.   Keep a lid on the training budget

Some software you purchase will require large amounts of investment in training. However, there are always efficient ways in which to train staff. Do your employees really need to travel great distances to attend training days? Do you need to send staff members off to a particular conference? It is always worth considering peer to peer training where only a limited number of people are trained and they share this training knowledge with the rest of your staff.

There are also great arguments for on-line training facilities and DVD based training options. Both of which can prove to be effective and very cost efficient.


12.   Company expenses….

In light of MPs expenses, this may already be in your mind. In my own experience, travelling or working away can often mean for some, a “jolly on expenses” outing. While I don’t want to appear like a scrooge here, such activities and mentality can cost your organisation vast amounts of money over time.

If you have more than one employee travelling to the same destination etc on company expenses, ensure they travel together and take the most cost efficient form of travel. Again, not only does this save money, it also reduces your organisations carbon footprint.

Ensure you have strict and clear expense policies. This includes food, drink, hotels, phones etc. etc.. And don’t be flexible with these policies (word soon gets around if someone has got away with something they shouldn’t have).