Blog Post

Applicita - 2015 Year in Review

We are a small company but 2015 was huge for us here at Applicita, it was full of growth, learning and building some exciting software. Here is the 2015 Applicita year in review.


New Team Members

At the turn of 2015 there were just two of us, at the end of 2015 there were 9!

We've added skills in Web Development, High-Scale Backend Systems and User Experience and many more. With taking on more people comes the need for supporting systems to aid collaboration as we are a globally distributed company so we added Slack and Wrike to Office 365 and Visual Studio Team Services to make sure that we had the right tools to be effective.

We wanted to stay as lean as possible and not introduce too much overhead with new tools so we selected products with robust API's to allow us to link them together in ways which would have been very difficult even a couple of years ago. The out of the box integration experience with them is pretty good and it's a area of business development we will exploit more in 2016 as our processes continue to evolve.


Agile Methodologies

All the members of the team at Applicita have previous experience with various implementations of Agile Methodologies. We are huge fans of Visual Studio Team Services and have used previous incarnations of VSO / TFS so we started with the out of the box guidance that came with VSTS to re-base our agile processes.

Throughout the year we have evolved our processes, made changes to things that did not work for us or our clients and found the level which worked for our team. A particular challenge for us was getting User Story size and description right, we tried a lot of different approaches and trade-offs and we settled on the "Specification By Example" approach which we will write about more this year on the blog.


Continuous Deployment

Very early in the year we invested in Octopus Deploy.

We are passionate about releasing software to our clients as often and as early as possible and we simply could not have done this without Octopus Deploy ; the team over there were pushing out new features and fixes at an incredible rate and we continued to upgrade and evaluate the new features and changed our in house processes to take full advantage.

It wasn’t easy at times and required some late nights but it was worth it. We now have what we believe to be a first class tool chain allowing us to continuously deploy new features for clients feedback. This will also be subject to a blog post or two in 2016.


DevOps

Another buzz word getting a lot of attention recently and it's nice that there's now a common term for something we have been doing for a while. DevOps to us means helping our clients be as agile in the deployment and management of their applications as we were building them.

We often extend the reach of our Octopus deployment environment to include our client's environment and manage the application deployment process for them giving them a automated deployment capability.

Management of the application's we create is at the foundation of everything we do and we split this into two distinct areas; logging and telemetry.

Logging for us was a no-brainer; we are huge fans of Serilog which is built around the concept of structured or contextual logging.

Telemetry proved to be much more difficult to come up with a solution we were happy with, we tried a bunch of tools but we still were not 100% happy so we took a step back, straightened out our requirements and then looked at the market again in the second half of the year.
The second time around with a better idea of what we wanted we selected Datadog, which gave a good out of the box solution and we know there's more we can do with it in 2016.


Project Management

With SCRUM (or something like it) the responsibilities of the traditional project manager are broken up between the Product Owner, SCRUM Master and the team and this works well but we found we had some gaps.

Towards the year of the year it became apparent that we need to improve the 'bookends' of our development processes. We were too focused on requirements gathering and sprint planning and not being smart enough at the project estimation or release planning phases of our projects.

It was difficult for us to answer questions such as: How long till MVP will be ready to release? When can I tell my customers we will be live? How much will this cost to build? with any accuracy.

In our experience linear release plans and estimates are rarely accurate; they take a long time to produce and stakeholders tend to take them as maximum values leading to disappointment when things overrun so we knew we needed something different.

We did some research and decided that we should produce a release budget not a release plan.

A budget is more meaningful to us, our clients and their stakeholders. It allows them to make better informed decisions based around cost benefit analysis of features and available budget. We wanted to produce a budget which broke down the best, worst and most likely outcome.

We now extract our VSTS User Stories and perform a Monte Carlo analysis over the data to produce the budget and we are pretty happy with the results so far. It's another topic for us to blog about in 2016 as we continue to develop our methodology.


We look forward to 2016 with great anticipation. We have some exciting projects to release this year with our existing clients and I'm sure with some clients we have not even met yet.

Thanks to everyone that's helped make 2015 such a remarkable year for us. We wish you all a busy and prosperous 2016!

Share this Post:

Posted by John Kattenhorn

Highly motivated software architect, multi-disciplined developer and entrepreneur experienced in delivering creative, software applications using .NET on the Web, Mobile and Cloud. Passionate about building world-class applications using Microsoft technology. An experienced technical leader using modern software technologies, methodologies and best practice, to solve business problems whilst minimising software lifetime costs. Skills: .NET, Windows Azure, Xamarin Specialties: Software Architecture, Software Development, Cloud and Mobile Computing, Devops, Technical Governance, Best Practices and Principals, Agile Methodologies.