Project management (rus)

Путь

Тут у меня будет одна скромная просьба – выделить на этот рассказ 5 минут и прочитать его до конца, либо не начинать читать вообще (только потратите время и даже не поймёте о чем я).

Итак, чаще всего в жизни вам приходиться выбирать (нет, я не рассматриваю банальщину в виде дыхания и т.п.). Осознанно, неосознанно, на скорую руку, посовещавшись или упрямо стоя на своём, несмотря ни на что, вы всё время делаете выбор. Иногда выбираете просто, где разместить поле на форме, а иногда вы выбираете его – Путь. Про поле на форме я с радостью расскажу на каком-нибудь очередном практикуме, а я сейчас расскажу про Путь.

При выборе определённого жизненного пути вы должны помнить одну штуку: путь в ответ тоже выбирает вас. Или не выбирает… В зависимости от этой взаимности вы потом и будете по нему идти. Если Путь вас не выбрал, то будет это тяжело, мучительно, натужно и, наверняка, с сожалениями потом о том, что вы по нему пошли. А если он выбрал вас, то конечно же будет трудно, но вспоминать потом о нём вы будете с теплом где-то в глубине своей души, если, конечно, не бросите его. Бросить захочется, наверняка; даже путь праздности, роскоши и богатства некоторым надоедает, так что уж о наших аналитческо-тестировочных путях говорить? И Путь будет вам мстить, знайте об этом, если вы его не пройдёте до конца. Если причина покажется ему весомой, то он просто заложит в вашу душу уголёк сожаления, который будет тлеть там всегда, то затухая, то разгораясь, но увы, никогда не погаснет совсем. Путь вас может даже убить. В автомобильной аварии, после очередного дедлайна и пятой ночи без сна.

И не важно, выбрали ли вы Путь Аналитика (нет, тут речь не одноименной книге, 2/3 которой я считаю откровенно слабой), или какой другой: пройдите его обязательно до конца или, хотя бы до ближайшей логичной развилки.

Если рассмотреть это жизненно и с практической точки зрения, вот когда вы делаете демонстрацию заказчику и начинается: “сейчас мы покажем данные о сделке, ой, не, не, не покажем. Сейчас покажем контрагента наверное.” Это что за демонстрация такая с элементами внезапности и неопределённости по середине выверенного процесса? Что это за – “отчёт строится, ой нет бля не строится, это же долго”. Так же и ваш выбранный Путь – ждёт от вас последовательности и логичности.

А раз уж я перешел на аналогии, то я попробую обосновать выбор Пути на гипертрофированном примере командира атомной подводной лодки. Да, я не подводник и даже не знаю, как правильно погладить гюйс, но я постараюсь до вас донести одну довольно простую мою жизненную концепцию.

Сразу предвосхищу вопрос – почему именно о нем? Я принципиально не хочу писать здесь о своей семье и их влиянии на меня и мою карьеру. Скажу только, что мой дедушка был офицером ВМФ СССР и он очень любил смотреть фильмы и новостные материалы про флот. Так я и узнал об Александре Сергеевиче Богачеве (а сегодня о нем узнаете и вы) и его имя прочно ассоциируется для меня со словами Долг, Честь и Верность, не из-за красивых слов, а потому что он всегда с достоинством шёл по выбранному им Пути, как и теперь пытаюсь сделать я в банальной и скучной аналитической жизни. То была середина 90-х, самое поганое время, если вы помните, я тогда в школу ходил, но и то немного помню. Никаких ориентиров, никаких моральных принципов – воруй, бей, еби гусей сплошное. Нормальные люди в 1996 уже давно водкой торговали или проститутками вдоль дороги, но никак не в армии на боевом корабле служили.

Если кто помнит фильм на НТВ “Русская акула” про автономный поход подводной лодки – это прям про него. Экипаж буквально умоляли все сходить в эту автономку, так надо было показать всему миру, что России не пиздец, хотя ей тогда пиздец был полный, что вот ребятанавассмотритвсястрана и всё прочее. Догадываюсь, что похрену было стране на них, но Александр Сергеевич принял решение выполнить поставленную задачу, чего бы ему это ни стоило. В той автономке экипаж впервые в истории человечества на планете Земля запустили баллистическую ракету из района Северного Полюса. По возвращении Александра Сергеевича представили к званию Героя Российской Федерации, но звезду получил не он, а начальник штаба флотилии, который выходил с ними на месяц старшим на борту.

