Friday, May 14, 2010

New blog address

Dear readers of our blog.
On 1 June our blog moves to the new address http://blog.ainstainer.com.
We will be happy to see you there too.
Thanks for reading and following us.

Warm regards,
Ainstainer Group team

Fixed cost does not work…


Our software development company esteems the agile approach. We work in Scrum and have come to regard it as a natural approach to managing requirements, releases, and changes in a project.

We believe that bids and fixed cost are bad idea. Here I’ll try to explain to you why.

First, you will never get an accurate price. Developing software, especially new systems built to individual needs, is a creative, inventive process. It is not possible to accurately say how long developing “Feature A” might take. It is possible to make a prediction, an estimate.

Secondly, every software developer knows they can't accurately predict how long a particular feature will take, so they guess.

In fact you get the following consequences of fixed cost: Because if the project is over budget but a contract is on a fixed price every sane company will do all they can to limit their losses. In other words, they’ll finish the product as quickly as possible. And besides it is always time stressing.

To further reduce costs, the company may replace senior developers with interns, working overtime.

Why is it bad to write a list of wants? Because in the end you end up putting many things there which are not needed, It’s worse, you won't put there many things that will be needed only because you haven't thought of them yet.

What do you think about fixed cost/fixed price model? What model do you use?

Your feedback will help.

Thanks

Thursday, April 8, 2010

The Top 6 Benefits Every Start-up Shoud Know About Outsourcing... But Probably Doesn't


  1. Focus on your core business. Do not spend time doing projects which take you away from growing your core business, jobs you dislike or even are not good at. By outsourcing you get to focus on your business, while they complete the project, you have been dreading for months. Time is money!
  2. Reduce staff costs. When you outsource you do not have to deal with tax laws, desks and office space, superannuation, sick and vacation pay. You also have the benefit of hiring someone for a short term project that otherwise may be too expensive for a fulltime basis.
  3. Increase flexibility. Have the flexibility to decide how long you need your remote developer(s) for, what hours and days the work. You can attract the whole team for specializing projects which are selected especially to meet your requirements.
  4. Control capital costs. Cost-cutting may not be the only reason to outsource, but for startup companies with their limited budget it is certainly a major factor.
  5. Start new projects quickly. Handling the same project in-house might involve taking weeks or months to hire the right people, train them and provide the support they need. And if the project requires the capital investment the start up process can be even more difficult.
  6. Increase efficiency. By utilizing the existing infrastructure of an external provider you get the economies of scale which can increase your efficiencies and give your business an important competitive advantage. You also get the knowledge and skill set of a professional.





The new way out for startups - outsourcing

Small businesses have got a small budget but large needs. For small business owners one of the biggest challenges is wearing all the hats and the smaller the business, the more aspects of it you need to look after yourself. Startups originally go into business because they have a passion and skills for a certain product or service.
However, the skills may not include the operational, marketing or financial end of the business. Every small businesses have got some essential but non-core activities which take much time and could be better spent servicing existing customers or developing new ones.
In the past startup businesses were limited to two choices:
Wear every hat; fill every role, to the best of our ability, hoping that there will be time to seek new clients or cope with the existing already ones. But as they say grasp all, lose all.
Or hire the employees to fill those roles so that to focus on growing our business. In this case you should bother about searching for the personnel, selecting, hiring, establishing the team and what the most important - to wade through the red tape.
However, the third choice, which is growing popularity is outsourcing. This is when you engage the services of an external provider who is an expert in a particular field.

Wednesday, March 17, 2010

Outsourcing. From the origin to the present

Wednesday, March 10, 2010

SCRUM for Housewives

When I get to know something new and complicated I am trying to explain by comparing with resembling process from day-to-day life. So when I’ve heard about SCRUM I tried to compare the technology with something that I knew very well. Thereby here is a new explanation: SCRUM or sewing a dress.
When I want to order a dress I do it like this:
There is a Scrum master-the owner of the atelier, which was chosen
Product Owner –this is me.
Team- they are the tailors, that will sew the dress
Product Backlog – it is my preference in material, color, fashion, and others.
We are making a Sprint Backlog on the first meeting and the Team is beginning to make a sprint. I will see the results on the first fitting. If something doesn’t fit-we just discuss the problem and find the decision, just like in SCRUM.
Another example of SCRUM methodology is cooking. Dividing the process into iterations (time for cutting, boiling, adding the ingredients etc).
We have to add everything during the process and we have to taste all the time what have we cooked. (the only difference with SCRUM is that we are not able to playback, when we overdid the salt or pepper=))
Any other ideas?

