vineri, 19 octombrie 2018

Agile at scale

Hello,

For a while, a few years go, when Agile was new, I thought that one of the weaknesses of Agile methodologies was that it was difficult to scale them.   You could have a team, maybe two agile teams, but then for large projects, you ran into difficulty of coordinating between teams both business wise and technically, hence the need to have an initial stage where you had to do some architecture, design and business analysis work.

But lately, with rise of agile scale frameworks such as SAFe, you can now safely say that yes, you can scale Agile.  So you can get all the benefits of using Agile (such as early customer feedback, early releases, technical adjustments) even for large projects.  I have been part of projects that scaled Agile and I can safely say that it can be done (it is viable).

But beyond using various development methodologies, being Agile or going Waterfall, the most important of all is your ability to execute.   You need to have the right technical people and you need to have the right key decision makers and you need to foster the right kind of collaboration environment and company culture in order to make it all happen. 

There is no going around that.

Have a nice weekend,
Razvan

marți, 20 februarie 2018

Reporting services in the cloud


I have spent some time in the previous weeks looking at was what is the level of integration and support of some of the existing analytics suites and the cloud and more precisely at some of the existing reporting capabilities and services in the Microsoft Azure Cloud Platform.

As people know, in today’s market the software analytics and reporting tools are gaining in importance.  Especially when coupled with some of the todays big data, IoT and near real time processing solutions, the clear, concise and easy to understand reporting and dashboard organized data become more and more important.

As you might know, Microsoft has the Power BI suite which is their mainstream business analytics product.   This suite can be installed and used on premises, as well as an online service.   It has an easy to use interface (in a true Microsoft fashion, it makes it easy to do the straightforward things – I do not know yet what’s the situation about the not so straightforward things 😊), as well as support for additional reporting libraries, or, if you don’t find what you need you can build your own.  These reports are customizable, you can change the Look&Feel, color palette etc.   As an end user, you do not need to and you might not be aware about the reporting technology powering these reports.
Furthermore, you can make use of an existing Azure Cloud Platform service, which is called Power BI Embedded, which we will discuss in more detail below.

You can use the Power BI online services in two ways.   One is to have Power BI licenses for your organizational users and have them connect to the Power BI online site in order to view their customized dashboards and reports; the other is aimed towards ISVs.   As an ISV, you have the option to decouple the usage of reports from your application users/clients, so that you do not need one Power BI license for each user you’re going to support.   You can practically embed Power BI dashboards and reports into your own applications.  

In order to be able to embed the Power BI widgets, you will need dedicated Power BI processing resources which can be provisioned through Power BI service (with the Power BI Premium subscription) or by making use of Microsoft Azure Platform (by using Power BI Embedded).

With the reporting processing capability on the cloud (Azure) – you could do that to take advantage of cloud features such as high availability, elasticity and scalability - you can even keep your data on premises or on another cloud solution such as AWS.  

In that case, you will need to install and configure an on-premises application data gateway from Microsoft, which is provided free of charge, that can connect securely to Azure using the Azure Service Bus.   This Gateway will provide ways to connect to various on-premises or cloud-based data sources.  Some data sources such as MS SQL Database, SAP etc. are supported with real-time refresh while others can be configured with scheduled refreshes.

In this case, your environment would be the following.   Power BI Service with a Power BI pro license in order to house the reports that are being developed.   Power BI Desktop that will be used for report development, and which will be used to deploy the reports in the Power BI service.   Dedicated capacity provisioned on the Azure Cloud Platform (Power BI Embedded) in order to be able to process the reports.  And Power BI Gateway (installed on-premises) if needed that will be able to retrieve the data if the data sources are on-premises or located in another cloud environment such as AWS.  And of course, your cloud based web app that is embedding the Power BI reports, which could virtually reside anywhere.