Jira: how to allow editing fields for closed tickets

Jira is flexible, yet complex tool in some cases 🙂

  1. In order to make the fields (inline as well) editable, when the ticket is closed, go to Workflow -> Select ‘Closed’ status -> Click Properties
  2. There would be flags with bool values: we need jira.issue.editable
  3. edit_closed_issue
  4. In case you see jira.issue.editable is false – either change that to true or delete the property key with prev. value.
  5. Don’t forget to publish the updated workflow.

 

So you want to open US-company subsidiary in Russia

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

Communication in distributed teams: Messenger & Rules

In order for the distrubited teams to work, you got to have a clear flow, a set of general rules, that will fence the process and allow people to collaborate effectively around the globe. If everything is set up correctly, you are able to create amazing products with global professionals, and cover customer support 20+ hours a day.

Communication

What do you miss most when working outside of the office? Procrastination!

Communication that is effortless in office envoronment may be not as natural in distributed teams.

Messenger (SkuVault uses Telegram, chosen for it’s simplicity, availability across all platforms, stability gorgeous GIF bot) and videochat software are there to try to equally substitute verbal communication.

Due to project specifics, we have the following channels in telegram:

  • Urgent chat, where On Call & Quality Assurance teams collaborate in order to resolve outstanding issues as fast as possible (you can read more about On Duty teams in my previous post on year retrospective);
  • Dev chat, that is general for all devs, covering the questions of “Who the hell broke QA again?”, …, to “So have you seen Azure copied Amazon pricing plan”.
  • Russian Dev chat, due to significant part of the team being russian-speaking, is for fast communication and clarification across russian devs;
  • Quality Assurance chat, for questions and discussions across QA members;
  • Freshdesk feed, for fetching freshly issues support tickets, so that if immediate attention needed -> relevant people are informed;
  • separate project chats with various messaging activity, depending on how big and urgent the project is.

Telegram

Telegram is extremely handy when it comes to making life easier. We use:

  • hashtags, to mark needed messages in order to find them later. That could be #shipstation hashtag to mark everything related to ShipStation integration across all chats;
  • mentions, which allow to ping a person even if the chat is muted. So if dev doesn’t want to get tons of messages on a related subject, he still is notified when he’s mentioned;
  • great gif support (not only kittehs, but also when you need gif with reproduced bug);
  • bots! we fetch freshdesk support tickets, notified about engine and web errors thanks to telegram bot api 🙂
  • size, platform availability, stickers, e.t.c.

now this sounds like a telegram evangelism

Video Conference

When it comes to video conferencing, we use hangouts, since skype app is awful.

General Flow and Jira Ticket Descriptions

It’s bad when you lack information on stuff you need to implement. In order to minize that, we have rules on filling out the ticket, so that as less questions as possible are raised.

Ticket description has testing plan, implementation plan, sequence of steps on how the feature should work, client and needed sandbox credentials, and tons of other information. Now that doesn’t prevent requirements change, scope creeps, blind spots (we all know that software development is an endless pain and all related people should suffer), but it surely reduces questions to clarify / misunderstanding / delays to the bare minimum and greatly helps in communication.

General Flow for the ticket before it hits implementation requires it’s acceptance by PM and dev, so those are members who control whether ticket is clear enough or not.

Workplace Attendance

Although you are not obliged to come to the office, it’s still essential to be at your workplace during working hours. If you’re working flexible hours, you need to agree upon them with a manager or people you collaborate with, so that you have a consensus solution on comfortable time to work for all.

Calendar lists days off, while chatrooms are good to inform colleagues about hours off, if necessary.

Working remote takes self-dicipline and responsibility, but pays off really great.

Notifications for pinging stuck projects

Be sure you use various notifications, such as jira web hooks + telegram, email notifications on stuck code review or testing, color coding on project management boards for due dates and approaching deadlines. Alltogether, those measures prevent unexpected situations and make the risk of missing deadlines, reduces the risk of tickets stuck halfway, keeps you alarmed in almost all cases where the flow takes wrong direction.

