Recent posts

Kickstarting a Product Redevelopment #2: Decision Making Tools and Methods

'Whiteboard' your architecture

Visualizing design options and architecture on a whiteboard is a great way to represent, challenge and communicate ideas. At Magnifica we use whiteboards to draw (then normally erase and draw again) design options to discuss them as a team. It's a great time to discuss and re-enforce architectural principles i.e.:

  • Single Responsibility principle
  • Common-reuse principle
  • Separation of concerns
  • Principle of Least knowledge

Proof of concepts

If the problem domain is well known sometimes it's useful to just dive-in and write some code. Building a proof of concept to determine whether there exists, or is likely to exist, a solution that can successfully resolve a design issue is a great way to get to a decision.

Also, proof of concepts can help validate that your selected design option is the right decision.

Use notations and tools such as QOC

QOC (Questions, Options, Critera) is the method of notation we use when making key design decisions. Laying out your design issues/questions in a structured way against a list of possible options is the starting point. Next you define the criteria against which you want to judge the options available to the project. QOC is a great way to visualise, reason and argue for and against specific options.

It also provides a nice way of documenting these design decisions so that other members of your team can see why and how you came to a decision.

Collaborative decision-making

Because the decisions made by groups are often different from those made by individuals collaborative decision making can be an advantageous method of coming to a decision. It is however important to note that a poorly performing team or group is likely to produce a poor decision. It is

Read more

Kickstarting a Product Redevelopment #1: Making The Best Architectural Decisions

Redeveloping a digital product can be daunting, especially if you have a customer base that relies on your product to run their business.

At Magnifica, we have many years experience bringing digital products to market. That's why we wanted to share some best practice approaches for kickstarting a redevelopment through a series of blog posts so that you can build better products based on strong technical foundations, that improve your technical teams productivity.

There are a lot of 'legacy' products on the market and we are often approached to help redevelop them. Sometimes these products haven't scaled as they should, may have pivoted or lack features available in competing products so now need a technical rethink.

As a Technical Lead charged with heading up a digital product is redevelopment we are presented with a lot of questions as well as opportunities to improve things. First up we're going to talk about architecture.

Read more

Continuous Integration vs Continuous Delivery vs Continuous Deployment

Continuous Integration vs Continuous Delivery vs Continuous DeploymentWhen it comes to buzz words 'Continuous' is the word of the moment, but what exactly does continuous mean when it comes to delivering software?

In this post I describe the three concepts: Continuous Integration, Continuous Delivery and Continuous Deployment. I'll look at the differences between them and talk about how they interact with each other in the real world.

Implementing a fully continuous development / delivery workflow isn't straight forward however once setup the benefits are obvious.

Read more

5 signs your business should be thinking about custom software

ThinkingTechnology is where the greatest and fastest leaps forward are being made in business today. That's why it's no longer good enough to keep an eye on the competition, to really get ahead you need to be better than the competition. 

In this post you'll discover the 5 signs your business should be thinking about custom software in terms of how it can transform your business and see it gain the kind competitive advantages that excite your customers and surprise your competitors.

Read more

DevOps: 7 things we’ve learnt about working with IT Providers

Magnifica DevOpsA primary goal of software development is to create positive change that meets the needs of a business as it grows and it's needs evolve. A primary goal for an IT Provider is to manage IT operations and provide stability within a business.

These two goals can sometimes result in conflicting motivations, processes and even opposing tools/environments being used to deliver value to the same customers. This is where the concept of Dev-ops comes from.

At Magnifica we truly believe that working closely with IT Providers to remove these conflicts or barriers enables two powerful, strategic business qualities to flourish: "Business Agility" and "IT Alignment".

Business agility allows customers to rapidly adapt and innovate within their market and IT alignment provides the ability to continuously use IT effectively to achieve ever greater business objectives. 
Here are our top 7 things we have learnt from working with IT providers: 

Read more

How to fix 'local account not allowed' when adding Managed Accounts in SharePoint 2013

Problem

If you add a new Managed Account in SharePoint that is a local account rather than a domain account then you will see the following error message.

The specified user 'accountname ' is a local account. Local accounts should only be used in stand alone mode.

Sometimes you need to use a local account and you can get around this error message using the following PowerShell commands.

Read more