SCRUM way to go…

6 03 2013

SCRUM

This is a slightly different type of blog post, focusing not so much on technology rather on a way of doing things, and in this case, the best way at developing a complex and large solution. First off, let’s give you a little background. The reason of this post is because my own company is currently finishing off our first release of our Zync Wallet digital wallet product, which in old school IT terms, is a complex project to say the least…So, when undertaking this “project” it was highly important to me to ensure we use the right methodology for delivery, and delivery is the key word here. Actually, “methodology” probably isn’t the right word, what we needed was a “framework” for delivery, and that’s where SCRUM comes in.

We have been very lucky in being able to aquire the right talent for our project, and when I say the right talent, sure I mean the right developers, people with the right skills, but also people who understand SCRUM, people who work well in a team, people who communicate well and at the end of the day, people that know how to deliver product.

As a stakeholder, it’s important that the product that is delivered by our development teams is exactly what our vision of that product is (vision as a company), that the features, functions etc are just as how we see them to be. SCRUM gives us a framework to ensure that the product delivered is as we expect it and want it to be…

I’m not going to say it’s been plain sailing or simple, especially as my own role as CTO has been split across other requirements, meaning that my own input into the vision of our product has sometimes not been available to the development team.

 

What is SCRUM

Most of my readers I’m sure know of SCRUM, but if you are new to it, essentially SCRUM is an iterative and incremental agile framework, typically, used for Software Development, but I would never limit it just to software development. I would argue that SCRUM can be used for anything as long as it has an objective that is a measurable deliverable. SCRUM is ideal for solutions that are complex, where it’s hard to know up front your actual requirements or implementation. In such cases, feedback loops make up the core management technique, and that’s ideal in ensuring you deliver actual products. In SCRUM your deliverable is not a project rather project is a dirty word, everything is about delivering product. As a stakeholder, that’s perfect as you get to see your “product” grow, provide feedback and ensure at the end of the day that the product you have in front of you is actually what you want.

Not only do we use SCRUM for our development efforts, but we are now starting to apply SCRUM to other areas of our business, areas that include things like marketing campaigns, sales, even customer management!

 

Sprint to success

We are using the SCRUM framework for all our software development here at CloudZync. SCRUM puts emphasis back on the professionals who do the actual work, who actually deliver the end product, in this case our software solutions. Splitting up the whole solution into smaller manageable chunks (known as Sprints) ensures that all work carried out is actually usable and contributes to the overall final product. At the end of each sprint the stakeholder (me in our case) gets to review the product results of that sprint. What’s great here is that I get to see our product grow and “play” with the deliverables. By actually having something to use it makes it much easier to identify anything that’s missing, new requirements etc. These can be feedback and taken on board.

 

Mocking things out

One of the reasons why SCRUM is so viable to development work, like our own, is that development technology has moved on. “Mocking” allows us to effectively pretend that components that are key to another function actually exist and are available for use. By “Mocking” these components it allows multiple development teams to move forward without waiting on another team to complete their own work. In terms of our sprints it means a sprint can consist of multiple development teams, none of which will be held up by components that are to be delivered in a later sprint.

 

Quick conclusion

If you are about to embark on a complex solution, to deliver an IT product or something else, then SCRUM is an ideal framework to ensure you actually deliver what you set out to do. There are numerous examples on-line that illustrate the power of SCRUM, the most obvious being an old one, and that’s a case study with the FBI.

From my own experience, SCRUM allows you to deliver usable products that can be reviewed at the end of each sprint, it allows us as stakeholders to guide the product correctly and to actually ensure product is delivered at the end of the day. All too often IT projects fail because of lack of information up front, or because change management becomes too complex in complex solutions. When in this state, IT projects spend so much time in documentation, change management, requirement re-focussing etc again that actual tangible product simply never gets delivered. If you want to deliver product, then SCRUM is the way to go…

 

Advertisements




Connectivity, Efficiency, Experiences

23 11 2011

When looking at BPM (Business Process Management) solutions, or talking about BPM the concept, many of us think of how it relates to actual business processes or business goals, cases, targets etc. This is the main aim of BPM, to address how a business achieves a goal or carries out “work”, agreed? Ok, but my observation is, Is this right? Does the term BPM limit our thinking in real sense?

 

Outside of the business

If we take everything that we do towards a desired goal or outcome as a process, then BPM applies to everything we do in life, it’s not just limited to Businesses! For example, our own bodies go through processes every second of every day to achieve a goal. Think how we breathe, there is a distinct process, think how we turn food into energy, a distinct process, think how we run, a distinct mechanical process.

