SharePoint Workflows Aren’t Business Processes

Richard Harbridge recently posted an article on SharePoint workflow, explaining rather brilliantly what they are, how they work, how you should think about them, and so on.

He asked for comments on Facebook, and I responded with one thing I feel he is forgetting, that is vital to securing SharePoint success.

You see, unlike that may be the attitude of many, a SharePoint workflow is not a business process. A SharePoint workflow is there to support a business process, but it isn’t and should never be the process itself.

Let me elaborate what that means.

The Lock of Doom

A lock of doom, well, I’m not really sure it is a term, but it sounded ominous, is when you have something that is so important you can’t live without it but so complex that you don’t dare change it. A lot of legacy software systems are like this; they were built as atomic units and 20 years down the line, the original developers are gone and nobody knows how to maintain the system. You’re locked in and you can’t change.

A key feature in well-designed software solutions is the ability to create loosely coupled components that work together to achieve a goal. If any component fails, needs to be modified, or replaced with different functionality, that’s fine because we can work on a single component only, leaving the others to go about their business.

I’m not going into too many technical details here, but think of it like a mobile phone charger. The process at which we’re looking is to get power from somewhere into your phone.

To get your Android or Windows phone to work, because you’re an idiot if you use iPhone, you need three loosely coupled components. You need

  1. The power grid
  2. The charger
  3. The phone

Each of these components have specific tasks that they do successfully (another reason why I can’t include the iPhone in the list). The power grid delivers electricity to your socket, the charger converts that electricity into a format that the phone can use, and the phone eats that electricity like it’s candy.

You can replace any of these components, however. If your charger breaks, you can get another one or a different one. The power grid doesn’t even need to be the power grid, it can easily be a USB port on a PC. In fact, with these components, provided again you stay away from that god-awful iPhone thingy, you can charge other things too, like your MP3 player (no, not iPod), your tablet (no, not iPad), or your headset.

The interchangeability of the components means you have reuse and adaptability.

Imagine what the world would look like if all electrical devices had to be built into the power grid, like one giant atomic super-entity. It would be really impractical; you couldn’t put away your vacuum cleaner, for example, and you’d have to have the world’s longest cable to have a mobile phone. And, if something broke, you’d have to fix the entire grid. This would really be a lock of doom, because you would have to know about every single future device when you designed the power grid. Luckily, we have come up with far better solutions.

The process, however, is simple; you want to get electricity from wherever it is produced into your phone. The workflow and the components used to drive this process are the power grid, the charger, and the phone, but these are not the process.

SharePoint Workflows

Far too often, I see workflows that try to be the super entity of the former example. They try to implement everything into one workflow, often redesigning the process to accommodate the workflow rather than the other way around. “Sorry,” they say, “You can’t do it in that way because SharePoint doesn’t support it”.

The thing is, the workflow is not the process. The workflow is there to support and facilitate successful execution of a process, but like the charger isn’t the electricity or the charging process, a workflow isn’t the process.

Your workflows, then, should work to manipulate data to the extent it makes sense, but do so in a way that does not lock you into using that workflow. In other words, you can use a workflow to store data or even the status of a process.

This idea is actually already built into several aspects of workflows. For example, when a workflow assigns a task to someone, it does so by creating an external item in a task list. That task list is completely independent of the workflow, so the workflow effectively disconnects itself from the result of the workflow. The same happens with the workflow history; it is an external list that’s technically independent of the workflow.

Workflow designers need to think in the same fashion and understand that if you try to map a complete process in a single workflow, you will create a lock of doom situation, where you end up with a massive beast that you cannot touch from fear of breaking something.

It’s perfectly acceptable to create smaller sub-workflows that can run as part of a bigger process. For example, you may have an order execution process consisting of several ‘stages’. Each stage can be its own workflow, focused solely on supporting the process at that stage. On completion of an order entry stage, for example, you may trigger or update another workflow which will create and mange the subsequent stages of the process.

Note: Note my use of the words process and workflow; they mean different things.

I discussed workflows with one of my students a few weeks ago, and we discussed a somewhat complex business process involving many different stages and multiple levels of branching. The process itself was several pages of Visio screenshots, spanning at least two departments, and crossing several site collection boundaries.

Initially, the student was overwhelmed with the task, but as we broke it down into smaller components, we were actually able to build the entire process in a couple of hours. Then, when something needs to change, it is merely a matter of updating one small workflow, and the rest of the process goes on as if nothing happened.

A final point to make with this is that if you ensure the output of your workflow is not store in the workflow itself, you also ensure that if you decide to replace the entire workflow, no data is lost.

