Showing posts with label systems. Show all posts
Showing posts with label systems. Show all posts

Thursday, May 10, 2012

Two types of workflow: software and human system

There are two sides to workflow: software workflow and human interaction systems (aka business processes).  Understanding both of these helps us understand our systems overall.  We need to be expert at both to really understand what's going on at all in today's complex systems and organizations.
There are two main types of workflows in our lives: software workflows and human system workflows.  Software workflows are the experiences we have on our devices (computer, laptop, smartphone, etc.).  Human workflows are a view of our organizations that are about the overall mix of people, artifacts, inputs, processes, roles, and outputs.  The latter is the more abstract and grand view, while the former is critically important to helping us understand the actual human workflows that exist today and will tomorrow because the software workflows are constantly and rapidly innovating and changing.

Software workflows are very fun to define, create, implement and realize.  Making software is a thrilling and fun experience.  Adding a set of systems or softwares together into an information systems happens frequently and creates greater value to human workflows.

Human workflows are abstract views of our organizations and systems and first focus on the actual people in terms of their roles, what artifacts they create and pass around, what processes and tasks they perform, how they measure their work, how they define flow, and a variety of other things.  Human workflows are critical to know and understand for organizations to be focused on the customer, value, efficiency and sales.

Overall, between these two methods of workflow definition, we can understand our organizations and their related complexities.  There are tools out there like Configuration Management Databases and Windows Workflow Foundation to map the software workflows and IDS Scheer ARIS to map the human interaction workflows.  Together we can use these information systems to store data about our organizations and get  better information out about what is going on as analysts and decision makers.

Saturday, March 31, 2012

No ends

Pretend that it (and life) never ends.
Because it probably doesn't!!!
Yes, things can end but they also repeat and start again.  We can stop what we're doing for a moment and reflect.  We can pause and digest the world around us.  Our ability to connect with a larger, spiritual power, is easy awesome and probably never ending unless we choose to let it end.  Let's decide to never let it end because that's a lot more fun and interesting.  Be positive all the time.

There's a pattern to process improvement and it's really confusing

Action and inaction.  Balance.  Really?
All organizations have to improve their processes or they will fail and die.  Organizations will cease to exist if they do not react to and respond to their environment.  Organizations must continue to learn from their experiences and figure out how to act more efficiently and effectively during their next challenge.

Organizations must constantly adjust.  Organizations must also spend time relaxing and contemplating.

Organizations do not always have to be doing things.  For organizations, being idle is entirely fine until it is time for them to act.

Part of the adjustment process for organizations, though, is the contemplation of that change.

Process improvement cannot be total because we must also act, which can be seen as a fault or failure.

As organizations and individuals, we must balance reacting and contemplating.  If we don't we'll die.

Why processes?

Sometimes the thing and the thing behind the thing
are equally compelling.
Processes are weird.  I don't even know what they are or understand them.  Merriam-Webster defines process as "something going on".  But so what?  What the heck does that mean?!

We can parse this word a little further and think about what a 'thought process' might be.  It would be something going on in someone's head which makes slightly more sense.  I think therefore I am.  I think therefore I have thought processes or things in my head.  That makes some degree of sense.  But again, so what?

I have argued in the past that a process is 'anything that takes time'.  I'm not sure what this means but I still like the idea.

They say that systems are collections of processes which makes things even more confusing to me. 

Purpose and intention (the reasons behind processes) are far more interesting to me than processes.  But studying processes helps us understand why things might be.

Everything is better on a team

We are not alone until we think of ourselves as such.
Selling as an individual sucks.  Marketing yourself sucks.  Being the main person who is delivering the thing sucks.  Teams are way better than individuals most times and this is true in almost all contexts.

When it comes to sales and selling the same holds true.  I like to sell by myself but I do not love it.  What I love is the idea that I can sell as part of a team and system, rather than as an individual. 

We need to find ways to take ourselves as individuals out of the picture and figure out how we can grow teams around ourselves who love and support us in our efforts and interests. 

We need to get excellent at having others help us.  The more we can define a process and system for growing, selling, and success, the better off we all will be.

Make sure it's sustainable but don't be boring


Doing things that are fun and cool and creative and off the wall are interesting but they're not everything and sometimes they're not sustainable at all.  We shouldn't expect that all of our practices are sustainable but we need to makes sure that the bulk of the core ones are.  In this way we have to have great values and focus.

We have to make sure that the core and essential set of our practices are sustainable but we don't want to get caught up in only doing the mundane.  Finding this balance is hard.

Build systems for yourself and others and win

Do things that work for yourself and for others.
Two birds, one stone.  Lead.
A big skill is in building systems that work for ourselves and for others.  It's fine and dandy to do things that work for us but it's far more critical and interesting to build systems that work for us and others!

When we can build things that work for us and others we're winning, we're selling, we're growing and building teams.  Do this every day.

Saturday, April 03, 2010

No matter how paranoid you are, you’re never paranoid enough.


Afraid someone is watching you? They probably are.

In a computer system, anything that did once exist (all events and data) could be logged into a database and analyzed either now or later. This data could be used against you but it could also be used for good. How so? In making our software better! But what is the cost?

The more parts of our software that get "instrumented" (hooked up to log actions into a database), the more at risk we are for losing our privacy. And A LOT of the parts of our software are getting instrumented and hooked up to online databases. You could build your house into Fort Knox, but you need a data Fort Knox as well and things like "The Cloud" conflict and compete with that. Many companies today instrument their software in order to learn how people use their software. They use this data to make the software better; but there is a very big cost to this! This same data could be stolen or subpoenaed and used against you. Not exactly what you want.

In short, be very, very careful and very, very paranoid of what you're doing on your computer and online … they could be (and probably are) watching you!!! ; )

Thursday, March 06, 2008

Making Companies is like Making Movies


There's a lot to be learned from Hollywood for the production of software. Making software isn't (or shouldn't be) all that different from making films. Since the early 1900's, Hollywood has been pumping out film after film. Technologies have of course changed over the years but the end product of a motion picture remains. Software is similar. Hollywood's "simple" process of pre-production, production, and post-production is a powerful tool. And its simple roles of Scriptwriter, Producer, Director, Actors, and Post-Product workers are powerful if applied to software projects.

PRE-PRODUCTION ROLES:
Scriptwriters
In film, these are the story tellers.
In software, these are also the storytellers. Their titles, however, are Business Analyst, Product Manager, Requirements Engineer, or Process Engineer.

Producers
In film, these are the guys that get the money and form the team.
In software, these are the Project and Program Managers (or above) who get the money (from investors or internal sponsors) and form the team.

PRODUCTION ROLES:

Director
In film, the director is responsible for the creative work and directing the actors.
In software, the IT Project or Program Manager does the same thing. The actors in software are the designers and developers who are creating the end product for the customer.

PHASES:
Pre-Production
In film, this is creating and refining the script, getting the actors, having a plan, and budget.
In software, this is creating and defining the software, getting the developers, having a plan and budget.

Production
In film, this is "shooting" the film and having the actors act according to the (sometimes changing) plan.
In software, this is "coding" the software and having the developers code according to the (sometimes changing) plan.

Post-Production
In film, this is the work involved in creating the final product of sufficient quality.
In software, this is QA work and is generally iterative where things are returned to developers to fix.

Iteration
In film, iteration is common. Many "takes" happen.
In software, iteration is common. Much "rework" happens.

So in total, I hope you can see that a patter and relationship emerges between film and software. They're the same. They're both productive processes generating a product for an audience. Applying more of our knowledge of the film industry and how it works to software would improve development lifecycles, decrease budgets, and improve user-satisfaction.