Now these examples are to simply prove a point that processes are around us and a part of our daily lives massively, which means any one process is made up of many others. Me running is a process, but in order for me to run, my body goes through a number of other processes, breathing and turning food into energy. This means businesses should not see their process as “the process”, rather as simply a smaller part of an overall and far bigger customer experience.

 

Real world example needed

To get my point across I want to use a real world example. Ok, I purchase a printer from a store. On checkout I provide that store with some basic information about myself. I then get home, install the printer and start using it. I fill in the warranty card, post that off, and then forget about it. A few days later the product breaks down, and I need to get it replaced. From the point of view of the manufacturer they don’t need to take into account any of the process I have just gone through, in order to kick off the process of dealing with the fault, but should they?

I believe yes.

 

Connectivity

Connectivity of devices and processes can have massive implications on process efficiencies, and the ability for external processes (that may not be directly related) to have a positive effect on our business processes.

First off, connecting and sharing data between different processes obviously provides added efficiencies and data accuracy. If we take our printer example, the process of checking out and paying for my printer should be integrated with the process of me completing a warranty card and informing the manufacturer.  That’s a process I shouldn’t need to be doing, and with improved connectivity of processes and data, I don’t have to. Now relate that back to the process of me returning the faulty printer, you see that process will be improved because of this connectivity in a different process. Both the store, and the manufacturer now know me, the product and the warranty, I don’t need to go through a number of steps at the start of the manufacturer’s faulty product process.

Secondly, device connectivity can have a massive impact on process efficiency, especially when connecting multiple and sometimes very different processes together. In the typical BPM world, do we take this into consideration?

Since the rise of the Smartphone, we have started to take into consideration connectivity to processes from different devices; we now see not just eMail being accessed on our mobile devices, but also ECM concepts along with the ability to actually work. However, when we flit between devices, such as our laptop, tablet, PC and mobile, often we have to do things again. Think deleting emails from your mobile device you have already deleted, think re-downloading a document we were working on etc. These are small things, but they can rack up a lot of time, and frustration amongst your work force. Now think of this from the point of view of a customer? You can see how better connected devices mean we can deliver better connected experiences to our customers, which have an impact on process efficiency.

Connectivity is a big thing, and one of the problems with multiple platforms and operating systems is the lack of connectivity. As a consumer, we like single user experiences, and we now want and like flexibility to do things whenever we want and on whatever device we want. Unfortunately having a different OS on my phone to the OS on my tablet, to the OS on my laptop and PC is not great for connectivity or user experiences. I’m not sure big players such as Google and Apple get this. Apple do it better than Google, and currently Microsoft, they learnt from the disjointed approach of Microsoft in the 90s. However, Microsoft seems to understand this connectivity and single user experience far more now, and they are moving ahead of the others. With Windows 8 and Windows Azure, one connected OS across all devices is only a few months away. That potentially provides massive connectivity bonuses to business and consumers.

 

Efficiency

BPM, APG (Adaptive Process Guidance), ACM (Adaptive Case Management) all aim to help businesses in a number of ways, raising efficiency, increasing standards, increasing accountability, ensuring compliance and improving customer experiences. These are just a few arguments for BPM thinking.

Efficiency is often looked at in terms of processes businesses own. Let’s look at our example process again. The manufacturer can improve the actual faulty printer process internally; it monitors what goes on, tweaks it here and there and improves it. However, external processes and greater connectivity should be leveraged to drastically improve this process further. Make sense?

In order to get a working printer, I the consumer, will follow through a process, which is a bigger process to that which the printer manufacturer has for handling this issue. If we step back, we can see that this process of getting a working printer spans over the store and the manufacturer, but if we step back further it also incorporates the process of me purchasing the printer in the first place. Do you see how a bigger picture of a process now surrounds my manufacturer’s simple process of dealing with my broken printer? If you do, then you can start to see areas in which we can make the manufacturers process of dealing with the broken printer far easier and more efficient than what is currently in place.

Essentially, if along the entire process of me purchasing the printer the manufacturer was thinking about the returns / repairs process, then they would want to get the warranty and customer information at the point of sale. This drastically improves the process efficiency for returns, in terms of internal efficiencies but also from the point of view of the customer, improving their relationship with that store and the brand of printer they have bought. I’m not going to break down the process further, rather I believe I have made my point, that business can improve process by taking into account external processes, especially those of their customers…

 

Experience