For example, if you have a report that shows the status of your latest 200 orders, well, if you get that status from the workflow and the workflow goes away, you suddenly have no data on the status.

Instead, if you update a status column or something like that as part of the workflow, then you can effectively remove the entire workflow, replace it with something else, and move on as if nothing had happened; no data loss, no broken reports, no redesign of taxonomy.

And that makes me a happy bear.

.b

Found this article valuable? Want to show your appreciation? Here are some options:

a) Click on the banners anywhere on the site to visit my blog's sponsors. They are all hand-picked and are selected based on providing great products and services to the SharePoint community.

b) Donate Bitcoins! I love Bitcoins, and you can donate if you'd like by clicking the button below.
Donate Bitcoins

c) Spread the word! Below, you should find links to sharing this article on your favorite social media sites. I'm an attention junkie, so sharing is caring in my book!

Like this? Share the love:
Read full story Comments { 1 }

SharePoint Domain Names for Sale

I own a number of SharePoint-related domain names that I’m not going to use, and I’d like to offer these to the SharePoint community first, before I go into the open market with them and auction them off to whoever wants them.

Over the years, I’ve had great plans for stuff I want to do in SharePoint. Some of the ideas have turned into USP Journal issues, others into products, frameworks, or services, others have just been sitting there in the back of my mind, waiting for a day when I suddenly find myself with plenty of time and nothing else to do.

I come up with ideas all the time, often in rapid succession. However, I have the attention span of… Ooh, squirrel!

What I mean is that I rarely have time or the attention span to write down the ideas, come up with reasonable business plans, or anything like that. However, I always have easy access to register domain names, so that’s what I do as a reminder of the ideas I have.

By now, I have over a hundred domain names, many of which I’m not going to use, and I’d like to offer these domain names to the SharePoint community first before I try to sell them elsewhere. I figure you guys and gals will probably treat them better than I have.

If you like to get one of these domains, here’s your chance.

At or around May 3, I’ll start setting up an auction solution and start selling off whatever domains remain. Bidding will start at US$500 per domain with a Buy Now price US$1,500.

If you like to pick up one of these domains right now, however, you can do so for US$750. I’ll even give you a discount for three domains for a total price of US$1,500.00.

Update: Domains are now available through SEDO for $1,390 each. Contact me with offers above $1,000.

Terms of Sale

Before you decide, though, please read the following carefully:

To buy a domain, simply comment in the form below or send me an email at furuknap<[at]>gmail.com with the name you want to buy and your name and email address. I will not publish such comments, but I will contact you soon after to verify your information and start the transfer.

After I have received payment, I will transfer the domain to you and mark the domain as sold. If you have a GoDaddy account, this usually takes just a few minutes.

For settlement, I prefer Bitcoins or Litecoins, but I can accept bank payments to a US bank (Wells Fargo). With Bitcoin or Litecoin, payment confirmation happens within minutes, whereas with a bank transfer, it may take days.

If you do not have Bitcoins or Litecoins, and you don’t know how to pay to a US bank (and it can be tricky), you can pay through PayPal. However, there are some caveats with paying with PayPal.

If I do not know you already and you are not a highly reputable person in the SharePoint community, I will hold the domain name for 90 days after the payment has been received. This is due to PayPal’s policy of siding with the buyer in sales of electronic goods in case of a charge back for credit card based purchases. If I transfer the domain to you and you decide to scam me by filing a fraudulent chargeback, I have no recourse for getting the domain back.

I decide alone if you are known to me or a highly reputable person in the SharePoint community.

During those 90 days, I can either manage the domain for you or provide you with a login to manage the domain yourself. Only after 90 days will I transfer ownership of the domain to you.

I really want to trust everyone, but sadly I’ve been burned by people up to no good.

All sales are final. No refunds will be given for any reason, except if I am unable for whatever reason to transfer the domain to you.

Are we clear on these terms? Good, here is

The List

Domain names marked pending have received a purchase request but have yet to clear payment. Please check back in a few days to see if the domain is marked as sold.

Note that I have highlighted some interesting names for your attention only; highlighting is not an indication of any status. A sold domain is marked as (SOLD) and a pending domain is marked as (PENDING)