Friday, March 5, 2010

Scrum Advantages

Tuesday, March 2, 2010

10 outsourcing trends in 2010

It was a long year of intense ups and downs in the IT outsourcing industry. Consolidation among vendors and interest in remote infrastructure management increased, while overall outsourcing demand and IT services pricing decreased.
The market for IT outsourcing is expected to rebound a bit in 2010, say industry watchers.

Monday, March 1, 2010

If you're stupid, it's not Google's fault

Three out of four people surveyed said they think using the Internet is making us smarter, not more stupid, according to a study jointly done by the Pew Internet & American Life Project and Elon University's Imagining the Internet Center. The question was posed in reaction to tech author Nicholas Carr's cover story in a 2009 issue of The Atlantic Monthly -"Is Google making us stupid?" Read more here

Genius minds in Ukraine


Choosing your outsourcing partner? Think creatively and thoroughly.
In this post i gathered some interesting facts about genius minds in Ukraine.
Ukraine produces the fourth largest number of academic graduates in Europe.
In Ukraine, the number of higher educational institutions of III-IV accreditation levels is 315, including 223 state-owned ones, of which 41 is situated in Kharkiv.
Ukraine is taking part in Bologna process.
Results of participation of Ukrainians in International Mathematical Olympiad

Year
2008
2007
2006
2005
2004
2003
2002
2001
2000
1999
1998
1997
1996
Result
15
6
22
9
11
14
20
8
13
12
8
6
18


Results of participation of Ukrainian team in International Olympiad in Informatics.
2008 – 1 silver medal, 2 bronze;
2007 1 golden medal, 1 silver medals, 2 bronze medals;
2005 – 2 golden medals, 1 silver medal, 1 bronze medal;
20031 golden medal, 2 bronze medals;
2000 – 2 silver medals, 1 bronze medal;
1998 – 1 silver medal, 2 bronze medals;
1997 – 2 bronze medals;
1996 – 1 silver medal, 1 bronze medal;
1999 – 2 bronze medals;
1995 – 2 bronze medals;
1994 – 1 silver medal, 1 bronze medal;
1992 – 1 silver medal, 3 bronze medals;
Ukrainian students took part in South-Eastern European Mathematics Olympiad for University Students with International Participation in 2008 and won 3 golden medals, 4 silver medals, 1 bronze medal.
Ukraine won second place in 1st,5th, 7th, 8th, 9th International Scientific Olympiad on Mathematics, 5th place on 3rd International Scientific Olympiad on Mathematics.
Ukraine is possessing 4th place at TopCoder’s Algorythm Contest
Ukrainian Team (from Lviv) occupied 4th place in ACM International Collegiate Programming Contest - 2008, sponsored by IBM (ACM-ICPC).
As a conclusion, I would advise you to look for your business opportunities wherever possible, - for instance, when selecting your nearshore software development partner. Knowing facts, that your rivals don't know, will give you great competitive advantage.

Monday, February 22, 2010

IT Outsourcing Mistakes

