Services

Fixed Term

Our fixed term engagement works well for clients whose requirements and needs are well defined. Where required, our team of specialists also helps our customers in analyzing, designing, scoping and documenting the requirements. A risk-aware estimate of finalized scope, supported by well thought out iteration planning and smart execution by our seasoned PMs, provides solid basis for a successful project delivery at TEO.

We commonly experience that this quality engagement with customers on fixed cost terms, usually converts to extended teams at TEO, playing more strategic role and promising contribution to customer’s business. Fixed Term Engagements at TEO can be characterized as:

  • Fast Track Project initiation
  • Timely and quality delivery
  • SCRUM based development approach
  • Practical and value adding post-delivery support services
  • Maximized Value for Money

Extended Teams

Get beyond the daily time-consuming discussions about capacity and methods. Reduce production costs, get a more lean organization,enjoy greater flexibility and gain economic freedom. We work as an extended team within the usual IT department structure, and have processes and practices to sustain flexibility while combining it with better process control.

Our Extended Teams delivers the following advantages:

  • Dedicated and flexible software development teams
  • SCRUM-based development model
  • Best practices & proven techniques to support seamless collaboration
  • Experienced Project Management professionals
  • Open communication & transparency across teams

Mobile Development

TEO mobile division started in 2010 with an aim to facilitate customer business extension – starting with iOS and Android competencies. Today we see the nature and type of apps growing complex while closer integration with existing systems is becoming business critical.

Hence we are now providing mobile solutions, working with core systems for businesses on iOS , Android & Windows Phone platforms. Our in house competency with .NET & PHP and experience with handling large, complex systems gives us an edge over competition when it comes to delivering a scalable mobile solution tailored to evolving business needs.

We usually do native apps while occasionally we integrate 3rd party SDKs, libraries & use platforms like Titanium, Jquery, PhoneGap & Xamarin etc where business or customer requirements justify the need.

Our team has direct experience of developing solutions for following industries:

  • Automobiles
  • Construction
  • Retail
  • Sports
  • Productivity solutions
  • Telecom
  • Travel & Transportation

Software development

TEO carries years of proven delivery track record as a custom software solution provider on Microsoft platform. We have built business critical applications for industries like automation, travel, marketing, telecom and service industry. Our teams deeper understanding of relevant technologies has enabled us to help our customers from architecture design, 3rd party integrations, system development to porting old solutions to .NET platform.

Our team has experience of delivering solutions using following technologies:

  • Cloud : Azure
  • DESKTOP: Windows Forms, Windows Store Apps, WPF
  • Web: ASP.NET,MVC, WEB API & Web FORMS / HTML5, SPA, Python (webpy, bottle, django) / Payment Gateways
  • Intergration (Paypal, Authorize.net, Icepay)
  • Business & Server Solutions: CRM, SQL Server, Exchange Server, Sharepoint, Mysql, Postgres
  • Other Solutions: Umbraco

The 7 Habits
of Successful Global Software Development

Overview

More than half of our customers have outsourced before and previously failed.

We don’t cover up or underestimate the difficulties of software project or distributed teams. From time to time we also fail. But we believe that we try to avoid some common mistakes : )

TEO partnered in the 5-year research project 2012-16. “Next Generation Technologies and Processes for Global Software Development” along with IT University and Copenhagen Business School from Denmark. www.nexgsd.org

At this icon you will find our recommended practice or tool related to the habit

It’s based on our experience at TEO working with Danish clients for about a decade.

#1. Review the code

No doubt that this is on top of the list. Code is our core delivery.

In most situations TEO develop custom software solutions for its customers. Hence, we ask you to assist us in checking the quality of code and quality of the architecture of the solution.

Open the hood and do code reviews often in the initial phase and regularly hereafter. Hereby we get the base right and develop in the right direction from the early start.

Moreover, your benefit as a customer is that you always have an insight of what and how the code base is. Hence, knowledge is transferred back to your organization about the details of the solution.

