en:thinking:start
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
en:thinking:start [2021/03/27 21:07] – created lonclegr | en:thinking:start [2021/04/25 23:00] (current) – [Theory] lonclegr | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== IT Thinking ====== | ====== IT Thinking ====== | ||
- | Heads of IT department may dream of the perfect team where every member can manage requests, changes and incidents in a fast and smart way. Unfortunately, | + | Heads of IT department may dream of the perfect team where every member can manage requests, changes and incidents in a fast and smart way by using automated scripts improving workflow quality and customers experience. Unfortunately, |
I used to say to my team : //If you do something twice, then you should have scripted it the first time.//. Theory is so different from reality. I know very well that sometimes we don't have enough time or the appropriate knowledge at the right time to script everything. | I used to say to my team : //If you do something twice, then you should have scripted it the first time.//. Theory is so different from reality. I know very well that sometimes we don't have enough time or the appropriate knowledge at the right time to script everything. | ||
Line 8: | Line 8: | ||
So let's have a look to the first step right now. | So let's have a look to the first step right now. | ||
+ | |||
+ | ===== Theory ===== | ||
+ | |||
+ | - All requests, incidents or changes should be translated to standard input files. | ||
+ | - These files should be used into a black box ((To me, a black box is a function or a set of functions which reads standard input files to create standard output files. Inputs and outputs are identified and may be used into scripts.)) to create output files summarizing the situation and testing if the request, incident or change makes sense. I call this step **preCheck** and it requires readOnly right because no modification occurs. | ||
+ | - Next step consists of giving output files from **preCheck** to a second black box to execute requests or changes where **preCheck** results are accurate else they must be ignored and labelled as such. All actions applied into this **implementation** step require modification right. | ||
+ | - Successful modifications are great, **postImplementation** checks are even better. How much frustrated it is to hear the sentence "//it should have worked, it did on my computer//" | ||
+ | - Finally the **rollback** black box! Some people think it is optional, some others reckon it is mandatory. I would say: //without it, risk is very high//. I guess you get the workflow using input files from previous step to create new ones with results. Pay attention that if you had to rollback some modifications or even all of them, output files from **rollback** can be used as new input files for you **preCheck** step and now begin a circle! Plan makes sense. | ||
+ | |||
+ | |||
+ | A picture is worth a thousand words | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Example ===== | ||
+ | |||
+ | Imagine, today is Monday and you start your on shift week. Your favorite IT ticketing system (ServiceNow, | ||
+ | |||
+ | Action plan : | ||
+ | |||
+ | ==== preCheck ==== | ||
+ | |||
+ | |||
+ | * Our first black box needs at least one input file which summarizes the request. Luckily, there is one CSV file into the ticket with all modifications the client requested. It looks like this : | ||
+ | |||
+ | <csv> | ||
+ | Name, | ||
+ | Jean Robert, | ||
+ | Marie Curie, | ||
+ | Calamity Jane, | ||
+ | </ | ||
+ | |||
+ | This is a perfect input file for a preCheck function. Now we must wonder : what do we want to check ? | ||
+ | - For each line: | ||
+ | - Is a real active AD User ? | ||
+ | - Are we sure that the AD User is the good one ? | ||
+ | |||
+ | Since we detected two checks, we are going to add two new columns to our output file: **AdActiveUser** and **MailMatch**. | ||
+ | |||
+ | Let's do it in [[en: | ||
+ | |||
+ | This first function provides us a new file that we are going to use for the **implementation** step. | ||
+ | |||
+ | ==== Implementation ==== | ||
+ | |||
+ | PreCheck provides us this new file. | ||
+ | |||
+ | <csv> | ||
+ | Name, | ||
+ | Jean Robert, | ||
+ | Marie Curie, | ||
+ | Calamity Jane, | ||
+ | </ | ||
+ |
en/thinking/start.1616893655.txt.gz · Last modified: 2021/03/27 21:07 by lonclegr