While outsourcing is a powerful tool to cut costs, improve performance, and refocus on the core business, outsourcing initiatives often fall short of management’s expectations. Outsourcing failures are rarely reported because firms are reluctant to publicize them. However, contrasting them with more successful outsourcing efforts can yield useful “best practices”. In this post I will underlie most failed outsourcing efforts.

  1. Outsourcing activities that should not be outsourced. Determining which activities can be best performed by outside vendors requires a good understanding of where the firm’s competitive advantage comes from. Resources and capabilities that are valuable, rare, difficult to imitate, and difficult to substitute for lead to superior performance. Activities that are based on such resources and capabilities (i.e., core activities) should not be outsourced because firms risk losing competitive advantage.
  2. Selecting the wrong vendor. Selecting a good vendor is crucial for successful outsourcing. A useful distinction can be made between hard and soft qualifications. Hard qualifications refer to the ability of vendors to provide low-cost and state-of the-art solutions. Important criteria also include business experience and financial strength. Soft qualifications include a good cultural fit, a commitment to continuous improvement, flexibility, and a commitment to develop long-term relationships.
  3. Writing a poor contract. A good contract is essential to outsourcing success because the contract helps establish a balance of power between the client and the vendor. Spending too little time negotiating the contract and pretending that the partnership relationship with the vendor will take care of everything is a mistake. Drafting a good contract is always important because it allows partners to set expectations and to commit themselves to short-term goals.
  4. Overlooking personnel issues. The efficient management of personnel issues is crucial because employees generally view outsourcing as an underestimation of their skills. This may result in a massive exodus even before an actual outsourcing decision has been made. Firms that contemplate outsourcing must face two interrelated personnel issues. First, key employees must be retained and motivated. A second personnel issue is that the commitment of employees transferred to the vendor must also be secured.
  5. Losing control over the outsourced activity. When an activity is outsourced, it is crucial to retain a small group of managers to handle the vendor. These managers must be able to develop the strategy of the outsourced activity and keep it in alignment with the overall corporate strategy. While vendor management skills are very important, they must also be complemented with technical skills. If no one in the company is able to assess technological developments, outsourcing is bound to fail.
  6. Overlooking the hidden costs of outsourcing. Transaction cost economics (TCE) suggests two main types of outsourcing hidden costs. First, outsourcing vendor search and contracting costs. Search costs are the costs of gathering information to identify and assess suitable vendors. Contracting costs are the costs of negotiating and writing the outsourced contract. Second, outsourcing management costs: monitoring the agreement to ensure that vendors fulfill their contractual obligations, bargaining with vendors and sanctioning them when they do not perform according to the contract when unforeseen circumstances arise.
  7. Failing to plan an exit strategy. Many managers often fail to plan an exit strategy (i.e., vendor switch or reintegration of an outsourced activity). Actually, outsourcing relationships can be viewed on a continuum. At one end are large-term relationships where investments specific to the relationships have been made by one or both partners. At the other end are market relationships where the client has a choice of many vendors and the ability to switch vendors with little cost and inconveniences. In this case, there is no real advantage in recontracting with the same vendor.


This article is a shortened article of Jérôme Barthélemy “The seven deadly sins of outsourcing”

Tuesday, February 16, 2010

10 reasons to have your own client team:

  1. We establish the client’s own team especially comprised to his own requirements.
  2. The client gets experienced and qualified developers which he can interview himself via skype.
  3. Our company sets the infrastructure and registers the fact of working of the employees.
  4. The hiring process is implemented in 3 steps: first –HR manager interviews the candidate (100%), then our company’s CEO (50%), third the client interviews the most appropriate candidates (20%)
  5. The recruiting process is free of charge and is accomplished within a month, if the client is not satisfied with the candidates he can quit collaborating without any charge.
  6. The client sets himself the salary for his employees.
  7. The team works under the client’s direct control ( the customer sets tasks, schedule, meetings)
  8. The team is flexible to scale up/down
  9. Each team member can communicate directly with the client, discuss openly various issues and suggest solutions.
  10. We can provide with a PM locally to the client’s demand

Friday, February 12, 2010

Brief Facts on Ukraine

How to minimize the hidden costs of IT Outsourcing