BAYAREASHAREPOINT.COM
BEGINNINGSHAREPOINTFOUNDATION.COM
BUILDINGSHAREPOINTAPPS.COM
DEVELOPINGSHAREPOINTAPPS.COM
HOWTOSHAREPOINT.COM
LEARNINGSHAREPOINT2010.COM
LEARNSHAREPOINT2010ONLINE.COM
LEARNSHAREPOINT2013.COM
LEARNSP.NET
MANAGINGSHAREPOINT.COM
MICROSOFTSHAREPOINT2010.COM
MYSPLAB.COM
MYSPLAB.NET
OFFICE-FOR-EDUCATION.COM
OFFICEFOREDUCATION.COM
OFFICEFOREDUCATION2013.COM
OFFICEPREVIEW.COM
PLANNINGFORSHAREPOINT.COM
SHAREPOINT-ACADEMY.COM
SHAREPOINT-DESIGN.COM
SHAREPOINT-FOUNDATION.COM
SHAREPOINT-U.COM
SHAREPOINT-U.NET
SHAREPOINT-U.ORG
SHAREPOINT-UNIVERSITY.COM
SHAREPOINT-UNIVERSITY.NET
SHAREPOINT2010RIBBON.COM
SHAREPOINT2010SOCIALFEATURES.COM
SHAREPOINT2010WORKFLOWDEVELOPMENT.COM
SHAREPOINT2013DEVELOPMENT.COM
SHAREPOINTADMINS.COM
SHAREPOINTBOOKS.COM
SHAREPOINTBUSINESSCONNECTIVITYSERVICES.COM
SHAREPOINTCERTIFICATION.COM
SHAREPOINTCHALLENGE.COM
SHAREPOINTCHALLENGES.COM
SHAREPOINTDESIGNER2013.COM
SHAREPOINTDESIGNERTRAINING.COM
SHAREPOINTFORDUMMIES.COM
SHAREPOINTFORUMS.COM
SHAREPOINTFOUNDATION.NET
SHAREPOINTFOUNDATION2013.COM
SHAREPOINTFOUNDATIONADMINISTRATION.COM
SHAREPOINTFOUNDATIONDEVELOPER.COM
SHAREPOINTFOUNDATIONDEVELOPMENT.COM
SHAREPOINTFOUNDATIONFORDUMMIES.COM
SHAREPOINTFOUNDATIONPOWERSHELL.COM
SHAREPOINTFOUNDATIONSEARCH.COM
SHAREPOINTFOUNDATIONTRAINING.COM
SHAREPOINTFOUNDATIONWEBPARTS.COM
SHAREPOINTFOUNDATIONWORKFLOW.COM
SHAREPOINTGROUPS.COM
SHAREPOINTGROUPS.NET
SHAREPOINTKNOWLEDGE.NET
SHAREPOINTMIGRATIONS.COM
SHAREPOINTMOBILITY.COM
SHAREPOINTMYSITE.COM
SHAREPOINTPROGRAMMING.COM
SHAREPOINTSOCIALFEATURES.COM
SHAREPOINTTRAINING.ORG
SHAREPOINTTRAININGREVIEW.COM
SHAREPOINTTUTORIALS.ORG
SHAREPOINTUPDATES.COM
SHAREPOINTVISIOWORKFLOWS.COM
SHAREPOINTVISUALSTUDIO2010WORKFLOW.COM
SHAREPOINTVISUALSTUDIOWORKFLOWS.COM
SHAREPOINTWEBPART.NET
SHAREPOINTWHITEPAPER.COM
SHAREPOINTWHITEPAPERS.COM
SHAREPOINTWORKFLOWS.COM
SHAREPOINTWORKFLOWTRAINING.COM
SILVERLIGHTINSHAREPOINT.COM
SP2013.NET
UPGRADESHAREPOINT.COM
VISUALSTUDIO2010SHAREPOINT.COM
WHATSNEWINSP2013.COM
WORKFLOWINSHAREPOINT.COM

Well, what are you waiting for? Fill in the comment field below or send me an email to request the domain you want! I don’t have all day, you know.

Like this? Share the love:
Read full story Comments { 3 }

Understanding Bitcoins: Bitcoin, Litecoin, Whatcoin? Oh My!

You’ve probably heard of Bitcoin by now, and at the time of this writing, meaning mid-April 2013, it’s currently experiencing a blossom that has caught everyone by surprise and made a lot of people very rich.

What you may not know, though, is that Bitcoin is just one of several emerging virtual currencies. Bitcoin is definitely the biggest, but it’s important to understand the other currencies too, especially if you plan on investing or mining coin.

In this article, part of the Understanding Bitcoin series, I’ll talk about each of the different cryptocurrencies and what distinguishes them from each other. I’ll focus mostly on the two largest, Bitcoin and Litecoin, and then give you a brief overview of some of the other cryptocurrencies out there.

Cryptocurrencies?