This post is about delivering a better customer experience. Leveraging the connectivity potential of devices and the connectivity potential of processes, business is able to improve its own processes. Taking our faulty printer example we can see how improved connectivity leads to external processes improving the manufacturer’s returns / repair process, in terms of efficiency internally and for the customer. We also see how connectivity of devices makes the customer experience far easier, simpler and more efficient, including for the manufacturer.

So with efficiency in mind, we look to greater connectivity, put the two together and you get drastically improved experiences…





Disappointed with the cloud?

12 10 2011

A recent eBizQ question has sparked this post, essentially it asked “Why are so many disappointed with the cloud?”, and this question was based on the fact that few organisations have made the move to the cloud, and those that have, many are stating they are disappointed with the results…So why would you be disapoointed? After all, it does what it says on the tin…

 

Cloud variants

A big problem is what do people mean when they say the “cloud”? If we take a look at the big players here, Amazon, Microsoft and Google, we see 3 different interpretations. Amazon deliver IaaS, which is Infrastructure as a Service. So essentially they deliver you an infrastructure for you to leverage as you please. This is very different to Microsoft’s Azure take on things, in which Azure delivers PaaS – Platform as a Service. Think of IaaS as your physical servers, all connected with nothing on them, and think of PaaS as physical servers, but running the server OS. Essentially Azure is the operating
system for the “cloud”.

Unfortunately, “cloud” is a very broad and “loose” description, so organisations must understand what type of “cloud” they are leveraging or buying into.

 

Expectations…

First off, let’s remember that the “Cloud” isn’t a solution, it’s just another platform. As a company you didn’t purchase Microsoft Windows Sever and expect it to solve all your IT needs did you? The “cloud” is a platform, nothing more, and yet as a platform it has capabilities that just aren’t available anywhere else.

Convenience, or something more?

Some argue that Cloud can be seen as IT convenience, which is true to an extent. If you view the cloud as nothing more than convenience, then you will no doubt also argue that the cloud makes far more sense to small organisations, as opposed to mature companies that have invested heavily in data centres – effectively providing them with cloud like capabilities. In many cases this is
very true, I myself have written posts illustrating reasons why the “cloud” is not applicable to some companies or IT solutions. Yet, “cloud” is more than just convenience, it’s about scalability, availability, reduced administration and reduced IT overheads. If you are a mature organisation, then no doubt your data centre will be specified to meet your maximum demands placed on it, as it
has to. For most of the time this means you have a lot of “spare capacity” and in effect, are wasting money. With the “cloud” and especially PaaS, you only pay for what capacity you need at that time. So you can quickly scale to meet demand peeks, but when you have little demand, your costs decrease as you lose that spare capacity.

We also have to look at capabilities here, using “cloud” based solutions we have a real option for continuous connected availability across a range of devices. We can share “state” between devices etc which makes it far easier to jump right back into work, where I was, even when I swap from my work PC to my work tablet or laptop at home, heck even to my Phone.

 

Security

This is a big issue, and unfortunately many security concerns are simply invalid. The cloud doesn’t mean open access to all! However, in some cases, compliance and regulatory demands mean you cannot jump to certain cloud providers or solutions. For example, for compliance you may well need to keep your data stored in your geographic location, so you can’t have it physically residing in the US when your company and the owners of the data are in the UK. That will include your data back too. So, you need to be aware just what your cloud provider is doing with your data / files, and make
sure they can meet your compliance needs.

 

Cloud based solutions

The big problem why organisations are disappointed with the “cloud” is the actual applications, their capabilities and user experiences. To be blunt, most cloud based “apps” pale when compared to traditional desktop based applications. Why is that? Well it’s mainly down to implementation of the software application, nothing really to do with the “cloud” as a platform.

Most “cloud” solutions are fully in the cloud, so essentially you access them through a browser. This is a massive problem and hindrance, and for business, web applications just don’t meet the needs. I don’t care what anyone says; running software in a browser is ok for only a handful of solutions – not for everything. Some of the problems with web based applications are listed below, and these are real problems and cause for disappointment with cloud based solutions at the moment:

  1. Integration – how do you integrate multiple solutions? How do you integrate a cloud solution with standard desktop bound solution?
  2. Customisation – do you really have an option to have your software customised to your needs? Again probably not, as the solution is there for “all – in the cloud”, not just you
  3. Cross platform – HTML 5 is what keeps getting mentioned, but the issues still remain about how it performs within different browsers. In addition, think a bit wider. Does HTML based apps really deliver what you want cross platform? Think “cross devices”, how can you get the best user experience across multiple devices and their operating systems. Think PC, Mac, Windows Phone, iPhone, Android, Tablets, Laptops, XP, Win 7 etc
  4. Asynchronous – many web based apps aren’t really Asynchronous, which means your user experience can suffer, especially when you are making round trips to the cloud and back (same problem applies to basic websites that are implemented poorly)
  5. Data Extract – what is available, does it meet your needs, and whats the user experience here
  6. Synchronisation – Can you synchronise between devices and return to your application in the same state?
  7. Backup – what backups and formats can you get?
  8. Application upgrades – will you be charged for upgrades?
  9. Service Level Agreements – just what agreements can you get in place?

 