The major goal of IT Outsourcing remains cost reduction. However, this brings unexpected investments far too often. Companies who are willing to outsource should not underestimate hidden costs as well. What follows are the most reasons for increased budget.


  • Vendor selection. The clear vision of what needs to be achieved would help a lot. Which processes are to be performed offsite? What model of work would suit the best – is it project-based IT outsourcing, or hiring dedicated resources
  • Hardware and software for distributed development. The internal software development processes will need to become more mature, through the implementing of certain processes, artifacts and communication tools. It is better to invest in effective tools for the distributed development, rather than have delays or bad quality in the future. 
  • Knowledge transition. The initial stage of IT Outsourcing may be performed in a cost effective way – such as specifications writing, conference calls and online meetings. Nevertheless, especially for larger projects, costs invested in on-site visits prove to pay off. Making offsite workers spend time together with the onsite team to study the project environment in-depth reduces the miscommunication quite a lot. 
  • Cultural, language, time differences: to increase the interaction efficiency and to avoid misunderstandings it is useful to evaluate the level of mutual understanding already during the vendor selection. 
  • Layoffs: to avoid this, assign new roles to the staff. These roles may be related, for instance, to the management of the distributed development process.
  • Support: to be independent from the service provider, ensure that on-site staff interacts closely with the off-site team and is up to date with the developed product. Another way to avoid additional support spending is to negotiate with the service provider the technical support as well.


IT Outsourcing requires additional costs for management and for the interaction. As Hank Zupnick, CIO of GE Real Estate, says in the CIO.com article "The Hidden Costs of Offshore Outsourcing, "You can't expect day-one or even month-six gains. You have to look at offshore outsourcing as a long-term investment with long-term payback."
What costs has your company experienced that were not overseen from the beginning? How can these costs be avoided?

Wednesday, February 10, 2010

5 Tips on interviewing for distributed development team

Distributed software development can drive the company’s productivity – given that the dedicated team is comprised of the right people.
How is interviewing virtual team members different from ordinary staff hiring? When the personal meeting is impossible, what are the key actions that help find the best developers for the distributed team?



There are plenty of opinions to be found. Some would warn you against hiring people who smile too much, some claim Twitter to be a great tool for interviewing. However, most valuable set of advices can be gathered into following five tips:

  1. Autonomy: Virtual team is most productive when comprised of people who want and are able to successfully work on their own. Give an impossible-to-solve task to see the reaction of your future employee.
  2. Motivation: Ask questions to evaluate the candidate’s desire to work.
  3. Skills matrix: gathering the possessed skills into a matrix would simplify the data processing.
  4. Reference check: check selected references out of provided. Be concrete to mention the problems that you are willing to avoid. It is useful to check the references via social networks such as Linkedin or Xing.
  5. Salary: Do not hesitate to ask the candidate’s expectations during the first conversation. Although you might encounter the candidate’s resistance on naming the number, it is better to negotiate the financial part at once as it influences all the further steps.

It would be great to hear about readers' experience for interviewing dedicated developers. Which are your favorite questions? Is voice or chat communication enough or do you use video conferencing?

Tuesday, February 9, 2010

Overview of the communication tools


Software development requires frequent interaction. As companies extend their IT department to remote locations, they tend to invest more time and efforts to make the communication process flawless. As the business scales up, it may become challenging to manage the virtual team, nevertheless there is a comprehensive set of tools to keep the understanding on a high level.

In-house team members manage the team, assign task and control their execution. The most helpful tools will be reviewed further. However, the most optimal method of communication depends on the number of virtual team members, on their roles and on other project characteristics.

Individual messengers are good as they are mostly free and easy to install and to use. They are good for environments where one cannot talk aloud, they do not require high speed Internet connection and they are the best tool for team members with not perfect English skills. Text chat allows to discuss small issues once they arise. Chatting creates another level of documentation as the chat history may be exported or reviewed later. Some people do not like messaging as it distracts them from work. To prevent this, it would be better to keep messengers switched off for certain periods, or simply to increase one’s discipline so that popping messages cannot influence one’s work. Another alternative is to switch to e-mails completely.

Voice interaction provides higher level of understanding and allows to have a more detailed conversation. Using voice may be more cost-consuming. Given that all the team members speak fluent English and the connection is good enough it is a great tool for conference call to enlighten the most important issues. It is best to have such meeting scheduled, and to agree upon the agenda beforehand.

Video conferencing tends to be gaining popularity as it allows to see each other and to read the body language. High quality video conferencing certainly demand well-established infrastructure. However, as the technology develops, we may expect video conferencing to become less expensive.

Web conferencing and screensharing tools allow participants to follow the leader during the presentation and obtain a record for later use. In some cases number of participants can be limited.

