Skip to main content

Corporate Series: (1) Processes

This post comes as an observation on what is happening around us, in so called ‘Corporates’. I just realize that there will be more than one posts. There are many ideas and notes, that I want to treat them separately.
Before going further, I would like to mention that this post doesn’t have a connection with the company that I work for. It is only the output of different discussions that I had with friends that work around the globe for different ‘Corporates’.

Why I’m using ‘Corporate’ with ‘ ‘?
These companies are usually under 1.000 people and try to play like a ‘Corporate’, but in reality they are not ready for something like this. They have complex process and don’t care to optimize them. They forget that behind a process is one or more person that will run it and a process needs to add structure, clarity and repeatability – not only power and control. For a ‘Corporate’ like this, an external audit or an external opinion from a consultant is not acceptable, is too expensive and might damage the revenue, by adding extra costs.

Processes and Standards  
It is important to remember that not all companies are like this. I discovered (and still discovering) great companies, that yes, are truly a corp., but at the same time you don’t feel them like this. Even if they have processes, different communication paths and a complex structure, behind them you find people that share the same goals or the same vision (but from different perspective).
Imagine that you need to pre-order the lunch for workshop. You know that someone from the attendees is vegan. At the same time, you are aware that the current supplier(s) doesn’t have a vegan menu. In a so called ‘Corporate’, even if you reach a person, not only the web interface of a request form, you will find out:
-        Sorry, the current supplier doesn’t have a vegan menu and the company standard doesn’t allow us to order from other external provider(s).
A response like this is not useful and you will not have too many options. Well, there will be no option for you in such a case.
Yes, it is true that the current process and company standards doesn’t allow you to order from another provider, but we need to remember that in general a process is applicable in most cases (let’s say, 99%), but there are exceptional cases that needs to be treated separately. You might even realize that you could find solutions for different problems by respecting the process 100% - but with the support of a person, not only from the web form.
You might find out:
-          Unfortunately, we are not allowed to order from other provider. Let me check if I can order more fruits and salads. In this way, we might be okay.
Yes, this is not the perfect solution, but it is a better solution, than nothing.
Or even better:
-          Unfortunately, we are not allowed to order from other provider. Let’s me check if I can order more fruits and salads. In this way, we might be okay. Also, I will discuss with the process owner or with the suppliers owner to see if we can improve the current setup and to avoid such situations in the near future. I will follow-up with you related to this topic once I have updates.
Even if we have the same response with a hot-fix for the current solution, there is also something more. Someone is ready to help us and see what we can change (if is necessary) to avoid this kind of situations.

Should we change the current process for an exception
Of course, we should not change flows and processes, for each exception. But we need to be aware if we need to improve or change current processes. We are living in a world that changes every second. It is impossible to assume that a thing that is applicable NOW, will be also applicable in 2 or 3 years.
This is why it is important to be aware and try to get feedback related to current processes and needs. Simple solutions, like offering a preferred (recommended) list of suppliers, but also allow other suppliers to be used as long as some company standards are respected are enough. In most cases people will use the standard suppliers.

Conclusion: Don’t forget to CARE    
In situation like this, the thing that is the most important in my perspective is people. They need to CARE. They need to care about others, they need to care about what you want to do and they should be open to help you. On top of this, they should CARE about the current PROCESSES and STANDARDS and are ready to improve them when necessary.
The worst case where you can end up is with a company or group of people that don’t care anymore. They don’t care about the real needs and the others. They look and see only the process and company standards. With a team like this, I’m pretty sure that you will end up with a lot of frustration, unhappy people that will leave the company OR they will not care anymore also.

Don’t forget to CARE and HELP others. In the end we have the same purpose. 


Popular posts from this blog

How to check in AngularJS if a service was register or not

There are cases when you need to check in a service or a controller was register in AngularJS.
For example a valid use case is when you have the same implementation running on multiple application. In this case, you may want to intercept the HTTP provider and add a custom step there. This step don’t needs to run on all the application, only in the one where the service exist and register.
A solution for this case would be to have a flag in the configuration that specify this. In the core you would have an IF that would check the value of this flag.
Another solution is to check if a specific service was register in AngularJS or not. If the service was register that you would execute your own logic.
To check if a service was register or not in AngularJS container you need to call the ‘has’ method of ‘inhector’. It will return TRUE if the service was register.
if ($injector.has('httpInterceptorService')) { $httpProvider.interceptors.push('httpInterceptorService&#…

ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded

Today blog post will be started with the following error when running DB tests on the CI machine:
threw exception: System.InvalidOperationException: The Entity Framework provider type 'System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer' registered in the application config file for the ADO.NET provider with invariant name 'System.Data.SqlClient' could not be loaded. Make sure that the assembly-qualified name is used and that the assembly is available to the running application. See for more information. at System.Data.Entity.Infrastructure.DependencyResolution.ProviderServicesFactory.GetInstance(String providerTypeName, String providerInvariantName) This error happened only on the Continuous Integration machine. On the devs machines, everything has fine. The classic problem – on my machine it’s working. The CI has the following configuration:

TeamCity.NET 4.51EF 6.0.2VS2013
It seems that there …

[Post-Event] Codecamp Conference Cluj-Napoca - Nov 19, 2016

Last day I was invited to another Codecamp Conference, that took place in Cluj-Napoca. Like other Codecamp Conferences, the event was very big, with more than 1.000 participants and 70 sessions. There were 10 tracks in parallel, so it was pretty hard to decide at  what session you want to join.
It was great to join this conference and I hope that you discovered something new during the conference.
At this event I talked about Azure IoT Hub and how we can use it to connect devices from the field. I had a lot of demos using Raspberry PI 3 and Simplelink SensorTag. Most of the samples were written in C++ and Node.JS and people were impressed that even if we are using Microsoft technologies, we are not limited to C# and .NET. World and Microsoft are changing so fast. Just looking and Azure IoT Hub and new features that were launched and I'm pressed (Jobs, Methods, Device Twin).
On backend my demos covered Stream Analytics, Event Hub, Azure Object Storage and DocumentDB.

What abo…