Я когда боюсь какого то важного доклада или совещания, всегда думаю об этом – лёд 3 метра, глубина, например, 150 метров. 3 месяца небось нервы как струны гитары, 250 или сколько там жизней от тебя зависит. А я всего на пол миллиона максимум напотрачу. Так как же надо так любить своё дело и верить в свой Путь? Это же не за айфоны и поездки на курорт – они же там зарплату месяцами не получали, на сколько я читал.

В фильме “Русская Акула”, показана его квартира такой, какой она была всегда. Если честно, то мне сейчас и от вида его подъезда уже жутковато. Но он жил кораблём и своим экипажем и мне даже трудно понять тот груз ответственности, который лежал тогда на его плечах, и тот багаж знаний, который был в его голове.

В 1997 году его экипаж дважды стрелял полным боекомплектом ракет с целью их утилизации методом подрыва в воздухе. Я не знаю, понимаете ли вы, насколько это сложная и опасная задача – стрелять из подводного положения баллистическими ракетами, у которых не то что срок эксплуатации, а срок хранения на складах истёк! В интернете эти ролики тоже можно найти, тогда с ними ходили суда сопровождения с американскими наблюдателями на борту. Флагманский ракетчик дивизии Акул (я не моряк, даже часть не назову по памяти), который тоже с ними ходил наблюдателем, рассказывал, что сначала американцы спорили чуть ли не на полуостров Аляска, что ничего не выйдет и только зря погубят людей и корабль, а потом плакали, когда ракеты, одна за одной выходили из-под воды.
– Отчего плакали-то? – спрашивал Командир, – Аляску жалели?
– Нет, Саша! Они плакали и хлопали в ладоши, а потом трясли нам руки и говорили, что это же, блядь, какая гордость быть свидетелями такого подвига, доблести, отваги, выучки и умения русских моряков! Вы же герои, Саша, понимаешь? Ты же герой, Саша! Я, блядь, уверен!

Александра Сергеевича, который осуществил два таких пуска и сэкономил стране сумму денег, равную хрензнаетсколько долларов США минимум, представили второй раз к званию Героя РФ. И все были уверены, что уж сейчас-то точно дадут, ну! Но не дали. Дали орден “За Заслуги перед Отечеством” 4 степени. Поправьте меня, если я ошибаюсь, но даже у Пугачёвой с Леонтьевым ордена высшей степени, чем у Александра Сергеевича.

Но и это его не сломало! Он же не за награды служил, а потому что это был его Путь, который он сам выбрал.

Атомная подлодка к 2005 уже стояла на мёртвом приколе (а я уже учился в университете), а в 2013 у него обнаружили злокачественную опухоль, её удалили, и он проходил курсы химиотерапии, но потом у него обнаружили тромб, удалили его. Лечение требовало корректировки и консультаций с зарубежными врачами, так что собирали ему деньги в интернете всем миром, кто сколько мог на лечение в Израиле. 15 февраля 2015 года Александр Сергеевич ушёл из жизни не дожив даже до 60 лет.

Это был Командир самого ходового корабля 941 проекта (самая большая подлодка в мире высотой с 9-этажный дом и два футбольных поля в длину, внесена в книгу рекордов Гинесса), который первый в мире стрельнул ракетой с восемьдесят восьмой широты и которому, на секундочку задумайтесь, принадлежит мировой рекорд по количеству осуществлённых пусков баллистических ракет.Он не заработал ни денег, ни славы, ни сытой жизни, ни здоровья, но пример, который он показал тогда, пример Человека, верного своему выбранному Пути, я думаю дорогого стоит.

Александр Сергеевич похоронен на городском кладбище города Подольск. И один раз в году вы там обнаружите группы суровых мужчин, тихо говорящих друг с другом, пьющих водку и плачущих. Мне наверное напишут в месенджерах, что мужики вообще-то не плачут, но это говорит о том, что вы не поняли сути рассказа. Тут я, как аналитик, могу увидеть причину только в том, что мой рассказ получился сбивчивым и я не полностью раскрыл смысл выбора Пути и следования ему по жизни не взирая на трудности.