To obtain and manage the corporative knowledge it is effective to use wikis. For the smaller projects it might be replaced with Microsoft Office Groove as well.

Google wave also tends to help a lot as a communication tool. It allows users to join the interaction at different time and simplifies the sharing of visual presentations. As more people discover and start using it, there is more google wave users feedback provided, along with its benefits and negative sides.

Face-to-face meetings. It is arguable, to what extent are the face-to-face meetings important. Personal encounter, especially for large teams, proves to speed up the initial stage of the project. On-site visits help help to decrease the time for the developers to familiarize themselves with the project information. Face-to-face work strengthens the team and increases the team spirit, yet there are no proofs that this is an inevitable action to take.


I would recommend following articles - this article on BNet on the collaboration for remote work has provoked quite interesting comments, and there is a comprehensive list of communication tools on Technology Magazine and on Mashable available.

Friday, February 5, 2010

Developers sought! Is it better to find a freelancer or to engage with a company?


There are many materials on the web how to choose between service provider and freelance workers. However, inspired by this question on startups.com, I decided to summarize this and to brainstorm this question further with our readers. Yes you are reading a blog of a service provider company, but this post’s purpose is to help find the best solution. So feel free to share your experience when working with freelancers as well as service providers. What would you recommend to keep in mind when selecting between these two options?
Companies that need to enhance their programming team face several options: to hire developers on payroll, to outsource, whether locally or overseas, or to engage with freelancers. It is well-known that freelancers tend to deliver more cost effectively yet there are some risks and inconvenient moments in contracting with freelancers.
Freelancer may appear to be a college student or a full-time employee with another company. He does not always have to protect his reputation. Yet every case is different, and of course the freelancers are not all the same. Although it seems like most brilliant minds would work for one or another company, that is not a rule. Some talented workers simply enjoy working from home and being able to select their customers. The point is to find and access such kind of freelancers.

Summarizing the reasons to hire a freelancer:
  • rare skills are sought, and there is a way to check the person’s competency
  • the job scope is clearly defined
  • project is rather short, in-time delivery is not critical
  • the job can be executed by a single person (as it might be difficult to coordinate the work of several freelancers as well as engage them into collaboration)
  • there is a way to check the intermediate release and assure that the contracted person will stay in touch frequently
The cases when it is better to select a service provider:
  • large project
  • broad range of expertise is required
  • intellectual property must be securely protected
  • the project will need to be enhanced or supported in the future

So I conclude that it is useful to have both freelancers and service providers in the network of contacts. Once you have a small project with clearly defined job scope and you have a reliable freelancer within your network, engaging with him may prove to bring success. For bigger projects that will be further developed and enhanced in the future, it is definitely better to approach service vendors.

Thursday, February 4, 2010

Hire or not to hire?

Hire or not to hire, that is the question. Searching, hiring, training, paying a full time employee, managing personnel, sick days, maternal leaves, vacations, accidents, resignation - that is all a lot of in-house staff.
To give an answer to the title won’t be an ungrateful thing to do, because some employers are for outsourcing staff others are for insourcing staff. Controversy and a conflict of opinion over this matter will continue to exist. Yes, tastes differ, as people say one man’s meat is another’s man poison. What I’ll do is just state the benefits of hiring remote employees. Here they are…
You don't have to provide desks and office space. You avoid office overhead costs, such as office rent and phone, electricity charges, and all the other little things than having an office involves.
You don't have to calculate and pay sick pay, vacation pay, maternity leave, health insurance, superannuation, family leave or whatever complications apply in your country.
You don't have to wade through the red tape that having employees involves. Indeed, a lot of "bookwork" is involved when an employee simply wants to arrange a long weekend off and take one day's vacation pay.
Outsourcing is usually much cheaper. You pay a contracted rate, negotiated between you and the contractor.
Having remote workers gives you more freedom. You can run your online business from anywhere that Internet access is available. You can travel, spend time with relatives, have long weekends away from home, and so on.
There’s one more factor, psychological. Hiring part-time workers who are efficient specialists can reduce your stress. One of the big benefits of outsourcing is that you can hire people who actually like doing fiddly stuff.
Moreover, hiring a specialized expert, as well as freeing you for tasks you do best, gives you peace of mind because you know the task is being done accurately.
Outsourcing work is very useful when you just have occasional tasks that need doing - you don't have to worry about trying to keep someone fully occupied in productive, revenue-generating activity every day.
You can keep confidential business methods secret by splitting up tasks among a bunch of remote workers, so that each one sees and understands only a very small proportion of your process.
Training usually isn't necessary because you hire freelancers who already have the skills you require.
You now have employees to manage. You need management skills. Your library will probably have dozens of good books on the subject, but do you have the time to read any of them? You also need patience and empathy and need to have the right personality to manage staff.
The decision of outsourcing or insourcing doesn’t depend only on your business situation, but also on your personality I consider. Outsourcing and hiring remote workers are for those who value his own privacy and freedom, for those who don’t want to discuss things face to face and manage personnel. And nevertheless it’s up for you to choose and decide.