Manage process, not people

It’s all about the process

I might be a captain obvious here, but supporting a process for an analyst / pm is a more important, than micromanaging tasks amongst developer pool.

When a new team member steps in, who’s responsibility is to manage development processes, she needs to find how to make business processes inside a company better.

Business processes are evaluated from various points of view, but in a nutshell, aside from developer professionalism, she needs to make sure there’s no room for slowdowns and uncertanties when product passes different stages across different teams. Whether there are delays in communication, or delays of resources for the project, or sick-days, – there should be a correct process to tackle such cases, in order to minimize negative outcome.

There’s always a temptation to micromanage issues, no matter how big the project is and how little time you have. But project manager’s job is to create a process that allows to handle various situations. Once the process has been established – keep an eye on the workflow, so that it doesn’t jump over the fence of how the process should work.

Fencing is the key idea. Micromanagement is bad, if you don’t have a clear process: it’s time consuming, it’s inefficient on a project scale (of course there are exceptions), and most important – micromanagement doesn’t cope with scaling.

So the typical steps to establish a working mechanism is to:

  1. Create the process
  2. Adjust it to keep all needed operations inside that process fence
  3. Make sure operations can connect to each other via unified inputs and outputs
  4. Optimize the process to allow painless scaling
  5. Do not pay too much attention to micromanagement 🙂

How to accurately estimate external projects. Part 1 – Delays caused by communication

accurate_1

This is a first article from “How to accurately estimate incoming projects” series, aimed to help you see the possible future pitfalls. This includes both outsourcing projects and the ones where different teams around the world are involved.IT industry is dynamic. Companies change APIs, IDEs, upgrade hosting servers software, raise new compatibility issues. Of course improvements are welcome, but there is no way you will have a perfect product once and forever – it needs to be re-iterated. Don’t forget about hundreds of different environments that the system should work on. And people.

1. Client Interaction Time

It’s not a big deal when we are talking about local business (and even in such close distance email response delay time could be significant and expensive), but when you’re dealing with international clients and partners, this becomes a more significant issue.

There are several simple rules that are wise to follow in order to keep up with the deadlines:

  • Don’t underestimate time needed for interaction;
  • Client won’t run and read your email instantly, he has work to do;
  • Response time could vary, but prepare for the worst.

Let’s look at an example: you are building an ecommerce website. The catalogues structure is a bit tricky so you need to clarify where a product recommendation slider leads.

  1. You send the request;
  2. Client reads it in 2 hours;
  3. Gets back to you with some questions in order provide proper answer;
  4. When you answer him – you are already off from work;
  5. You read the final response the next day only.

Of course it’s not what may happen every time, but you need to take such issues into account before they happen. Here is what could cause “lags” on the client side as well:

  • Clarification from a third party (could be a hosting provider, lawyers, content providers, etc);
  • Interaction between departments;
  • Approval of department manager and other bureaucratic procedures.

In addition to that, there’s been quite a few times, when our clients from other countries needed to clarify detailed info with a a third-party with no people on that side speaking English at all.
The main point of this section is to make you understand how heavily client interaction lag can affect the entire project. It’s worth mentioning because these things rather frequently fall out of scope of attention.

How to avoid possible adverse effects? A checklist or a roadmap will be helpful to manage handling tasks in advance. In Codebranch, we prepare a project roadmap with Freeze dates, which are the last dates that a certain part of team-client interaction is due. For instance, there are:

  • Design Freeze Date – this is when the client takes a final approval and signoff to the proposed design, all the amendments and improvements to the design have to go before that date.
  • Functionality Freeze Date – the milestone by which the final application functionality should be agreed upon.
  • Content Delivery Date – this is when the content provided by client is due, so the client would know the timing in advance and have enough time to gather the content.
  • Hosting or CDN accounts purchase dates, domain name registration deadline – when, and no later, the accounts need to be available to the development team in order to set the environment up and deploy on time.