К чему всё это написал? Просто меня часто спрашивают – зачем я делюсь опытом, помогаю другим, занимаюсь благотворительностью и т.д. Так вот, я просто выбрал свой скромный (крайне скромный на фоне описанного выше) жизненный Путь Аналитика и стараюсь пройти по нему как можно более достойно, по мере моих сил и возможностей.

Advertisements
Standard
Java, NoSQL, SQL, REST API and other scary words

Business and Systems Analysts Guided Training

Hello everybody! My name is Alexey Kiselev and I’m a Head of a Systems Analysts Department with 10+ years of experience. I did multiple courses (something about 15), video courses like this one from Udemy with more than 2500 students from 120 countries, my last Russian language course attended by 280 students, I also got a blog with more than 100 000 views (this one).

I started my career in 2008 as a Business Analyst, since 2013 I’m mostly playing a Systems Analyst’s role. I built couple asset management system for oil corporations, government statistic storage, amount of different Case Management solutions, improved couple platforms for budgeting and Case Management, etc.

I received more than 30 requests to repeat the training I made in Russian in 2017, so I decided to repeat it but for 6 students only.

Why do we need it in general?

My main aim is to give you an opportunity to partially complete real application requirements from idea to implementation. No long lectures, tasks and challenges only under my control and with my help (ok, my useful hyperlinks). More performance – more results.

What are we going to do?

Oh, this is obvious – we are going to study. A lot.

  • We will find a problem, we will try to solve it via our small application.
  • To create our small application – we will do a full vision with a couple of supportive diagrams like Context Diagram.
  • Then we will do a use case steps scenarios for one of the user stories defined in vision.
  • Fix non-functional requirements.
  • Do a database model.
  • Create a task for developers to implement one user interface.

It will be no customer – only year ideas and my skeptical view. Do not expect a lot of pure BPMN and UML because I’m a bit tired of them and analysis is mostly about your brain and analysis skills and techniques – not about just a diagram. I wish we could do an implementation and testing, but I believe we will have no enough developers in our group.

How we are going to do that?

I’ll provide a at least 2 feedback sessions for all of your documents. This is not a boring theoretical course (if you need a boring one – you’ll get an access to this one available on click on this hyperlink). My feedback available in Telegram text form 8 am – 3 pm weekly and 4 pm – 8 pm weekly via Telegram or Skype conference. My time zone is PST.

What you’ll receive at the end of the training?

My respect and reference via Linkedin. Why respect? Because it seem ok to me to remove people from group with no refund if they are not actively working for any reason (if you got intensive project at work – please do not apply). You’ll also get a free certificate from the Udemy.

Who’ll find this training useful?

It seem to me that 1-5 years of experience will be best to fit course entry requirements. All you need is a theoretical base.

What is the length of the course?

Depends on your performance. i would expect 1-2 months.

When are we going to start?

I believe we should start in March.

How it is possible to become a student?

Just apply via google form whenever it’ll be available. I’ll got 6 spots there only..

Approximate Schedule

# Task Days allocated
1 Problem Solving 5
1.1 Find at least 5 interesting problems you are able to solve with a small application 3
1.2 Analyze Problem (ishikawa diagram) 2
2 Vision 10
2.1 Problem Description 2
2.2 Stakeholders 2
2.3 Goals 2
2.4 Features (User Stories) 2
2.5 Context Diagram 2
3 Use Case 21
3.1 Use Case Diagram or Traceability Matrix 5
3.2 Use Case Description 10
3.3 Non-Functional Requirements 2
3.4 ER-model 4
4 Implementation Task 18
4.1 Database description 7
4.2 UI Prototype 3
4.3 UI Description 5
4.4 REST API description attempt 3

 

Standard
Java, NoSQL, SQL, REST API and other scary words, QA (eng)

Blue Green Deployment, Canary Run, A/B testing difference