My article is based on the materials of the Article by Allan Gardyne “Hiring Versus Pitsourcing”

Tuesday, January 26, 2010

Dedicated teams model is gaining popularity


According to "Central and Eastern Europe IT Outsourcing Review 2008" - a research conducted by Ukrainian High-Tech Initiative,during 2003-2007 the customers were tending to switch from project-based outsourcing model to hiring dedicated programming teams, - so that the customers contract and manage IT staff directly. Although fixed-price project model seems to provide less risks, it also restrains significantly the development process and can result in overestimated budgets. According to the research results, since 2003 until 2007 the number of project contracts has fallen by 30-35%.


As one of the answers to Onstartup questions about selection the right agile IT Outsourcing provider Scott Drake, the Owner of the Data Pros (Web development company in Louisville, USA) has made quite an interesting statement - “I built my team in Argentina … I interviewed all of the developers and still made one bad hire. It took two months for them to go into the market to find the right talent that would work well on my team to replace that bad hire. The management was willing to hire another employee for my team because I built a relationship with them and treat them and its employees very well. And they know my intention is to build a mutually beneficial relationship with them and keep my team for at least a couple of years, not just two months. It took me months to find the right vendor/build the right team. Unfortunately, I could not find an easier/faster solution.”

I wonder whether our readers have had similar experience. How difficult was it for you to select the staff for your remote team? Is one development interview enough for the decision? What questions were the most important for you – was it their experience, or ability to solve the problems, or the communication skills?

I have asked Mr Scott Drake some other questions about his experience managing his dedicated team. I will put his answers together along with more relevant data into the next blog post.

Thursday, January 14, 2010

How to build the communication between customer and vendor for successful outsourcing?

Even if there is enough budget, resources and time to fulfill the project, still one problem can arise between customer and vendor when outsourcing - it is the process of communication. Especially the complexity of Agile Development process (constant changes in requirements) in contrast to building a product from a set of requirements (Waterfall). The communication in this scenario adds more issues and one can’t ignore but have to give highest priority to the process of communication between parties. Here are some of the points to implement that can improve the communication process
  • The key point: people should co-invest time in building a successful cooperation and work on effective means of communication. It is not 'throw your projects over the wall' but 'make a strategic decision to outsource' and 'invest time to build a strong partnership with your supplier'. The processes of client and supplier have to become interwoven and both sides have to work hard to create a balance in the cooperation
  • The communication should be frequent, weekly meetings are to be changed to multiple meetings a week. That results in keeping everyone's connected and updated with the ongoing process
  • People should try to use phone or skype calls frequently to avoid communicating everything through chat or email. And there should be an online system to document everything that is communicated (also the summary of a phone call)
  • Involve engineers in the meetings along with leads and architects
  • Think through what is to be communicated, just like planning an effective meeting it requires thought and structure.
  • Don't be afraid of communicating bad news - but make sure you have a way of resolving any pains you may encounter. Try to present more than one option when dealing with problems. We always call them "opportunities". It is an opportunity for change with a positive result.
And remember, all of the items on your list can be organized and planned; it's the people part that needs to be taken care of too. First, a little chit chat, the personal touch, can go a long way.

Wednesday, January 13, 2010