Let’s start with the basics. A cryptocurrency is a virtual currency that people use for various purchases. Currently, it’s used a lot of places online, but even offline brick-and-mortar stores are beginning to accept cryptocurrencies. This is especially true for Bitcoins.

There are already several cryptocurrencies in existence, each having slightly different characteristics and have uses in different scenarios. Which one will be used and which will die is a matter of great speculation, and as with all things that have a geeky nature, it’s often becoming a debate of passion. When I read these debates, I’m often reminded of Linux vs. Windows vs. Mac debates, or Android vs. iPhone, or similar debates where the underlying differences aren’t really that huge but people still get massively passionate about their particular favorite.

What most agree, though, is that digital currencies have a place in society now, and especially on the internet. With the democratic, global, and decentralized nature of cryptocoins, the ease of use for anyone, the inherent security and potential anonymity, as well as the technical abilities, cryptocurrencies are starting to look like a perfect model for internet heavy economies. Cryptocoins, although certainly not the only form of digital currency, seems to have the characteristics that users and society covets.

Cryptocurrencies work in much the same way as regular currencies and are in their simplest form nothing more. It’s money, and that’s really all you need to know. Whether the money is worth anything is up to society, if society adopts it as an accepted measure of value, then cryptocurrencies have value just like ‘hard’ (or fiat) currencies. Adoption is rising rapidly so there is evidence to support the idea that cryptocurrencies have merit and thus value.

On the flip-side, cryptocurrencies are extremely young and nobody really knows where they will go. The technology hasn’t been proven on a large scale and we know there are inherent problems that need to be resolved at some point. We do not know how governments around the world will react, although we do know that the US have declared digital money as just another foreign currency, giving it at least some credibility. We also have no way of determining value. Cryptocoins can take over online trade completely, and if so, even the current pricing is ridiculously low, or not exist at all in a year or two, in which case any value is overrated, even at one US cent per Bitcoin.

For the purposes of the rest of this article, I’m going to focus on two of the cryptocurrencies that derive from the open-source Bitcoin code. Bitcoin was the first of these currencies, but several other currencies have since appeared with different characteristics making them useful and beneficial in different situations. The other one is Litecoin.

Bitcoin (BTC)

Bitcoin was the first and remains by far the largest cryptocurrency. It is largest in market capitalization, acceptance by merchants, transactions, and mining power.

On the downside, Bitcoins’ size is starting to become a problem, or will shortly. For example, by design, a particular transaction block can be up to 1 Mb in size and must contain every transaction since the previous block was solved. This means that as more transactions happen, the block fills faster, and some transactions must wait until the next block, delaying transactions.

The mechanism designed to solve this is a voluntary transaction fee, which is added to the bonus of the block. As Bitcoin evolves and transactions increase, this voluntary transaction fee becomes the main revenue for mining operations, and if the market decides so, the fee will effectively be mandatory by giving low fee transactions less priority and slower transaction times, with a larger fee ensuring a faster transaction.

At the moment, mid-April 2013, BTC is seeing a rocket ride in terms of price. Be aware, though, that the actual value (as opposed to price) is still very undetermined and absolutely unknown. Anyone claiming to know is wrong at this point, whether they are warning against a bubble or hailing this as the most important thing on the planet.

Bitcoins have a fixed distribution rate and will end up with a maximum of 21 million coins. Most of those coins will be mined by 2032, though so after that (or even before) transaction fees will make up most of mining profitability. Bitcoins are mined using an SHA-256 based algorithm.

For Bitcoin based financial and investment services, there are currently both currency exchanges and stock markets, and other services from traditional financial markets are emerging. Still, because of the nature of Bitcoin, there is no government regulation or guarantees for these markets, so it is extremely risk to invest in BTC-based markets. The largest BTC/USD exchange by far is MTGox. Two other prominent currency markets are BTC-E and Vircurex, while MPEx (large, but expensive and somewhat difficult), BTC-T (smallest but easier), and Bitfunder corners the market on stock trades.

Litecoin (LTC)

Litecoin is the second largest cryptocurrency at this time, but is still much smaller than Bitcoin. Although the relative size varies in terms of market capitalization, at present the Litecoin economy is about 1/30 the size of Bitcoin.

Note: Numbers are based on sizes from http://dustcoin.com/mining

Litecoins have some different characteristics from Bitcoins. First, it is mined using a slightly different algorithm, called Scrypt, which is more resistant to massive mining rigs than the SHA-256 based currencies. That means that even personal computers, provided they have sufficiently powerful graphic card, can still participate in profitable mining.