I put the word “difference” to the header just for fun because all these things are different and could work together. Here are definitions:

  • Blue Green Deployment  is about how to deploy a new version of your software
  • Canary Run is about testing your software on a small amount of random participants who got no ideas that they are testers now
  • A/B Testing is about testing your ideas about how to improve  usability, popularity, noticeability, etc on a different focus groups.

Let’s start with the most complicated of these 3 items –

Blue Green Deployment Continue reading

Standard
Java, NoSQL, SQL, REST API and other scary words, Requirement management (rus)

Requirements from idea to implementation. BA and SA guide

I started my career in 2008 as a Business Analyst. Since then I worked as a Business Analyst, Systems Analyst, Product Owner, Test Automation and Software Engineer. I worked with custom development projects (for example I made Federal State Statistics Unit Warehouse and Portal) and I worked with products (Case Management System, Customer Relationship Management Systems, etc), so this course is an overview of technologies, practices and tips I used during my career.

I also got couple other Udemy courses, more then 15 articles and some on-site and online courses. This course build accordingly problems I saw during educational process and I really tried to highlight that (especially you will hear a lot of “concentrate on a problem first” tips).

So, to build this course, we had a group of 10 BA-SA volunteers and we started with usual problems BA-SA got, set a course structure you can hear in introduction and wrote something like a 600 pages book, which you will find at the end of the course as a downloadable PDF attachment. This is a base information for the theoretical part. We also researched templates, prepared a set of our favorites and you’ll be able to download these documents templates. Then we made a practice section based on example from one of my practical online course I made at the end of summer 2017 (you’ll get PDF practice examples as well, but they are not 100% done because we would like to show you a process of creating requirements).

Please note that we analyzed more then 900 web sites to combine all necessary theory for you (all these hyperlinks available at the second PDF file with theory).

Here is the link:

https://www.udemy.com/requirements-guide

Discount limited promo code is – AKDISCOUNT2018

PS.

I also would like to say special thanks to my colleagues, who really helped to control quality of all
materials, examples, etc:
● Evgenia Pavlova
● Olesia Volodina
● Maria Begouleva
● Julia Dorozhkina
● Anna Letunovsky
● Dmitry Ivannikov

And there were a bunch of people who were also involved in creating of all these materials:
● Daria Volkova
● Ekaterina Ilyashina
● Julia Vasilieva

And many thanks to Ekaterina Gert for the title image.

Standard
Java, NoSQL, SQL, REST API and other scary words, QA (eng)

Cucumber + ExtentReport

Prerequisites: Cucumber Again. From Requirements to Java Test

To create any simple Cucumber+Java test, we will need to create a glue file, that is pretty simple to do, because, if you don’t need all vhistles and blows on your first step – this will be enough:

package com.cucumber.StepDefinitions;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;

@RunWith(Cucumber.class)
@CucumberOptions(
        features="src/test/resources/feature",
        glue = "com.cucumber.StepDefinitions"
)
public class CukesRunner {
}

My favorite report engine is ExtentReports, so, let’s add a proper class:

package com.framework.common;

import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;
import org.testng.annotations.AfterSuite;

public class ExtentReport {
    public static ExtentReports extentReports;
    protected static ExtentTest extentTest;

    public static ExtentReports getExtentReport() {
        if (extentReports == null){
            extentReports = new ExtentReports(System.getProperty("user.dir") +"/ExtentReport/index.html", true);
        }
        return extentReports;
    }

    public static ExtentTest getExtentTest(String testName) {
        if (extentReports == null) {
            getExtentReport();
        };
        if (extentTest == null){
            extentTest = extentReports.startTest(testName);
            extentTest.log(LogStatus.INFO, testName + " configureation started");
        }
        return extentTest;
    }

    @AfterSuite
    public void endSuite(){
        ExtentReport.getExtentReport().close();
    }
}

and implementation is extremely simple:

ExtentReport.getExtentTest(getClass().getSimpleName()).log(LogStatus.INFO, "Run test for " + className);

This is how it looks like:

After that I tried to research if there are any ready to go plugins or examples about how to make reports in Gherkin-like format. I easily found one, but that was working with no problems only with Eclipse. Here is an example – (https://automationissues.wordpress.com/2017/09/29/cucumber-extent-reporting/):

Continue reading

Standard