CODE REVIEWS ARCHITECTURE REVIEWS
“We had to redo all the code. The quality was too bad.”

#2. Build the team

Second to the quality of product is the quality of collaboration.

Teams don’t build themselves, co-located and remote alike.

Good performance requires social engagement with your team fellows. We sometimes confuse higher education to mean better social skills.

Take some time to introduce yourself to each other. Know the basics, strengths and responsibilities of each other. The more you know the better the team performance is. Rebuild when people leave or join the team.

In our experience remote teams fail on projects not due to competencies, project specifications, processes or cultural differences, but mainly because of lack of social skills in the team.

TEO TEAM POSTER
“I don’t know what his name is. But he said…”

#3. Do demos

Seeing is believing–and we usually know what is wrong when we see it.

Don’t rely on project plans and mockups. See the progress, see the code work and comment on it frequently.

Share a screen and demo the current state of the development on weekly basis at least. Even if it is not near completion or only small features are added.

This gives the team the understanding of the progress of the project as a single point of truth and enables everyone to give quick feedback in case of changes etc. rather than exchange of lengthy documents.

WEEKLY DEMO BIG MEETINGS TEO PRESHIPMENT WALK THROUGH
“When we got the final build, it didn’t work at all…”

#4. Respond quickly

Remote teams suffer the sense of urgency contrary to co-located teams.

Immediate face-to-face interactions get first priority. And your boss may ask you to do other tasks as he/she doesn’t see the persons depending on you in the room or at the lunch table.

Make your commitment and allocation to the project clear with your organization. Answer all queries from your team members within 24h, but the faster the better. We have 4-6 hours of time overlap which can be positively availed.

As a customer and manager, e.g. project manager or product owner block time slots in your calendar to be available to the team. Also keep 1 month backlog visible to the team to avoid loss of productivity and frequent queries.

Allocation (100%, 50%, 25%…) BACKLOG 24H RULE VIRTUAL WINDOW
“We decided that we don’t need more meetings. It’s waste of time…”

#5. Communicate often

Most software developers like to concentrate on their primary job -the programming.

Some don’t like to talk much. But talking and communication in the team is essential to a good project output. If the email is getting long drop it and do a voice call instead.

Time to time meetings can be skipped, but in general even if you don’t think there is anything to talk about force the meeting and you will find that something useful surfaced during the discussions or demo.

You must at least schedule recurring weekly big meetings in the project team and daily scrum meetings in the development team.

WEEKLY BIG MEETING DAILY SCRUM MEETINGS SKYPE TEAM CHANNEL
“We decided that we don’t need more meetings. It’s waste of time…”

#6. Document just enough

Most small and medium size businesses don’t want to spend resources on extensive requirements specifications and documentation.

Do the high level requirements and let the developers in TEOs team do the detailed break down, estimation and planning. This is why TEO don’t offer developers but ”development teams”.

This has two benefits: Customer spend less time while the understanding and ownership is transferred to the people who shall actually do the job.

Agreed ”keep-alive” documentation has to be planned into dedicated sprints serving this purpose only. During meetings always share a screen and write the Decisions of Meeting (short 1 liners) while everyone see it and email afterwards.

HIGH LEVEL SPECIFICATIONS HOUSEKEEPING SPRINTS TEO DoMs
“With all this documentation we had to do… we could do the project faster ourselves.”

#7. Describe the process

Today most software projects subscribe to the SCRUM framework.

Decide the tools to use, the process and the practices to apply in your project. Not everyone does SCRUM in the same way. Don’t hesitate to define your own flavor and add special practices that you have good experience with.

Rotate responsibilities in the team to get a robust team delivery and process orientation. New team members get productive faster by a brief but formal process description.

When dealing with complex industries a Project Dictionary defining all special terms is also a very useful tool and practice.

PROCESS DESCRIPTION PROJECT DICTIONARY
“We don’t understand each other. I think it is due to cultural differences.”

Overview

Review

Build

Demo

Respond

Communicate

Document

Describe