IT Trends for 2010

What will be on the top in information technologies in 2010? Though predictions vary, most of them point on virtualisation, cloud computing and green IT.

According to the survey by a German hightech association BITKOM, most popular trends are cloud computing, virtualisation, followed by mobile internet, IT-security and IT Outsourcing.

Irshad Raihan, Worldwide Marketing Manager at IBM, names the trends for IT in 2010 at the developerWorks podcast. He predicts the virtualisation, cloud computing and green IT to be the major trends in 2010.

Six CIOs were interviewed by Jason Hiner at SIMposium 09 in Seattle to find out what they consider to be the main IT trends in 2010.The answers differ significantly and can be viewed in 15-minutes video at ZDNet. Peter Whatnell, CIO of Sunoco, names virtualization as the main trend. Tony Scott, CIO of Microsoft, has named the consumerisation of IT. Patricia Coffey, Vice President of Technology for Allstate is sure that Green IT will gain most importance in 2010 - both as a way to reduce energy consumption of IT centers and also as a way to apply technology for environmental purposes. Curt Pederson, CIO of Oregon State University has selected open-source to be the most trendy in 2010. Ed Trainer, CIO of Amtrak, is concentrated on how can information technologies further support business. Larry Bonfante, CIO of U.S. Tennis Association has stated the cloud computing to become the main trend for 2010. Jason Hiner underlines five most popular trends in his video at techrepublic - these are smartphones, WAN acceleration, e-readers, desktop virtualisation and the consumerization of IT.
Which are your predictions? What is going to be most important and challenging for you in the year 2010?

Thursday, January 7, 2010

Definition Of Done (DoD)

Here is our definition of done:

  1. Code implemented
  2. Builds without errors
  3. Code commented, commited to source control
  4. Peer reviewed, meets development standards
  5. Unit tests written and passing
  6. Deployed to system test environment and passed User Acceptance Tests (UAT)
  7. Build/deployment/configuration changes implemented/documented/communicated
  8. Relevant documentation produced or updated
  9. Remaining hours for task set to zero and task closed

Wednesday, January 6, 2010

The Benefits Of Small Companies Over Big Companies

We live in the world where big seems better. Small feels ... well, unsafe, in general, not mention the fact of collaboration with. But sometimes we overlook the fact that huge businesses have serious weaknesses in areas where small businesses shine and then begin to realize that small business is a great business, and I'll tell you why.
Having business with small companies really have the number of advantages over big companies. Here they are:

Experience. Big companies are always well-known and widely advertised. One can often hear that some company has 100 year experience, that sounds very promising and impressive, doesn’t it? But have you ever thought that only personnel experience really matters, but not the company’s. That is the point. You can find qualified and professional employees both in small and big companies, and it never depends on the age of the company.

Better customer care. I'm sure you've noticed that the larger a company grows, the harder it becomes to provide good customer service. Just try to find the right person to help you on the phone in a huge corporation - it'll drive you crazy. But when you ask for the owner of a small business, chances are you'll be speaking to her or him within a few minutes. Hence, more often than not, burning business decisions can be made without the delays.

Flexibility and immediacy. Things happen quicker in small companies. Small businesses are positioned to quickly adjust to change, they know that their ability to make rapid decisions and implement course corrections is their key to success. Decision making is streamlined and employees often exercise a wide range of skills and experience, rather than to be specialists in only one area. If one employee is on leave or needs to be temporarily reassigned to a different project, another employee is already trained to take his or her place.

Commitment. That is not to say that the management teams in large companies are uncommitted. The personal stake in small business is greater. Business owners' self-image is tied closely to their businesses. They will not let these businesses fail. They take it personally.

Lower costs, equal or better quality. When cooperating with big companies, you pay 20 per cent only for the popular brand of the company, but not for the job done itself, it’s like buying white plain T- shirt from Gucci for unreasonable price which is of the same material, quality and tailoring as from a shop. Just think what you pay for. Does it worth it?

Responsibility. Writing this article I interviewed some my colleagues who worked in businesses of a different size and all of them pointed out, that when working in big companies, people often shift responsibility on their colleagues, and think that somebody will do his job. Otherwise in small companies employees know that nobody except them will perform their own obligations and tasks, hence they are more responsible, ambitious and motivated.

