Ufa IT Management Meetup (24.10.17)

2 weeks after we had the actual meetup, here’s the follow-up post 🙂

Topics this time:

  • Keynote by me on cynefin and how it fits our company projects. Had some discussion & arguing on applicacy of cynefin when it comes to rough development times, migrations, firefighting-based development. Overall, model was introduced, and the fact-and-experience-based arguments are always the best. Cause we all keep it harsh, true and ironic, when it comes to sharing something you’ve been stuffing bumps on!
  • Afterwards beer-session was a 3-hour-rant on headhunting of employees by Moscow, Saint-Petersburgh, Europe and States, and that Ufa developers became much more audacious, over the past crisis-driven years (given that there was no crisis in Moscow and the rest of the world). Seems like the raises are imminent, if you want to keep the developer. Headhunting becomes more brutal and sneaky at the same time!
  • Yet another topic was keeping the valuable professional, when he reaches the limites of intra-company growth, and what is best to offer in those cases.

KXD01nqfom8

Overall, meetup gathers momentum and creates a community. We already got bigger guys from the enterprisey-yet-more-or-less-tolerable-sector, few startups on mobile/IoT/PaaS, Banking, Digital 🙂

our links are: VK / Meetup / Telegram Channel

Agile Turkey Summit 2017

Me & my colleague basically decided to attend Agile Greece and Agile Turkey, and then exchange opinions and knowledge gathered there. Big advantage of my trip was Dave Snowden’s keynote, whom I wanted to catch after the speech and bore to death with silly questions 🙂

Agile Turkey Itself

The conference (1-day conference, october 19th) kind of frustrated me, as 2/3rds of speeches were in Turkish, so I had to ditch my plan to attend certain events, and half of the time was roaming around the conference floor.

2017-10-30 11-37-36

Dear people who stand behind this huge event, Agile Turkey team, please make a note next to the speech, that it may be in Turkish next time 🙂 That would be awesome!

The awesome part of that was that English-speaking crowd (mostly invited speakers) were roaming around the vortex (as Kurt Bittner joked) as well. Noone occupied their attention (possibly because of the language barrier), so I’ve turned that into 2-3-hour-long interrogations!

The Bag ‘Shift Happens. Be Agile’ has a nice slogan, but poor quality 🙂 Lots of spam from sponsors and small notebook with the pen. Felt like I’m on my local UfaDevConf conference.

2017-11-01 16.03.16

Snowden’s Keynote

I’m so glad that I’ve attended to one of Dave Snowden’s speeches! He’s an amazing guy, I love his approach to not treat metholodogies and frameworks as silver bullets, I love how he merges anthropology with IT – and I share this approach wholeheatedly (given my specialization in Applied IT in Psychology).

Keynote was called COMPLEXITY, CULTURE AND CONFUSION. Snowden described cynefin model, which I find as an universally applicable framework for sense-making. My experience with cynefin emerged when we were trying to find an already-existing model of describing various projects we had at SkuVault with Ksenia. And guess what: it fits and describes how we firefight, develop new features, research/migrate/stuff bumps as a sequence of cause-effect perfectly (and I’ll write about that soon).

Key points:

  • Perception over mindset: I’m so agreeing with him, that mindset cannot be changed after it’s declared to be agile: you start with slow process and transparency improvement – and over the time the team becomes more agile. And only then the inner understanding of the business agility is fulfilled.
  • As soon as the company declares it’s now agile – it’s definitely the opposite (which is derived from the first bullet).
  • There’s a thin line between simple and chaotic systems in cynefin, and you may even not see if you’re already in chaos: it may be calm on the outside.
  • Work on company’s perception among the clients. Clients remember all past negative events you had. Interview the clients / market, and make sure you address the question: ‘what can we do so that clients don’t say this the next time’, instead of justificating your actions.
  • Company’s culture is to be inherited. There should be a knowledge sharing, when the creators transmit their values to the others, share both good and bad experiences over the course of the work.
  • Waterfall is not bad (thank god finally more and more people start telling that).
  • And yes, finally, SAFe and NEXUS stop being dynamic, when they scale up! And that’s the disconnection from the original Agility idea!