These dates are elaborated together with the client, basing on the delivery timelines that the client suggests, and adjusted accoring to the internal development milestones. This approach helps both the team and the client meet the responsibilities in working on a web project, and contributes into building a good working relationship.

October is for Launch. Huge announcements from Microsoft, Apple and Google: Mobile Platforms News Overview

crosspost x codebranch 

There were so many announcements this month, that the tech press kept whining about the jetlags and whole difficulty of travelling around the globe. And we’re not talking about the small announcements and launches – all of the three IT giants had something new for the ever growing personal computing market. October was huge for us as mobile developers, because we are the ones who will bring to life our future projects for these platforms.

This column is not about the reviews and mobile platforms news, it’s about catching up and telling about interesting events on the IT landscape.

  • Windows 8 and Windows RT launch
  • Apple event: iMac, Pros, MacMini, new iPads
  • Google Nexus event

Windows 8 / RT launch

windows8october26

We really like Microsoft’s latest design language (#dontsaymetro), and we’ve been trying windows 8 out for almost 2 months now. There are UX details that many of the users might find questionable, but once you got used to Win8, it’s suddenly a pretty good operating system.

Both engadget and the verge stated that despite some unintuitiveness, the OS itself is very compelling once you passed the learning curve.

From the development side, we really like the ability to easily port your Windows 8 solutions to Windows RT and Windows Phone 8, because of the shared kernel. We will aim to write an article about the advantages and flexibility Microsoft gives us with the shared kernel approach, since we have Windows Phone developers in house, but you can already have some examples and tutorials at dev.windows.com

Surface RT announcement

Jailbreak-Microsoft-Surface

You probably heard about surface: it’s a tablet from Microsoft and the only product within the recent years that created a giant amount of buzz around itself. Fancy ads, modern music, cool video. The Verge gave it 7.0 out of 10, which seems to be pretty reasonable and even good, since Josh doesn’t like anything windows-realted very much.

Engadget rated the tablet pretty good as well, with less criticism. Overall media reception was pretty good, except NY Times and Gizmodo, who crushed the tablet.

The best review was clearly written by anandtech, these guys always make awesome breakdowns and analysis on the tiniest details.

Apple Announcements

Macbook_Pro_2012_with_Retina_Display_35331572_05

Apple annouced the updates to the whole bunch of it’s products, from iPad’s successor “iPad 4th gen” and Nexus 7 / Kindle rival “iPad mini” to the new iMac, Mac Mini, and MacBook Pro with Retina 13″.
Retina on 13″ is gorgeous, that’s really great! And the whole lineup was updated. Really massive launch for Apple. The only question is the discontinuation of iPad 3 (aka the New iPad) production, but it’s replaced with the 4th gen iPad, the price is the same. The Verge already reviewd iPad Miniand the new iPad 4th Gen.
What we love the most from the development point of view, is that the iPad mini retains the same resolution the iPad 2 did, so no need to fix / rescale your apps! This is the unification approach by Apple, that is loved by mobile developers.
This year was huge for Apple! The whole-new iPod lineup, 2 iPad revamps, iPad mini, retina laptops, new iMacs and MacMini!

Google announced the next Nexus lineup, along with Jelly Bean 4.2

google-nexus-620x392
LG had became the next Nexus maker (Nexus 4), along with Samsung (Nexus 10 tablet). While both of the devices are very balanced, Nexus 10 impresses with the stunning 2500-1600 display!
Check out the big story on the new Nexus line by the Verge. Clearly, Nexus line truly shows Google’s commitment to improve Android user experience, and how the true Android phones should be done. In the next few iterations we can see an ultimate iPhone rival.
So, clearly the audience got a wide choice of new products  this months – whether you are an Apple fan, an Android geek or all nuts about new Windows 8 style, there are new gadgets to stand in line for!