Note: For a mining operations guide, read the previous post in this series on cryptocurrency mining.

Litecoins like Bitcoins are limited in total number of coins too, but its limit is 84 million coins. This really has nothing to do with its price or value, and because Litecoins are generated at a much faster rate, it evens out in the long run.

When I say that the Litecoin economy is much smaller, I mean much smaller, not just in market capitalization but also in adoption. Adoption is growing, though, but it looks like the community and merchants are waiting to see whether Bitcoins take off. Few merchants accept Litecoins yet, at least compared to Bitcoin, so its circulation is mostly based on person to person transactions and not so much for purchasing products or services.

On the plus side, Litecoins have a faster rate of block generation. Where Bitcoin blocks are designed to appear every 10 minutes, Litecoin blocks appear every 2.5 minutes. This has the benefit of giving potentially quicker and cheaper transactions, although it doesn’t necessarily mean that it will be quicker or cheaper.

Also, as the largest of the alternative cryptocurrencies, it may take a place as a backup currency in case Bitcoin transactions have issues like high fees, slow transactions, or even technical issues. Adding support for Litecoins once a merchant has support for Bitcoins is easier than trying to add other backup payment alternatives.

At the moment, Litecoin price is tied closely to the price of Bitcoins, so a rise in Bitcoin price often lead to a rise in Litecoin price. Litecoins are mined using a Scrypt-based algorithm.

Note: You can see an exchange rate for LTC to BTC or USD on BTC-E http://btc-e.com/. MTGox, the largest Bitcoin exchange in the world, is rumored to introduce Litecoin support soon.

Other Cryptocurrencies

Bitcoin and Litecoin combined make up more than 99% of the market at the moment, but that doesn’t mean they are the only currencies available. Other currencies exist, perhaps with more obscure characteristics, and right now, nobody knows whether these will survive or grow alongside their bigger brothers.

Namecoin is a much smaller currency, even compared to Litecoin, having about 0.3% of the market share. It’s designed to work with identities, currently mainly through an alternate DNS system that allows for completely anonymous domain name registrations. Very much a currency and system for privacy freaks bit can also be used to provide secure identification services. Namecoins utilize merged mining, meaning they are mined alongside regular Bitcoin mining at no extra cost to the miner.

PPCoin is a somewhat different cryptocurrency that implements an alternative method of minting coins and securing transactions, called Proof of Stake (BTC and LTC uses Proof of Work). There are several benefits to this, and the details go beyond the scope of this article, but feel free to read up on it on the PPCoin Github wiki.

Devcoin is a coin designed to support open source development, where mining generates revenue for open source projects. 90% of coin generation goes to open-source projects, the distribution of which is done through bounties administered by a democratic voting process. Anyone can apply and three random administrators vote on whether to approve the project, thus giving revenue to the project.

Novacoin is a bit of a controversial coin due to allegations of fraud in the introduction of the coin. The founder allegedly pre-minded a lot of coins before the introduction, many or all of which were used in a bribe and later destroyed (read more). It is the only alternative coin that uses Scrypt for mining (like Litecoins) so it may be an alternative to Litecoins, should Litecoins need one.

Terracoin is a relatively new coin that has seen some recent troubles due to its similarity to the Bitcoin code. In short, the profitability of mining rose drastically in a short time, making it practically worthless for normal miners to support. The developers have taken steps to correct the issue, which may help the coin survive.

Freicoin is another very interesting but obscure currency with some pretty remarkable characteristics. For one, it effectively implements negative interest, meaning you need to spend your money unless it loses its value gradually through Demurrage. The argument for this is that holding money is bad and circulation is good, encouraging investors to invest and banks to loan rather than hoard money.

Why, Oh Why?

With all these different types of coin in existence, it’s pretty clear there will be confusion for many people. The risk is huge like we saw with Terracoin, that technical issues and exploitation may kill smaller coins completely. New and innovative algorithms may stall this or prevent it completely, but it’s still a very immature technology and subject to malicious intent, like most other technologies.

However, it also shows that there is innovation in the way money works and should work and what society wants from its currencies. Cryptocurrencies is a great tool for encouraging innovation in monetary scenarios.

Even more, we have only seen the start of this innovation, perhaps at the level where the web was around 1997 when it too was four years old (Bitcoin is four years in 2013). Nobody knows yet whether this is a passing fad or whether the world is ready for new ways of using money, but if nothing else, Bitcoin and its smaller siblings have already had an effect on people’s minds.

I’m rooting for the future!

.b

Like this? Share the love:
Read full story Comments { 0 }