Guest post by MVP Vincent Biret
Through my career I had the chance to be involved in several startups or small businesses trying to create a product or digital service. However a question arises very quickly:
How to have effective working tools while minimizing the financial impact?
And by impact financial I also mean the time spent to implement, because it is time that it not spent on its core business, or more generally to create added value.
What tools? What tools are needed in a startup?
It is quite simple, the same ones as in large company:
- an office suite
- an email system
- telephony and if possible to instant and unified messaging
- a collaboration space
- a source code control system
- a software factory (Organization, tests, deployments,...)
The big problem is that you cannot really use public services (try to find clients by sending emails from Gmail or Hotmail,…) and implementing and maintaining all these systems represents a huge cost for a startup.
What is the solution I propose?
A trio that will meet most of your needs without you ruining or losing hours implementing: Office 365 + Azure + Visual Studio Online.
With Office 365 you have:
- The Microsoft Office Suite
- SharePoint Online : all that you need to collaborate internally and externally around your documents
- Exchange Online : a true enterprise messaging system
- Lync Online, instant messaging, conference calling, and even telephony completely integrated (for telephony need to add some configuration steps)
Visual Studio Online provides you with:
- Portions of Visual Studio: development environment in the Cloud
- Source code control system
- Work planning (agile, CMMI,...)
- Testing factory
Azure provides you with:
- Lot of applicative bricks, infrastructure etc.
- Integration with office 365
- Integration with Visual Studio Online
Scenario: My Ideal Startup
It is Monday morning, the CEO and marketing manager (we all love to give ourselves important titles in a startup) join the sprint planning meeting. They sold a new feature to a large customer. They already spent Sunday afternoon to write users stories (outline of the features) and to prioritize them in TFS (Visual Studio Online).
As CTO and with my team of developers I divide everything into tasks using demonstrations material made for the client located on SharePoint online to get more details. We are ready to code. Oh I almost forgot, as a startup, we are not often at the office, all the meeting was done with Lync online using video - conferencing.
During the week we develop in Visual Studio, one developer is dedicated to unit and automated tests. While I code a feature, he will develop tests that will check the functioning of it. This will ensure that no bug is introduced subsequently to another modification without us noticing.
Obviously whenever we check-in something, it is linked to the related task and we update its state. Our CEO impatient to have its functionality operational can monitor progress without having to disturb us when we code.
Every night I have a test plan that runs, it compiles the day's work, deploys in a machine on Azure, runs the tests, and saves the results. In addition I have a QA VM on which has deployed the latest stable version every week. The CEO can use it for demonstrations and manual testing and I don’t have to maintain or update this machine.
A bug despite all this? No problem, we add it and document it in TFS, I assign it to one of my developers, it is fixed and released.
Of course the production infrastructure is on Azure too. If it is a simple web site/service, I use the hot swapping feature. It swaps QA version with the production one. In every case, I maximize the automation of the deployment process, if necessary by using scripts. It avoids errors and it saves time.
At the end of the sprint the new feature is released and our startup has been able to focus on what is important: develop its market and its core business. Of course this is just one case scenario among others and I also during the week sent a few emails and made a few contacts/appointment using Exchange Online. We did that minimizing surrounding noise that makes me and my colleagues inefficient at work.
I want this for my startup!
OK ok, nothing easier. You’ll first need to buy a domain name. Once you have one, Office 365 will be able to automatically configure it for you. (Note that you do not necessarily need the domain but I recommend it to forge your identity)
Second step, get an Office 365 subscription.
If you do not know which one to choose, the second from the left for a Startup will be more than enough as it provides a Microsoft Office for PC license. During Setup, you will be asked if you have a domain. If you are client of a major provider, just give your credentials and the configuration will be done for you. Otherwise the configurations steps will be instructed to you.
In only 5 minutes you already have the same infrastructure and office suite as a multinational company for a few bucks.
We will directly go to the next step, you can create the accounts of other members of the company later.
Now log onto the Azure Management Portal with your Office 365 account and click on 'Subscribe to Azure’. After filling out a few pieces of information, you're ready to use Azure to build great applications.
Visual Studio Online
What we are looking for is at the bottom left.
Click on New
Give a name to your Visual Studio Online instance and don’t forget to select your directory (the one that is in fact bound to Office 365).
If you already have a subscription for Azure, this video explains how to use your Office 365 subscription in this area.
So now you have an infrastructure that allows you to do what I mentioned above in 10 minutes with minimal costs and configuration. Your employees use one single account for all their tools.
Feel free to explore the possibilities of online services (Azure + Office 365 +...) Microsoft (or other). These are elements to take into account in your company's strategy and which are changing the rules of the business world.
I have taken as an example a Startup but be aware that my current company, www.negotium.com, (150 persons) is 100% on Office 365 for collaboration, unified communications and messaging. We already use Azure for a major part of our infrastructure. And we (I have responsibility) are migrating to Visual Studio Online for our software development factory.
My personal feedback? I’ve been working for two BizSpark startups in my career (back in France), it really has been boosting our company from the beginning. You start by getting almost all services and software Microsoft sells, for free!
Apart from all these advantages, one of the benefits I liked the most was being able to ask technical questions (architecture, dev,…) to Microsoft professionals. This way we’ve been insured that our products were well designed from the beginning (or at least didn’t break Microsoft’s patterns).
Another great thing about being BizSpark startups is that we were often invited to Microsoft organized events to meet partners or other Startup, get information, build a network that strengthened our company and helped it growing.
Even if your company is not specialized in Microsoft technologies you should go for it. It will be useful every time you need to do some Microsoft integration (port your app for example). And again you get a lot of tools and services for free!
How do you get that?
Well it is very simple. Just apply for the program here.