The latter part of me interacting torturing Snowden with questions on remote distributed teams with huge timezone difference, processes and estimations was indeed very satisfying! Lesson learned from almost every speaker I had time to chat with: SkuVault’s case is unique and you empirically find your own path of comfortable pace, workflow and communication.

2017-10-19 11.11.58

Mr. Snowden also shed some light on asynchronous conference calls they had back at IBM, which seems like a very interesting idea to try now.

Kurt Bittner of Scrum.org

Kurt Bittner was talking about ‘5 THINGS YOU NEED TO DO TO SCALE YOUR AGILE ADOPTION’ (http://www.summit.agileturkey.org/session/5-things-you-need-to-do-to-scale-your-agile-adoption/).

 

 

Later on, I sneaked out to him while he was listening to some old Van Halen stuff, and started to ask tricky questions:

  • How does Scrum work, when the team is distributed, when there’s a language barrier, when timezone difference is 9-10 hours? (>> scrum works, but that depends on how comfortable the team is overall with scrum and everyone’s got own approach, mixed with constraints that every organization has).
  • We recently worked on migrating a huge chunk of SkuVault to a new architecture and it was chaotic, is Scrum a good way to handle such? (>> R&D projects may work with Scrum pretty good, however in our case there’s no clear answer because using micro-sprints for 1 day and have a whole retro for that seems obscurely inefficient and redundant).
  • Politics (eww)… Skiing & Hiking in Colorado and generally in the world.. Does iPad Pro 12″ really allow you to do general work without bringing your laptop (for mail and notes yup).
  • Estimates – what does he think of them, do we even need them fully in scrum? (>> Kurt is not a fan of estimates. If you got a timerange – better give it (doing this myself all the time), and estimate is really needed only in times when you have to understand project phase length).
  • Overcertification, and is there really a problem with Scrum Master certification and poor performance of fresh certified practitioners, which devalues overall CSM / PSM badges? (>> gosh, this is a painful topic to discuss with scrum.org rep, right? 🙂 So the consensus was that SCM certification really only shows that you know the basics, it doesn’t tell anyone about your experience on the battlefield and definitely not something to rely on when forcing scrum 😉 So in a way, yes, certified people quality in scrum and process building may devalue certification perks… kinda…)

Kurt was not just helpful, he’s been my savior in the middle of turkish-only-speaking crowd 🙂 I thank him greatly for expanded answers, references to his experience and knowledge sharing!

Other interesting speeches and people

Simon Orell told an interesting story on his experience in applying Scrum (although modified) in building gas turbines (!) in Canada (BILLION DOLLAR AGILE: APPLYING SCRUM VALUES AND PRINCIPLES TO LARGE CONSTRUCTION PROJECTS, ) – COOL!

Scott Ambler told about pragmatic way of looking at company transformation in his ‘THE DISCIPLINED AGILE ENTERPRISE‘ speech.

PANO_20171019_173251

IMG_20171020_132840PANO_20171019_174045

RU: Открываем дочку американского юридического лица в России

This post is available in English.

И делаем это без необходимости прилета в РФ американского гендира.

Последние полгода я набивал шишки, ходя по инстанциям, собственно, поделюсь опытом 🙂 Задача: открыть 100-процентную дочку в России (материнская SkuVault.com находится в Луисвилле, Кентукки). Наш случай несколько уникален: CEO не мог посетить РФ, так что заверять и пересылать идентификационные документы приходилось туда-сюда меж двух контитентов.

На практике, все делается достаточно просто. Всего-то придется столкнуться с бюрократической машиной Mother Russia (которая за последние годы стала неимоверно удобнее), проблемами с межведомственной коммуникацией, ну да беготней с документами.

Continue reading

So you want to open US-company subsidiary in Russia

This post is available in Russian.

And do it without the CEO flying all the way down to your city 🙂 

Let me share a bit of an experience from past 6 months 🙂 We wanted to open a branch in Russia (parent company is in US). Our case is a bit unique: our CEO wasn’t able to visit Russia, so we had to verify and send the list of docs back’n’forth between two continents.

Actually, that’s not as complex as it seems. You just have to deal with bureaucracy (which dramatically improved over the past years) and intradepartmental miscommunication, and, well, running with pack of docs to veryfy them in both countries.

Let’s get to the basics – list of docs needed to open up a company in Russia:

  • Owner’s passport
  • Application form (to open up an LLC)
  • Decision form (to create a company and assign a general manager)

The list alters just a bit if the owner is to be another company:

  • Documents on establishing parent organization, who owns it and as the russian tax dept states: note from Department of Trade or some analogy
  • The rest is the same as above.

Parent Company Docs in US

Main company docs in US are:

  • Certificate of Existence (when the company was opened and by who);
  • Annual Report (yearly report on company state);
  • Letter of Good Standing (report on company tax health);

You got to file only document originals, signed by Secretary of State!

  1. You take the document originals
  2. You translate them at translational bureau
  3. That bureau should also notarize the translation

There are cases, when company has several owners. I’ll get to it in the section below.

Docs to Confirm Parent Company Owner Identity

Russian Tax dept dreams of all people in the world having same documents, as Russian Citizens (passport, INN (analogue for SSN, that doesn’t allow to steal identity :), SNILS (pension fund info card). So you may be stunned for a sec when a receptionist asks that info from US citizen. And it usually stuns the whole dept, when they are explained that there are no inner passports in US (only for foreign travels). Jesus Christ, those barbarians use non-canonical (USSR-influenced) pack of personal documents -> send in the inquisition..

Well, in reality passport of a US citizen (for a foreign travel) works great. The biggest issue here is that such passport doesn’t contain info on where the person lives (and this is essential in Russian world perception – how can you not be attached to the particular address in your main document?!). This issue is resolved by copying Driver’s Licence that includes living address.

So, in a nutshell, documents company owner needs to send to Russia are:

  • Copy of Passport of a US Citizen
  • Copy of Driver’s Licence

Those documents are processed in Russia, before filing:

  1. Passport and Driver’s Licence are translated
  2. Translation notarized

Now, getting back to the question, where you got multiple company owners. You don’t want the pain to be worse, so you better process docs of CEO, and not co-owners. That will make it easier and won’t require additional signatures on other documents.

Application form

Different branches of Tax Dept want the Application to be filled in different sadistic ways, which I’m not the fan of. If you work with some lawyer firm, that makes it all for you – DON’T BELIEVE A WORD! Well, they will fill up many docs for you and even run and sign them for you. However, some things they cannot do – e.g. verifying signatures of company owner, if he’s not in Russia. In fact, good lawyers on creating international branches can be found in their natural habitat: Moscow and Saint Petersburgh. And since those lawyers don’t work with other regions (they can’t create international branches in other region jurisdictions) – “move along, nothing to see here”.

Many law firms and tax dept themselves will tell you the only option available for Application Form to be filled. It includes:

  • Filling only in Cyryllic and only by parent company owner (bogus – you can have the full document ready, and only to be signed )
  • Signing by owner, with signature verified ONLY in Russia (bogus)
  • Signing by owner, with signature verified ONLY in Russian Consulate (half-bogus).

Getting to the last point: in fact sometimes tax dept may reject signatires not verified by Consulate or some legal Russian Federation entity. That sucks. You know what else sucks (and works!): you can verify owner’s signature on application form at any notary in US (it’s better be Russian-speaking notary, and there are loads of them in almost every country corner – in Louisville, at least, we found one). Why did I mention the ‘sucks’ part? Because Tax dept (and Lawyers) in Russia state that only Consulate should verify signature on application form, but Russian Consulate and Embassy state that US-based notaries (even not speaking Russian ones) have the same power to verify the signature!

Russian Consulate Way

You are lucky! If your CEO got zillions of time to visit Russian Consulates (which are located in the corners of east and west coasts), to schedule appointments there and deal with GRBM (great russian bureacratic machine), which has it’s gears oiled by thick wax, and thus running slow.

While D.C. consulate is fast to reply and it’s quite easy to reach it out by the phone – SF consulate, on the contrary, replied to me after 2 weeks passed. Small hack: you can also verify docs in the consulate you are not attached to (e.g. KY citizen verifying docs in SF) – but clarify that moment first (just in case).

You first have to pick free slot (usually a month or two away from current date), pay consular fee and verify the signature.

  1. You got to pick your company docs (cert. of existence, letter of good standing, annual report) and bring them to the consulate
  2. You got to bring your personal docs (originals and copies of US Citizen Passport and Driver’s Licence)
  3. You got to send already filled forms you want to verify notarize or sign, via email. Not really handy, but tolerable.

After you get into the consulate, you got to verify company owner signature. It should look the following way: signature verified, with stamp of a notary in a consulate. The next page is an info of a notary, that has verified the signature. Notary should also state the number of pages in the document (so that there are no replacements afterwards). Both Application form and Notary page should be stitched together and stamped on the stitched place.

one more thing to mention: if you’re working with lawyer firm, and it handles the filing of docs to the tax depts and social funds, you should write Limited Power of Attorney from the owner to the law firm’s courier (or yourself, if you’re in charge of the branch creation)

Local Notary Way

It’s much faster and easier. CEO signs the application form at any notary, and a notary verifies the signature. It would be ideal, if the notary would enter her notary licence number (in the INN / ИНН) field.

application_last_page

Limited Power of Attorney

In order to file documents for company creation, we got to write Limited Power of Attorney, for one year, for a person who would file it. You will need an original POA and a notarized copy.

limited_PoA

Decision Form

Easiest part is the decision form. CEO should just sign 2 copies of Decision Form, it and stamp them with organization stamp. Don’t worry about non-ink stamps that are common in US – they are accepted in Russia.

Filing: verifying the list

Congrats – you’re finally gathered all of the docs needed! Let’s verify the list:

  1. Parent company: Certificate of Existence (apostilled -> translated into Russian -> translation should be notarized)
  2. Parent company: Annual Report (apostilled -> translated into Russian -> translation should be notarized)
  3. Parent company: Letter of Good Standing (apostilled -> translated into Russian -> translation should be notarized)
  4. Parent company owner / CEO: Driver’s Licence (scanned + printed in Russia -> translated into Russian -> translation should be notarized)
  5. Parent company owner / CEO: US Citizen Passport (scanned + printed in Russia -> translated into Russian -> translation should be notarized)
  6. 2 copies of Decision Form filled in Russian, signed by parent company owner, with parent company stamp on it.
  7. Application Form filled in Russian, signed by parent company owner, with notarized (in US) owner’s signature, and notary’s info attached to the application form. Russian bureaucrats would ideally prefer Application Form and Notary’s Note on number of pages stitched together, and stamped in the stitched place, so that no pages could be replaced afterwards. But that’s not mandatory.

That’s all folks! Don’t forget to take confirmation papers on documents receiving by the tax dept, as well as OGRN / INN papers, and certificate of existence in Russia. Keep 2nd copy of Decision form to yourself as well, you may needed it in the bank or some other institution sometimes.

Russia is great, don’t let bureacracy ruin the experience! 😉

References:

  1. Decision form: https://www.regberry.ru/registraciya-ooo/obrazcy-dokumentov/reshenie-edinstvennogo-uchreditelya-obrazec
  2. Application Form: https://www.regberry.ru/registraciya-ooo/obrazcy-dokumentov/forma-r11001-zapolnenie

Notes on Austrian Startup Scene

I’ve recently been to Vienna, and visited local Austrian Startups Stammtisch. It went by the number #31, so quite a consistent event going on for more than a year now. The event took place in Sektor5 co-working space (which I have to recommend, because it’s a really cool place with only eur 18 per day! You can feel the international vibe and all that kinds of stuff).

IMG_20160419_195040.jpg
Sektor 5 got a cool terrace 🙂

Some of the stuff learned:

  • Bureacracy. In order to open a traditional gmbh company, you may need to be patient and get a lot of papers and formalities. It can take up to 120 days.
  • Government support. However, the good side, is that the process of bureacracy is not that painful, as the govt. is on your side and supports businesses will to change the country to innovation-driven economy. Grant system is strong here (http://www.austrianstartups.com/grants/)
  • Hard to notice, when you’re from Russia, but Vienna is quite close to strongest european mainland startup hub: Berlin. An hour-flight only 🙂
  • English is embraced throughout the IT startups. So yaay!- Expats! However, you’re more welcomed, if you speak deutsch. And because socialistic mindset, a good Austrian professional is mostly more preferable, than a great expat 😉 And there are loads of cool pros in Austria.
  • Tons of sessions and meetups happen in Vienna, Salzburg and Graz. May keep you busy almost 100% of your time. There was a great atlassian event in Graz, that I wanted to attend, but didn’t. Sad.
  • Great startup (and established IT companies) scene! Some of the big startups from Austria include: Runtastic (surely you’ve heard about it), bikemap (great stuff, more route-oriented than strava), Shpock (my facebook is overloaded with it’s ads now), mySugr (basically an ecosystem of apps made for people with diabetes, by people with diabetes) and lots of others.
  • Vienna is extremely lovely!
  • Met great ppl from Austria, Ireland and Eastern Europe 😉
    • Hey to Odessa guys, who created a venture find and were searching for partners (Crop Inc),
    • Good day to you, devs from Romania and Hungary,
    • Hi to Robert from heysharing.com.

A lot of info, funds, grants, support and meetups can be found at AustrianStartups.com

Wish I had more time to dive into Austrian IT scene. This summer I’m visiting Berlin, and I’m sure I’ll be even more sad, cause I’ll have even less time than in Vienna.

Keep up the good work, Austria! Your IT health status is great 😉

IMG_20160415_163630
Cider is nice here too 🙂

 

Three-week sprints for iOS projects

While working on Storia.me iPhone app, we’ve eventually came up to the three-week sprints. Empirically, they proved themselves to make product high quality and provided time to get moderate functionality chunks done. Two notes here:

  • First of all – this is does not include time for appStore approval. That’s additional week. So a release cycle is 1 month.
  • Second, we came to three-week sprints after we released MVP.  Preparing the app for MVP was quite a kerfuffle, but we managed to finish needed bits in 2 months. Don’t forget to have some rest and go for a holiday after that 🙂

1117142_дороги-знак-зеленый-шоссе-облаке-фон

Time Distribution during 3 week sprint

2 weeks for development, 1 week for testing and fixing. Essential part of undistracted 2 weeks development, is to provide fully described User Stories with corner cases explained  before the sprint. You also have to estimate all of the workload, and make sure it fits into the sprint. Leave tickets of a less priority on top of the backlog. Pay unprecedented attention to details, so that developer doesn’t need to waste time on communication and clarification (which always results in delays) how the described feature should work.

There are often times when stakeholders rush with some new request. For 80% of the time you’re (a good manager) able to protect developer and stories from scope creeps, but sometimes you are not able to do so. And here comes the last week of the sprint, that mostly handles such unfortunate situations.

Make sure that AppStore materials are ready one week before app submission. Screenshots for all resolutions and languages, descriptions for different markets, no legacy and unsupported SDKs.

Key point here is to make comfortable pace for the developer, so that as less things as possible distract him during the sprint. You know the rule: less distractions => more productivity.

And final achievement is predictable stable timely releases. These are something that are valued by stakeholders, investors, team and users.

Improving App Design Review, Ensuring Design is Ready for Development

iphone-6-psds

Well-coordinated work across teams – let’s say design and development – is a huge deal when it comes to delivering a good product on time! So, part of my job as a project manager is making sure that the assets passed from design into development are ready for implementation.

At the very heart of the process, design review is nothing complex. You should know human interface guidelines, platform restrictions, requirements and a little bit of common sense =)

Here are the common issues I often face, when reviewing design:

  • Design does not incorporate all the details on features planned;
  • Navigation controls are used inappropriately from the native experience point of view; or simply not intuitive;
  • Assets are missing during delivery phase;
  • Mockup does not look good, when populated with real user data; mockup has not been stress-tested on extreme cases.

As our teams worked together, we optimized our process to minimize adverse effects on the points above.

1. Kick-off with an interview.

When the team is excited – it shines in willingness to collaborate on building a valuable product. Once an applicant to a designer position is excited – she starts to ask questions and share her ideas. I try to understand what the candidate thinks about the project, her motivation, her past projects experience: was there an established flow when this designer had been working on a product, how did the teams collaborate.

Usually, our projects involve UX and UI designer. An iPhone UX expert knows navigation controls, their proper use, typical user flows, analytics and split testing, how to structure information elegantly and effectively. She creates prototypes and mockups for the upcoming app. UI designer provides GUI for a mock up (colors, iconsets, sizes for different resolutions).

2. Help designer to understand the product, build solid requirements

There is a timeframe for a designer to get to know the product. Have materials prepared, older designs structured (for the retrospective view), corner cases described.

The whole team was pleasantly surprised when our new UX designer asked for requirements documents and stayed knee-deep in them for a couple of days. He came up with rational and neat optimization.

We describe global functional requirements in Confluence, with obstacles, corner cases and retrospectives added to the main article. This gives a designer (and practically any new person in the team) the understanding which issues and mistakes we faced, what are the bottlenecks of particular solutions, and why we currently have an effective solution if we already do.

We describe platform-specific flows and requirements in User Stories, which also work as checklists for designers.

The one thing I want to point at again, are the corner cases. They usually fall out of scope and do not apply to typical user behavior, but may result in unpleasant experience. We brief a designer on corner cases before he starts prototyping.

3. Create checklists for mockups

There is a quite popular problem companies face: real user data doesn’t play nicely with the mockup. The design may look gorgeous and trendy and flat, but once you start populating it with longer names, venues, low quality photos, vivid photos that make overlayed text unreadable – the whole greatness falls apart. What to do here?

  • Reflect min and max length for the fields in the requirements. This way designer knows what to expect from the real data.
  • Prepare corner case text examples, to check how well the mockup stands against them. For example, use location named ‘Venkata Narasimha Raju vari Bahadur’ instead of ‘Union Station’. Show how long text should be cut, if needed.
  • Keep in mind that if you support multiple languages, some buttons may require more space for a label to fit.
  • Check for active / inactive states for buttons, segments, toolbars.
  • Alerts and message boxes for whatever reason can be (connection loss, lack of space, unsaved data, …)
  • Text overlays. If text overlays a picture, be sure that text is still readable even on a bright vivid photograph.

4. Wording for mockups

Wording mistakes happen quite often. You may have ‘Done’ button in current application, and ‘Save’ in an updated mockup, or even different labels for the same action in different sections. I make sure wording is correct and synced across designs, before dev team starts implementing it. Easiest path is to have all metaphors documented inside a task-tracking or wiki-system, so that designer knows how to name each element properly. This saves a lot of time and nerve for everyone involved.

5. Standardize assets delivery

In order to be sure we got all the assets we need we created a small guide on design delivery in a form of simple folder structure.

#project_folder
    - #project_iOS 
        - #comments_screen
            - comments.psd
            - #_icons
                - icon.png (for 1x)
                - icon_@2x.png (for retina)
                - icon_@3x.png (for retina HD)
                -

This hierarchy serves to ensure we have needed states and sizes for icons, and a structure that will confuse noone.

Overall, I hope that this brief article helps you optimise your process and get design delivered faster =)

Special thanks to Ksenia, Rishat, Igor for reviews =)