Improving the cloud experience…

So I have spent some time highlighting why organisation may well feel disappointed with the “cloud”, but now I want to point out how cloud providers and more importantly, software vendors, can replace disappointment with real excitement…

First off, your “Cloud” provider, you need to choose carefully, make sure you understand what they are providing (IaaS, PaaS, SaaS capabilities) and then understand what they do to meet you compliance needs. Take into consideration what you want to deliver via the “Cloud” – does your desired solution even work in the cloud or on a particular cloud platform?

I personally recommend the Microsoft Azure platform, simply because it delivers far more than just typical PaaS, it delivers brilliant development tools, application capabilities and synchronisation capabilities (it is also tied in pretty tightly with the up-coming releases of Windows 8 and Windows Server 8 – keep that in mind).

Windows 8 leverages Cloud capabilities heavily (Microsoft's Azure)

Windows 8 leverages Cloud capabilities heavily (Microsoft's Azure)

Secondly, and most importantly, choose “cloud” solutions that leverage your devices – so that’s your actual PC, Mac, Phone etc…The big change is how we use the “cloud”, moving away from a single UI within the browser to an actual “application” solves so so sooooo many of the issues highlighted. So what do I mean?

Cloud based applications need not run in the “cloud”, they need only be distributed or leverage cloud services, data and content. So the application is installed and runs on the device, accessing cloud services, data and content. When we move to this model, you see how usability, experience, and capabilities all drastically increase. So:

  1. Integration – This is made a lot easier, real application integration can take place, be that using cloud services in another application, or actually sharing data on your device between applications (this can be taken further with Windows 8 and the use of contracts and charms)
  2. Customisation – Customising applications for a client is made a lot simpler, it becomes something that is in essence, not that different to customisation of typical desktop in house applications today
  3. Cross platform – well the iPhone has shown us that using platform specific technologies deliver the best user experience. Would you rather use the iPhone app for that, or trundle off to the website. You will use the app. So this is no different, deliver “Apps” for the desired platforms and HTML 5 for platforms where you will not support apps. (Remember, that you are not maintaining multiple versions of solution code, rather multiple front ends, nothing more)
  4. Asynchronous – Running typical applications allows developers to really use asynchronous capabilities within their solutions, improving performance and the user experience, not to mention
    dodging the browser time out issues
  5. Synchronisation – with apps you can leverage the cloud to then store your synchronisation data, which makes it possible to synchronise your applications across all your devices in real time
  6. Upgrades – these are made easier, even for customers who run highly customised applications

 

Quick finish…

Essentially, disappointment in the “cloud” is actually disappointment caused by “cloud” expectations being wrong, choosing the wrong cloud provider, or using cloud solutions that are limited, limited because they are stuck in a browser…With time, we will see greater understanding of what cloud providers actually provide, greater understanding of IaaS vs PaaS and we will see software providers delivering “apps” as opposed to just browser based solutions.

See the cloud as a platform, nothing more, and choose solutions based on their capabilities for meeting your business requirements. Good cloud based solutions, that leverage apps, will not only meet your expectations, but will offer you more features, more functions, less administration and ultimately run at a cheaper cost for you…





BUILD and Windows 8…

19 09 2011

So last week saw Windows 8 developer preview being shown off at Microsoft’s BUILD conference, and well, there was a lot to take in. BUILD was also showing off Windows Server 8 and a host of other Microsoft initiatives / solutions, including Windows Phone 7.5 and Windows Azure. With all that being shown off, it was hard to keep up and understand what exactly Microsoft was telling us about their future products and services. Unfortunately, as with most things Microsoft does, this meant that there was a lot of “dodgy”, to put it politely, blogging and tweets being thrown around. Essentially many tweets and blog posts were simply wrong, or written by pure Microsoft haters, so the messages coming out from BUILD did get a little lost for some…

Anyway…Let’s have a look at Windows 8 and what it could mean to consumers and businesses…

Metro

Well this is the new interface style if you like, what Windows now looks like by default. Metro is something Microsoft has been pushing, but it’s essentially a design look and feel. Many people see this as
primarily just for tablets, but I disagree. I like the idea of switching on my PC to see the “live tiles” environment, allowing me to peer into applications without needing to open them. It’s a feature I like on the Windows Phone 7+ platform, and I personally think it works really well for the PC, laptop, tablet market. Metro applications also look and behave great, and I have no problem with moving away from “chrome” based windowed applications.

Windows 8 new Metro UI. It's Alive...

The “Metro” side of Windows 8 only supports “metro” style apps and HTML running in IE10 (currently no Silverlight or Flash in the Metro browser experience). Metro also provides a design methodlody for applications, and as such, a framework for developers to work within when delivering “apps”.

There are also “contracts” in place between applications, allowing them to share functionality via “charms”, such as the “search charm”. What does that mean, well it means you can search inside your app from the standard search dialogue. Even better, you can share content between apps using the “share” charm, so I am in one app, and I wish to share some content, I can click on the system charm and simply share it with another application. This provides a real slick feel to using the system, as if the Apps are part of Windows 8, as opposed to a single bit of software that simply runs on Windows 8. There is quite a difference there…Essentially metro and charms all adds to the user experience, and rich environment, Windows 8 aims to deliver.

Charms in action

Using "Charms" with touch screen keyboard to search within apps

Many though have stated, why ship Metro style for the PC if you are also supporting the more traditional “desktop” look and feel, which essentially is Windows 7 updated. There have even been calls for supplying metro only for tablets, and desktop view only for traditional laptops and desktops, a bit like Apple shipping iOS for tablets and full on Mac OS for Mac Books. Well to these people I simply say “you don’t get it”…

Flexibility, choice and function is what people want. If I own an iPad and I want to edit some pictures by using Photoshop, I can’t. That means switching over to my laptop, Mac book, PC whatever to do that work, not great if I am at the mother in-laws for example. So why not deliver a tablet that can allow me to do that work if I want? What’s wrong with having the flexibility and option there? Nothing…After all, I don’t have to go into the standard desktop if I don’t need to…

Native Desktop

The native desktop is still there, essentially it looks and feels like Windows 7, and there is nothing wrong with that. The native desktop is used to support more complex applications, applications such as Photoshop or Visual Studio, applications that need lots of tool bars, need to show lots of actions and functions to the user. There is nothing wrong with these types of applications, and not all applications could be designed the “metro” way (nor should they).

The native desktop is just that, it’s everything Windows 7 is right now, so all your legacy / business applications that have gone before will run fine on Windows 8.

 

Tablets, Laptops, Netbooks, PC’s, Phones…ARM, the lot…

One of the big things with Windows 8, and something Microsoft kept on pushing at BUILD, was that Windows 8 is for all devices, and that means all forms of hardware. So Windows 8 runs well on my fully blown development beast of a PC, yet it works just as well on a small wafer thin tablet running an ARM processor. This is actually great, it means I have a single experience across all my devices, while Microsoft needs only support a single platform.

Now, throw into the mix Microsoft’s investment into the cloud and Windows Live, and you start to see added benefits of this kind of thinking. You can have all your devices understand “state” between them, so understanding where I am in an xbox live game for example, or where I am in terms of a business process. That makes life a lot easier and flexible. Simple things such as changing my “Avatar” on my PC is replicated across all my devices, which is a great touch…

For quite sometime I have wanted a tablet that allows me to install everything I may ever need on it, so that includes development studios, it includes database administration suites, it includes photo editing software etc etc and I simply cannot do that with a tablet. So that means I lug around a great laptop just in case I need these things, yet I mainly use that to search the web, run some power point presentations, check email etc etc. With Windows 8, I can get my PC on a tablet, and use it as a tablet, until I need to use it properly, and in such an event, I can…

 

WinRT, .NET, WPF and Silverlight

Ok, now this is where many bloggers etc really annoyed me, especially those saying “Microsoft has killed .NET and Silverlight”. The essential truth is that many “components” that make up the .NET framework (and therefore the Silverlight framework) have been incorporated into WinRT (which is the metro side of Windows 8 libraries – if you like). Metro apps run either XAML or HTML 5 (note that if you are familiar with WPF and Silverlight that XAML is the front end of those technologies) but don’t run what we could term “native WPF or native Silverlight” applications. Metro apps “managed code” environment is either C++, VB, or C# (oh that’s just the same as WPF and Silverlight), and pretty much everything is the same. If you have an old Silverlight or WPF app,
you do need to make a few, and I do mean few changes, before it runs in the metro environment. I personally don’t see the big problem with this. Sure if you have a business application running on Silverlight, you now need to change it if you want to run it in the Metro world, however, you can always run it in the desktop environment…If you want to migrate, make the few changes and away you
go, and you now have a Metro application. Those changes are essentially a few include changes, and that’s it…

When you look at “Metro”, you see that it really is just an update to Silverlight / WPF, actually the whole of Windows 8 looks and feels like a Silverlight / WPF.

 

HTML 5 and scripting languages

HTML 5 is now supported along with Javascript in Visual Studio 2011, now I don’t think this shows any movement away from Microsoft technologies (such as XAML), rather it shows Microsoft’s aim of allowing as many developers as possible to develop great applications for Windows 8.

From some of the videos I have watched, I would suspect that using XAML is better for Metro applications (well delivering some of them), however, HTML 5 is going to do more than adequate job.

 

Windows Azure

There was a lot on Windows Azure, especially when we start looking at how Windows 8 synchronises between all your devices. Now I am not one who has shouted about the cloud from day 1, I have often spoken of some of the issues regarding compliance and many issues with the cloud. However, that being said, Microsoft uses Azure very very well with Windows 8. They have also gone through a lot of work of exposing may Azure interfaces to developers, allowing them to take advantage of the power of Azure across all devices. Great thinking…

I also liked a lot of things being done with Azure, and how Microsoft have really addressed compliance issues that do raise their head when we think of cloud computing. If I am honest, I think the stuff I have seen on Azure of late has me praising the concept of the cloud so much more. Though I feel that’s more aimed at “Azure” than cloud computing in general. I still have issues with IaaS and concepts of cloud applications running in my browser (I hate that, I want a real user experience, a real application, and guess what, with Metro or the desktop and Azure, I can get that very easily).

 

Developers, developers, developers

BUILD was all about developers, and that means putting them at the forefront of Windows 8, giving them the tools they choose to develop with and allowing them “sell” to potentially millions of customers. On that note, there was a lot made about the sheer number of devices out there that will be running Windows 8, and just how big that audience is for developers. I know that Apple has gained traction here; I know that Android has gained traction too, but at the end of the day, if you develop for Windows you have the biggest audience out there. And that is a fact…Throw into the mix Windows 8 capabilities on tablets and the deal with Nokia, and I think you see that Microsoft is working hard to get even more devices running their software.

 

Much more I have missed…

There was simply so much at BUILD that I can’t possibly start talking about all the things I am aware of, nor did I fancy writing multiple blogs on essentially a platform that is only at developer preview stage.  I didn’t touch on Windows Server 8, nor other features such as NFC enablement, but there you go. Go visit Channel 9 and watch the hundreds of hours on BUILD.

Essentially, Microsoft has been working very hard, it has taken on board the need for touch, and the fact that mobile and tablets are becoming must have devices, and as such, Microsoft should have Windows running on them.

I personally think Microsoft has done a great job with Windows 8 and Azure, and I can really see them taking Apple on head to head in markets where Apple currently dominates. Is this Microsoft getting back to their best? I think so…





Apps Apps Apps. Oh and web services

31 08 2011

The growing demand for smart phones, and the ever growing number of us who now own one, and almost rely on one, means we (as consumers and end users) now expect to be able to consumer content and work in different ways. It’s amazing that “culturally” many of us now come to expect certain possibilities from our mobile devices, and that means we expect certain things from the content we wish to access or the solutions we wish to use to work. With this in mind, we need to architect solutions and user experiences not just for the “web” or the desktop, but for both, and not just for both, but also for mobile devices…

 

Apps, Apps and yet more Apps

It really all started with the iPhone, the drive for “there’s an app for that”, which means many of us now use apps for so many day to day type tasks. Apps deliver a far greater user experience than any web based “app” can in a mobile browser, even HTML 5. Keep in mind this fact, as it means consumers expectations are higher than ever, which ultimately means software developers need to provide “App” solutions, and not rely on HTML 5 for cross platform compatibility.

This same expectation on our mobiles means we expect similar from our desktop experiences. So while HTML provides cross browser capabilities and the newer HTML 5 provides richer experiences, it doesn’t quite hit the expectations consumers and users now have.  So what does this mean? Well it means that the desktop application is not dead, rather it is evolving, throw in the cloud and we can see where things “should” be going…

The Cloud

The cloud and SaaS opens up new doors, especially for “Apps”. Relying on HTML 5 to deliver cloud based applications is simply mad, simply because user’s expectations have moved on. For me, HTML 5 is simply 2 years already too late. The solutions then should be delivered in “app” type fashion, and this is where I believe Silverlight and Flash will lead the way. Both can deliver almost desktop type solutions and user expectation, but be deployed over the web. With Silverlight you can run it within the browser or out of the browse, as if a real desktop application installed on the machine. This surely is the way to go…

I know Apple goes on about HTML 5, but do we really believe that Apple sees people using HTML 5 apps on their iPad, when a user can access a far better experience, more features etc. by simply using the “App” for that?

Web Services

Good old web services play a pivotal role here, allowing any form of application (desktop, HTML 5, Silverlight, Flash etc) to communicate and essentially “work”. It seems that all these technologies are starting to “align” which means that these are exciting times…

One architecture for all?

With the cloud, web services and the drive for apps, we essentially have a single architecture that is already drawn out for us for so many different types of solutions. The only down side is that “apps” need to be developed for individual platforms, though Flash and Silverlight cover a few of the basis. But, “Apps” are essentially the front end of the solution, all the work is still being done down in the engine room and via web services, so it’s not as big of an issue as many may try and claim.

New ways of doing business

This architecture, and mobile devices, along with their apps, opens up so many new avenues for the ways in which we communicate, we consumer content, we play and how we work. It even means so many business processes that we believe are fixed in “stone” can be changed, and be changed for the better and at a cost that isn’t astronomical.

I think Apps, along with the cloud and web services will change the way in which so many day to day processes and tasks are done, I also firmly believe that there are a number of technologies in the pipeline that will take too long to evolve and will be overtaken by the “app” monster…I feel the big HTML 5 could well be one of them, with many organisations not investing in new HTML 5 websites, or applications, rather opting for real “Apps” leveraging web services…

What do you think will suffer at the hands of apps?

It would be interesting to know what other budding technologies, or big ideas, that you think may potentially fall by the wayside, because we now have such an architecture and consumer expectation for Apps…





Adaptive Working Environment (@WE)

17 02 2011

In previous posts I have spoken about the importance of a holistic approach to delivering IT to business, which aligns IT solutions more closely to the actual needs of the business. I have also posted about the importance of being highly adaptive and flexible to business needs, which ultimately includes the needs of end users and the most important of them all, customers…So with all this in mind, Adaptive Working Environment (@WE) makes a lot of sense, if you understand what it is…

It was interesting to read Max J. Pucher post on ACM is Dead! Long live ADAPTIVE as many of his points regarding ADAPTIVE are areas I have been working in / towards for some years now. Sure the terms are a little different and even the areas are (I have come from a far more ECM orientated silo) but many of the points he raises about ADAPTIVE can be applied to not just the areas we frequent (CRM, BPM etc). My previous post touched on some of this, and I thought it was time I spoke about the holistic and adaptive concept I have been working on and off for the past 8 years now…

What’s the concept?

8 years ago, myself and a colleague had the idea of delivering a single platform for ECM, CRM and BPM. This isn’t that radical really, but the concept was to ensure that it was a single platform, no silos loosely related requiring integration, rather a single platform that delivered these functions.  We also wanted the platform to be as highly flexible as possible, allowing end users to change its structure, change classifications and even definitions of processes / work that had to be done. That concept started its life as project workFile, which has since become a company in its own right. The concept itself has gone through iterations too, with new “terms” being used to describe our big idea, new methods and even new approaches to delivering on that concept. But the concept has remained, a single, highly flexible platform that looks at a business problem in a holistic fashion.

Now Im not saying this is something unique, and there are vendors out there with the same holistic approach.  But what I spoke about many years ago, and what the drive is at workFile now, is an Adaptive Working Environment (@WE), which is more than just an adaptive mindset, or an adaptive holistic approach to CRM, or BPM or whatever…

The Adaptive Working Environment drive if you like, is to embrace both adaptive and holistic thinking fully. So thats in terms of a single platform, how that platform is architected, integration capabilities and delivery through a single extensible user interface. With the areas I work in that means a single platform for adaptive ECM functionality, adaptive CRM and of course Adaptive Process Guidance (APG) in place of traditional BPM.

But an Adaptive Working Environment (@WE) needs to be more; it needs to make life easier for the end user in terms of human computer interactions, so to do that, a single user experience is required. When I talk of a single user experience I mean this to be delivered through a single application, not multiple applications accessing the same platform, but a single application delivering a single user experience. That single application also needs to provide integration possibilities, have extensible capabilities so that other solution screens can be built, and delivered, via that single interface. How much simpler is that for the end user?

But we still need to do more to be completely adaptive to the business needs. We need to be aware that business will have many more applications and solutions running, many of which may need to be integrated with either tightly or loosely. That integration should be made as simple as possible, and as flexible as possible. With this in mind, the @WE (Adaptive Working Environment) needs to be built completely on a Service Orientated Architecture (SOA). A good SOA coupled with an extensible user application, provides the maximum flexibility in integration requirements.

With this kind of thinking we are delivering an Adaptive Envrionment for users to work within (hence Adaptive Working Environment). This environment empowers staff fully, it allows the business to utilise their users brains as assets, and it ultimately leads to a more efficient business that provides great customer services.

 

Can @WE be used for other silos?

Well I have termed @WE for the areas in which I have been working in, so that’s the adaptive holistic approach to CRM, ECM and (in my case) APG. We also use the term to convey other important points, such as being built soley on a SOA, and providing that single user experience that is highly extensible. 

However, the point is to be holistic and adaptive to your approach to whatever, and taking that as the point, then Max’s definition of ADAPTIVE is what we / you are embracing. As I said, we use the term @WE to describe not only our “concept” but in many ways how that concept is implemented (built on SOA, single extensible UI). 

I would argue that any platforms that embrace ADAPTIVE thinking (not necessarily related to ECM, BPM, CRM etc) can be termed ADAPTIVE, perhaps we should ask Max. I would agree though that if they are adaptive, holistic and then implemented using nothing but SOA and deliver a single extensible UI, then they are an @WE…

 

The key @WE elements to remember

To deliver an @WE, IT solution providers need to carry out the following, which will align their platform far closer to the actual needs of business:

  • Embrace a holistic stance / approach (address the complete business problem)
  • Embrace complete adaptive capabilities
  • Build their  application on a solid SOA, providing clear integration possibilities
  • Deliver the option of a single user experience that is extensible to the possible integration needs of the business

If IT does this, then we are delivering Adaptive Working Environments to the business and end user…





Long live ADAPTIVE

15 02 2011

Today I read Max J. Pucher’s blog post “ACM is Dead! Long live ADAPTIVE!” and I really wasn’t surprised…Many are surprised though, as it sees one of ACMs strongest supporters leaving the camp, in a…well rather public fashion. But should we be surprised?

For a long time Max has spoken of ADAPTIVE capabilities and goals that reach beyond silo approaches, so why have these defined in an a three letter acronym that essentially means only a fraction of what he conveys…After all ACM is Adaptive Case Management, and that doesn’t make me think of:  

“a globally encompassing technology approach that is linked to business architecture and strategy” – Taken from Max’s post.

So why is ADAPTIVE the key term

Well read the article for yourself to hear from Max. But for me, adaptive capabilities are at their heart, about returning power to end users and putting them at the centre of how business operates, empowerment is the term and is really the only route to great business efficiency and customer services.

So with this in mind adaptive capabilities stretch far beyond Case Management, BPM and whatever else you want to throw into the mix. Business is not about IT based silos, or IT platforms or applications…Business is about getting things done, and therefore requires a holistic approach to platforms, architectures, solutions and applications. But let’s be more specific, this holistic approach needs to be highly adaptive too, in order to empower the business users…I think the term ADAPTIVE conveys this thinking far more than ACM, so horray, ACM is dead, long live ADAPTIVE…

Adaptive Working Environment (@WE)

This is a concept that we thought up at workFile almost 6 years ago now (though then workFile was a fledgling product of One Degree). Sure it has grown and changed a little, but in essence the concept was, and is, a single adaptive platform for business needs, that brings together typical silos such as CRM, ECM and BPM.

In realising this concept, the “adaptive capabilities” have often been the issue, especially for BPM. The adaptive requirements have seen us move from a typical BPM implementation to one that leverages “intelligent” business process maps that are built by developers, along to a far more flexible approach now, with APG (Adaptive Process Guidance). It has also seen us move away from a silo module approach to a single solution platform with a single user interface…

So what workFile terms as @WE (Adaptive Working Environment), I believe Max is driving at with ADAPTIVE (though Maxs products are out there to purchase and workFile Vision 2.0 is only at an alpha state). If anything, ADAPTIVE could be far wider reaching than @WE. ADAPTIVE thinking has the potential to change the way all platforms and applications are structured and delivered, in essence, how business users work with IT solutions (if we remember not to pin it to a particular silo, methodology or platform)…Now I wonder if that is what Max is conveying, or if I am reading too much into the whole ADAPTIVE thinking?

If you want to know more on workFile @WE concept then have a quick read at http://www.workfilesuite.com/what-is-@WE.aspx