Freedom to innovate. Due to the structure of the small businesses (flexible schedule, no dress code, positive atmosphere) employees have the freedom of action, that really can bring to customer’s project innovations, new decisions, ideas and creativeness. You can see that innovative small businesses are considerably cost-effective to cooperate with than to innovate on your own.
Thus, dear readers, being big isn’t a great deal. But delivering top customer service, a passion for excellence, a willingness to dream and create, and the freedom to make timely decisions - these are worthy of acclaim.

Why are people so much attracted by fixed-cost project outsourcing model?

Sometimes customer insists on fixed-price project model. It is stated, that all the requirements are already perfectly defined.
Is it really so easy to predict all the job scope? Would it not be better to be flexible if required? It sometimes seems to me, that fixed-price projects simply transfer the risks to the outsourcing vendor. This reflects in overestimated prices and non-optimal planning and resourcing distribution. So I wonder, how many fixed-price could have been more successful if there would be more flexibility and client-vendor interaction added?
What are your experiences with different pricing models? Which model has proved to be most effective for both parties?

Nearshoring vs Offshoring

People are used to the term "offshore" and are surprised to hear the words "nearshore programming". Is it just another name of the same model? What is the difference?

As for me, "nearshore" implies first of all "better understanding". This also means close live communication, often face-to-face visits, similar culture and even priorities and approach to work. And this influences quite a lot the success of IT outsourcing! Sure, going offshore has also certain benefits when compared to nearshore - for example, you can have your offshore team working while you sleep, so the decision, whether to find an offshore- or nearshore partner must be individual

Tuesday, January 5, 2010

How can Startup win from IT outsourcing?

Can a startup deal with IT outsourcing? Isn't it that requirements for development are too often unclear, the scope of the job changes constantly, new development tasks arise?

Is it real to manage an outsourcing partnership when you are a single entrepreneur or when there are several founders/managing partners? How can it be implemented?

Ainstainer Group offers support for young entrepreneurs. We comprise teams for startups at cost price. Why do we do this? Because the service we're offering is rather new to the market and we want to engage as much customers as we can! And of course because we love the entrepreneur spirit and we want to contribute to new achievements. We want to help you make it happen!

How To Implement Agile IT Outsourcing

Mark Rickmeier in his webinar related to Offshore IT Outsourcing shows, how to set up the work with a distributed developmengt team and how to manage the communication issues. Mark also shows how to implement agile processes for IT outsourcing. It is well-known, that most of the issues of IT outsourcing are solved by implementing agile approach. So pretty often a company willing to outsource IT (offshore or nearshore) is striving to find agile approach on the vendor's side as well. Nowadays agile is a buzzword, and it's very easy to claim being an agile IT outsourcing vendor.

How can a project manager be sure that outsourcing will contribute to internal agile project management approach? Which techniques have proved to work out for you? Do you consider Scrum Alliance Certification to be necessary for the members of dedicated team?

Dedicated Team - Is It Really So Complicated?

When I'm talking to customers, who are interested and recognize the potential of having their team nearshore, but who have had no experience of that kind yet, first thing I'm hearing is - 'we must sit and think, how will the collaboration go.. are we mature enough?'

I can understand that managing your team remotely may seem like a challenge. But once you try it and work out your communication strategy - it is very easy. Even on the stage of team selection one can try the interaction with future team members to see, how deep the mutual understanding is, and if the miscommunication might be an issue.

So basically, the dedicated team model is much more simple than project-based outsourcing - especially for those individuals, who have no experience with outsourcing yet. When you were just starting with IT Outsorcing, what challenges have you faced? Was it complicated to set up processes to manage the working process?

Ainstainer's Elevator Pitch

If I were having an elevator ride with potential partner, and would want to attract his attention to what Ainstainer does - I would say the following : we create client's teams of programmers, that work remotely at our Ukrainian office under client's direct control. So even a very short ride would be enough for a dialogue! There would even be some time left to mention that we can source a team to work in agile environment, and that we support startups by comprising their teams at cost price!