Sunday, March 29, 2015

The roles of the IT Architect

If you read across the different references, magazines, forums, groups, etc. (online or otherwise) that discuss Information Technology Architecture you will find their are many different IT Architect roles. Off the top of my head I can name 10 different architect roles, they are;
  1. Business Architect
  2. Information Architect
  3. Infrastructure Architect
  4. Database Architect
  5. Security Architect
  6. Software Architect
  7. Component Architect
  8. Application Architect
  9. Solution Architect
  10. Enterprise Architect
Surprisingly, these 10 distinct architect roles have little overlap. With the exception of software and application architects they each need a different, yet similar, set of skills and knowledge. I see there being three themes of architecture; development (as in software development), infrastructure (as in building and deploying the infrastructure to support the software), and alignment (as in aligning with the business and information needs, and supporting the business strategy).

I believe the different architect roles fall into these three themes in the following ways;

Development Theme (responsible for designing, building, selecting, and implementing software solutions).
  1. Component Architect - designs a specific and specialized software component, needs to ensure it aligns with application architecture.
  2. Application Architect (same as Software Architect) - designs (and extends) the specific application to fit the project specifications
  3. Solution Architect - understands the extended environment for where and how the application needs to exists. Designs for how application will integrate with greater whole.
  4. Enterprise Architect - sets the technical standards and governance for the overall organization. Ensures all new solutions integrate well with organization and makes final call to technical solution environment.

Infrastructure Theme (responsible for designing, selecting, acquiring, configuring, advocating for, and implementing networking, server, security, and storage infrastructure).
  1. Database Architect - designs, develops, governs and integrates database technologies. Works closely with development architects.
  2. Security Architect - all things security (physical, technical, virtual, and otherwise)
  3. Infrastructure Architect - all things infrastructure!
Alignment Theme (work with other architects and business stakeholders to ensure technology is aligned with business strategy).
  1. Business Architect - works toward common understanding to bring alignment with business strategy and tactical plans. Seeks continuous improvement for the business, often using technology.
  2. Information Architect - looks to bring alignment across information; whether this be branding and usability or how information and knowledge is stored and found within the organization. 
  3. Enterprise Architect - The enterprise architect also has much to contribute within the alignment theme. This mostly occurs with governance and to ensure technology aligns with the business.
What I find most interesting is how the enterprise architect needs to have solid relationships with most all other architect roles. And often they will facilitate discussions among all roles to bring together the most effective and broad solution to meet both business and technical needs.

Tuesday, March 10, 2015

Computer science taught as an art

I've been involved with learning, teaching and creating for all my life. During my formative years (in-utero to shortly after high-school graduation) I was focused on getting what I needed to finish. I was also involved in a lot of art (music, graphic design, crafts, dance, theatre) but my socially encouraged (my parenting) focus was on math and science. Needless to say, I have had my feet firmly planted in both art and science my whole life. I guess most people are this way, with different ratios of art to science. I really feel I continue to straddle both these areas as I pass my 1/2 century mark. What this has given me is a deep appreciation and engagement in both art and science. This is why I am more broad than I am deep. And this is why I have learned art as much as I have learned math and science.

Now I am an enterprise architect, educational technologist, computer scientist, teacher, visual arts performer and all around nice guy (well I hope). I still draw and paint, play music (the best I can) and dance in the open. I encourage my kids to engage in art more than science. Surprisingly, my kids math and science skills are good. I do think there is a connection.

I also think computer science can be taught very well as an art. Particularly, in the early stages of learning computer science. Why? Because, it needs to be done with reckless abandon and with the freedom to make a mess. You need to be able to stop half-way and throw it away. You need to be able to change it into something never planned. You need to be able to break something, and then fix it. You also need restraints through assignments (or learning themes), focused subjects, a palette, skills and abilities, uncertainty and little preparation, it all needs to be inspired and interpretive. I also see taking risks and "feeling stupid" is safer with art than science. Doing a scientific experiment seems more serious than dancing like no-one is watching or painting for yourself. Art seems more reckless than science. It is this recklessness that makes art more accessible to learn than science. I also think there is a lower barrier to entry for art than science, though I don't think it needs to be this way.

How I perceive creating and learning art.
My participation in the arts comes in two themes; the visual make things (graphics, painting, architecture, woodworking, and building) and in folk music and dance. How do I learn new things within these realms; by doing, with a whole lot of reading, research and seeking out those who have done it before. How do I believe it best assist to others learn; by involving them, and pointing them toward understanding how they themselves learn and encouraging their own research practices. Together we do things, I've built and created many things with others and the conversation and collaboration is a beautiful thing. Bringing together music and dance is an amazing collaborative effort. Best done with a willingness to fail, and the patience to persist. One of our best dances is tri-martal-o (it took two years to develop), is hauntingly beautiful, the music is inspired and the piece is way fun to dance. The important aspect of learning art is to dive in, create and participate as soon as you can. And remember, make a mess.

How I perceive creating and learning computer science.
Immediate feedback is the way! Being able to get something working by using the tools and techniques immediately is paramount to learning computer science. Programming something and then seeing it run, render, compute... is preferred for learner engagement. Once this immediate feedback has been experienced, the opportunity to create has been fulfilled, and a good number of computing science tasks have been completed then the deepening and complexity can begin. And this deepening and complexity needs to grow iteratively with continued immediate feedback and fulfillment. It should almost be like playing an instrument or creating art; repetition, creation and fun.

I believe it is also important to understand computing science as a creative and where it fits within the big scheme of things (historically, culturally, epistemogically, and algorithmically). This helps to put computing science into life context. Where it fits with being a human being, and this is where it gets interesting. The ability to take working ideas out of your brain and use them (in other ways and experiments) within a device outside of your head. This is computing science, and it is unique in history. For thousands of years we have taken ideas out of our heads and created things; first, wall paintings, then tools and writing, then machines and engines... but now, we can re-incarnate a working idea in another device that can process the idea, and use it with other peoples ideas, or more of our own ideas. And we can process these ideas as experiments and run a collection of ideas for days with different inputs which influence further ideas.

How do I see teaching computer science as an art? 
Create, make a mess, work with others, make... this is why I see the maker movement so positive. And why the webmaking initiatives currently underway as the right way toward teaching computer science. It creates a low barrier to entry and encourages learning with reckless abandon while on a journey of skills and knowledge development. Webmaking also takes learning computer science into the realm of social learning, which I consider more closely aligned with learning the arts than the sciences.

But how would this work for the more complicated computer science topics? The solution is in how more complicated art projects are created. They are more collaborative efforts, where the more experienced are given the complicated tasks and have to be sure their direct collaborators are also engaged. And there is a whole bunch of healthy collaborative critique going on. Look at how a performance art piece is created, learned and performed. What can be taken from this process and applied to teaching the more complicated aspects of computer science.

In my opinion one of the best books when considering the creation of computer software is written by Russell Shackelford and titled "Computing and Algorithms", I've used this book a number of times when teaching entry level computer science. What I fond strongest in this book is how it connects the creation of computer algorithms (software) with art from the scientific perspective. Or at least that is how I read it...

So in the end when teaching computer science as an art it also comes down to practice, practice, practice... if you want to be a good artist, that includes a lot of practice. If you want to be a good computer scientist, that also takes a lot of practice. The key is to find fun, creative and collaborative ways to stay engaged, and treating the learning of computer science as an art will keep it more engaging. Regardless of age. And as the projects and learning become more complicated, increasingly engage others who are peers and mentors. Find the fun individually and as a group.

Tuesday, March 03, 2015

Cub Scout Badges as Digital Badges

I'm looking at implementing Digital Badges for Scouting Canada badges. The interesting part is many of the features for distributing and hosting the digital badges related infrastructure and features are available with Mozilla Open Badges and Scoutstracker. Using these existing platforms and approaches is a good idea, so I reached out to Dakemi Communications the maker of scoutstracker. The contact was successful and, to make a long story short, I need to write a few user stories regarding the use of digital badges within scouting.


Note: It is important to recognize that Mozilla open badges provide features where digital badges can be verified as reputable. The issuer and earner of the badge can be verified toward the issuing of the badge and the assessment of the skills and knowledge implied by the badge can be confirmed. In other words, the skills and knowledge identified by the badge have been recognized in the recipient. And digital badges can't just be copied from one person to another.

Actors:
  • Scout - this can be a person who has earned badges in any of Cub Scouts (8 - 10), Scouts (11 - 14), and/or Venturer Scouts (14 - 17). These badges collectively show the beginnings of mastery in many areas, and are well assessed for completion. 
  • Leader - this is a person (or group of persons) who has evaluated and awarded a badge.
  • Observer - this is a person interested in looking at a Scouts badge accomplishments. This could be a potential employer, a college or university, a volunteer organization, a friend or associate, a parent, or anyone interested in looking at a scouts badge accomplishments. 
User Stories:
  • As a Scout I want to display my scouting accomplishments (badges) in my social media like facebook, tumblr, linkedin, Etc...
  • As a Scout I would like to display all the badges I have earned since beavers, and be able to organize the badges into themes across all my scouting years.
  • As a Scout I want to organize my scout badges as clusters to show the themes of my scout accomplishments alongside with my other similar (non-scouting) accomplishments.
  • As a Scout I want to review the digital badges of someone I admire or someone further along the scouting path than myself. I want to identify the accomplishments of another, so I can follow a similar learning journey.
  • As a Leader I want to see the scouts have recognition for their accomplishments (both online and off).
  • As a Leader I want to assign badge completion and also award through information technology and the internet.
  • As a Leader I want to support the scout in promoting their accomplishments while not wearing their scout uniform.
  • As a Leader I want to display my Scouting accomplishments in Facebook and LinkedIn.
  • As an Observer (employer) I want to review a persons accomplishments to assess their character and work ethic.
  • As an Observer (parent) I want to encourage my child to have a healthy and strong online persona.
  • As an Observer (University recruiter / admissions) I want to get a view into a persons background and accomplishments outside of their academic accomplishments.
  • As an Observer (associate / new friend) I want to view a persons background.
  • As an Observer (friend) I want to have fun with other friends in sharing our personal accomplishments.

Monday, March 02, 2015

Key organizational items to grow Enterprise Architecture

I am increasingly thinking about what needs to be in place for an organization to be successful with Enterprise Architecture (EA). What I am focused on now could be considered pre-EA items, I believe good architecture can begin (and bring value) at any time within an organizations life-cycle. I also believe EA will be more effective if supported, and initiated, with the following items in place;
  • Project Management Office (PMO) - good project management goes a long, long way to ensuring project success. What is also important for EA in relationship to a PMO is how well the project portfolio (PPM) is managed. And how early in the project discovery the architect is engaged. The earlier the better.
    The Project Portfolio Management bicycle.
  • A strong voice at the senior management table - for enterprise architecture to have an impact across the organization it needs an advocate and technically knowledgeable voice in the senior management group. This will increase the success (and reduce the costs) for all IT initiatives.
  • Processes that encourage (even force) engagement by ALL project stakeholders - early engagement by ALL stakeholders is good! Seek them out! enough said.
  • A mindset to reduce duplication wherever is reasonable - look broadly across the organization and identify IT process, software applications, infrastructure, and practices that are duplicated. Work to reduce this duplication. Sometimes... different business domains have different requirements and duplication makes sense, this should be the exception.
I do recognized there is much much more to Enterprise Architecture, but I believe these are a few of the important practices that need to be in place sooner than later when encouraging a solid enterprise architecture practice.

Thursday, February 26, 2015

An Enterprise Architecture Elevator Pitch

"The Enterprise Architects business value is in building success through good design. This will vary from place-to-place (project-to-project), because the IT history, context, and organizations maturity will change. In the end, it is about improving an organizations return on IT investments through broad and intelligent information system design and proven architectural practices."

Ask the recipient(s) of the pitch to go for coffee...

BING - door slides open, pitch ends...

So what do I mean by those above three sentences?
  1. Business value, building success, good design? - properly designed IT architecture provides a set of technologies (process, features and infrastructure) that eases (and if I may be so bold, guarantees) project success. Project success (particularly when the project is aligned with strategy) adds business value. And the value comes through; being on schedule, staying to budget, shipping reliable systems, enabling business agility and innovation, being repeatable, streamlining process, providing information for decision making.
  2. Vary from place-to-place, history, context and maturity will change? WTF? - a good enterprise architect sees beyond the technology and recognizes that every business has a culture, and this culture is influenced, and perpetuated, by the organizations history, the context of the current architectural decision making, and the technical maturity of the organization (in particular, the senior personnel).
  3. In the end, return on investment, broad and intelligent design, proven practices? - the enterprise architect needs to prove influence over the end product of working software and systems. If they can't show how they add value in measurable ways, and have this as traceable, people will struggle with seeing the enterprise architects value toward the IT investments. The enterprise architects work needs to been seen as working across the organization, if there are groups left out, the technical debt created by an outlier and having to bring alignment will counter the savings attained through the good architecture. The practices need to be repeatable by other architects, this shows maturity, and maturity reduces chaos.


Thursday, February 19, 2015

How does the network see your personal brand?

Branding is important. It provides an external (or public) theme for endeavours; business endeavours, professional endeavours, organizational endeavours. Personal branding has become increasingly important in the networked age where the communications technology (read: Internet) reduces the barriers to promote and communicate brand, even personal brand.

How klout perceives me... https://klout.com/prawsthorne

I have gone through my personal branding exercise a few times in the past, and what I now find most interesting is what the feedback loop in my network sees as my brand... when I traverse the keywords/themes that myself and Google+, LinkedIn, Klout, and other social media have tagged to my respective profiles I am left with the personal branding of; Technology, Architecture, and Education. And my network brands me much stronger in the technology and architecture realms than the educational. I know this branding assessment is somewhat a self-fulfilling prophecy as I have been the one who has joined the groups, followed and friended the people and organizations, blogged about subjects, added keywords, created profiles, contributed to discussions, attended events (online or otherwise), etc, etc... but there are also data analytics going into all this. So by giving a broad sweep over ALL my connections to the network and paying attention to the keywords getting bubbled to the top by the network and the related analytics should give you an idea of how the network sees you.

How my linkedin endorsers perceive me... 

Am I OK with this? Absolutely!

Having a brand of; Technology, Architecture and Education? Does my data analysed network perceive the brand I would like to be perceived with? Absolutely! Most of my professional life, over the last 15 years, has focused upon enterprise and solution architecture. I am a technologist first, with proven successes in architecture. I am also an educator with experience as college and university faculty with a number of technology projects in the edtech realm, where I have increased access to education using technology innovation and solid architectural approaches.

How do you create, alter, and promote your personal brand?

This is where it gets interesting. How do you create, alter, and promote your personal brand? This is what I believe are the steps toward branding yourself;
  1. What would you like to be? What is your personal brand? Create a vision for yourself.
  2. Be that person. Even if you are not there, yet, be that person as best you can given the real world constraints.
  3. Set up a Personal Learning Network (PLN) in the subject areas of your personal brand. Read, research, participate, engage, become.
  4. Also use traditional approaches to learning, this will also help with building expertise and grow your network.
  5. Write and engage with the social network, be broad with your use of tools. It is amazing what you can learn online with a well designed personal learning approach.
  6. Be very public with your learning. Also leverage your existing expertise and blog and engage. Curate wikipedia pages or other knowledge bases in your chosen subject area. 
  7. Wherever you participate be sure your personal profiles are up to date within that social media.
What if you are already an expert and have an established personal brand?
  1. Keep going. Engage the communities and social media, share your knowledge.
  2. Push your life-long learning, add to your personal knowledge. Write about your learning, it is one of the best ways to commit the new knowledge to long-term memory.
  3. Continue to curate your shared knowledge across knowledge bases.
  4. Be a guest blogger and seek out opportunities to write for popular sites.
  5. Participate in online learning forums and MOOCs.
  6. Don't forget that publishing is not only written. There are many ways to share; YouTube, Slideshare, Google Docs, Podcasts, etc... be sure to attach the correct keywords.
  7. Tweet, Message, Promote... all good.
What if you want to alter your personal brand?
  1. Saturate your network with the content (created and/or shared) aligned with your brand change.
  2. Be very public with your learning toward the brand change. 
  3. Publish your existing and growing expertise.
  4. Participate as broadly as possible.
  5. Find the related online communities, engage.
  6. Curate the subjects within your this new subject domain.
  7. Create and add valuable new content.




Wednesday, February 18, 2015

Major Chords 4 Bass with Tabs

As the family band grows and improves I put together this one-pager for some of the major chords on bass guitar. I helps the boys as they pluck around with the bass, it adds another OER to the space, it helps me to deepen my understanding of the bass. All good.

Click this link for listing of major chords with tabs for bass

Tuesday, February 17, 2015

Business value and reducing IT duplication

Duplication of features is where I consider one of the easiest areas of IT architecture (enterprise or otherwise) to reduce cost and increase the business value of investments in IT and related technology architecture. In general, I take the view that architecture pays for itself (and then some) when brought into, or given greater influence toward, an organization. This post focuses on architectural duplication, the idea being that an organization has software systems or technical infrastructure that are duplicates of one another. Any piece of information technology (IT) has costs; these costs start at the decision making around acquiring (or building), and continue into implementation, and then exist over the life-cycle of the IT item. Some say the cost of maintaining software is as high as 80% over the life of a piece of software, either way maintaining software (bought or built) cost money and having duplication of systems or features increases these costs unnecessarily. I believe that any architect worth their salt, and working in a medium size organization or larger, can easily pay for their salary simply by reducing duplication and optimizing implementation to reduce licencing costs.

Identifying and reducing
What is the best way to identify duplication? Start with creating an inventory of all software and systems (yes, surprisingly not every organization does this). Make sure this inventory crosses all silos of the organization. Do the follow-up, talk with all stakeholders responsible for software, infrastructure, and related licensing. Create a spreadsheet, diagram, database, or whatever works best for you to visualize all the software, systems, etc... make sure you have a good written description of each. Be sure you can discuss the diagram in a vocabulary that each stakeholder understands. If you can get a sense of cost associated with each, get that information... reach out to the help-desk to get information of which systems require the greatest support, look into the ongoing data entry (duplicate or otherwise) costs, find out how many simultaneous users each system has, gather licensing costs. With all this information you should be able to identify duplication across the silos and within the software features. There will be duplication that can be "easily" removed or licensing schemes that can be adjusted.

Regardless of the cost in doing all this work, it will be less than the savings collected from reduced duplication and over-subscribed licensing.


-- If you want assistance with this or similar IT architecture initiatives feel free to contact me;
Peter, the pragmatic architect.

Saturday, February 14, 2015

Identifying the business value

Architecture or Enterprise Architecture can have a positive impact upon a business from many directions. The maturity available from architectural frameworks and processes (TOGAF, Zachman, Etc.) can assist greatly in bringing business value and increase an organizations nimbleness in aligning strategy with technology (innovation and otherwise). How you get started in improving the architecture / enterprise architecture is important. I have found that its about aligning the conversation of business value with the vocabulary found in the traditional architectural domains to make progress and technical improvement within an organization. Each organizations relationship to technology, and related processes, is different depending on its history with technology and how the technology has grown within the organization. This is a very important aspect of being successful with architecture, regardless of how mature an organization is in regards to architectural processes.

It's important to determine an organizations history and relationship to technology and architecture.

Meeting face-to-face is really important
Many technology people often defer back to emails, designing, documenting, coding, configuring, etc... and they could do well to meet stakeholders in more personal, and conversational, environments. Its about identifying the stakeholders and having the conversations. Having an understanding of each stakeholders history with technology, where they see the value, and the maturity of their technical vocabulary is the best place to get started when beginning a solution or enterprise architecture initiative. Knowing where each stakeholder sees the business value in a technology initiative is the best place to start.

When having stakeholder conversations be sure to have the EA domains and sub-domains in mind, take notes, get a good sense of each stakeholders knowledge within each domain. Where do they see the greatest value and the opportunities? As an architect to what level of technical vocabulary do you meet each stakeholder?

Now the business value can begin to be identified, using a shared vocabulary across the project, so architecture and related processes can support the strategy to build the value.

Friday, February 13, 2015

First Six Knots

I'm putting together a couple of evenings of activities for the cub scout group I am a leader. The focus will be on the tying and use of knots. Listed here are the six we will be working on.
  1. half-hitch - its a very basic knot, but shows up in lots of places
  2. figure eight - Good for giving something to hang on to, or for stopping a rope from running through a pulley or cleat.
  3. square knot - also known as a reef knot. Great for tying two lines (of the same type) together and for binding around a collection of objects or for reefing a sail.
  4. clove-hitch - a good knot for lashing things down or tying to a round post. I good adjustable knot.
  5. bowline - is used to make a loop at one end of a rope. 
  6. sheet bend - is used to fasten tow ropes of different types together.
Can you identify five of the six knots described above?
I am planning on having these activities over two evenings. The first evening will be an introduction to the basic knots (half-hitch, figure eight, square knot and clove hitch). Each participant will have a small section of 1" diameter wooden rod to tie their knots. The second evening will be the final two knots with a mock rescue.

Evening 1 - Demo's and knot tying basics

  1. Demo of four knots
  2. Break into sixes and have another leader based demo of the four knots (half-hitch, figure eight, square knot and clove hitch).
  3. Stay in sixes, each participant tie all four knots, assist each other.
  4. Stay in sixes, have race for who can tie knots the fastest.
  5. Have all sixes relay race for which group can tie all the knots the fastest
  6. Regroup as a pack, have review for what each knot is good for.
  7. Finish with a demo of bowline and sheet bend

Evening 2 - Two last knots and simulated rescue

  1. Review of last weeks four knots
  2. Demo of two last knots (bowline and sheet bend)
  3. Break into sixes and have another leader based demo of the two knots (bowline and sheet bend)
  4. Stay in sixes, each participant tie both new knots.
  5. Review of previous four knots.
  6. Tie all six knots
  7. Practice tying bowline around waste. Demonstrate one-handed bowline while holding rope.
  8. Re-group, leaders demonstrate simulated rescue.
  9. Have sixes relay race on simulated rescue.
  10. Regroup as pack, and review all the knots.

A good video looking at the six knots.

Thursday, January 15, 2015

Management Consulting Spokes

I'm excited about building upon an existing Community of Practice with focus on Management Consulting. I like that the community has been progressing well for the last three years and already has good alignment with corporate strategy and is mindful regarding its current expertise and capability. What I get to bring is my 25 years as an IT consultant, my history in building virtual and online community, and my belief that a well managed and open community benefits everyone; customers, the vendor, employees. and all those who stumble upon the online side of the community. I like that a healthy community brings strategic advantage for all the organizations engaged in the community.
The zedIT Solutions Management Consulting Practice Areas (Spokes)
The zedIT Management Consulting (IT MC) community has its Information Technology practice as its foundation. All of its management consulting offerings are grounded in zedIT's breadth, depth, and success with IT. This is to also provides a focus; the management consulting practice is to assist its clients be more successful with their information technology investment. It is NOT management consulting for human resources, financial management, business alignment, etc... even though these are an important part of IT consulting... the zedIT Solutions focus remains on being an IT management consulting practice. The seven spokes of the zedIT Solutions could be defined as the following; (keeping in mind that describing something in a single sentence, misses some of the detail and broadness of a consulting practice)
  1. IT Strategy - How can the Information Technology function provide maximum value for our business in the future?
  2. IT Performance - Does our IT operation meet its goals?
  3. IT Transformation - We are undergoing a major business transformation. What needs to done with Information Technology?
  4. IT Organization and Governance - Is the IT organization set up for success in achieving our objectives?
  5. Enterprise Architecture - Will our technology investments provide our organization with the most value in the long term?
  6. IT Risk Management - What do we require to protect our organization and our stakeholders/ shareholders?
  7. Organizational Change Management for IT - How do we ensure technology changes provide the anticipated ROI?

Tuesday, May 06, 2014

Big Data; Similarities and Differences

Compare and contrast; VLDB and Big Data.
I've been a data guy for over 25 years. My undergrad degree is in Technology with specialty in Database Management Systems (DBMS). The focus of my whole career has been on the data... I believe if the data is wrong (even just a small amount of it), most of the other related IT is pretty much useless and any reporting or analytics should be taken with more than a little skepticism. In my opinion, its all about the data, and it's correctness or accuracy. This has been a cornerstone to my career, all I do has elements of advocating for data quality.

I continue to be entrenched in data related projects. My current project is focused upon opening up Machine-to-Machine (M2M) data exchange using satellite networks and RESTful API's. Very cool and very relevant to open data / big data. I continue to work with and read about data (big and small)... but, I don't see that much has changed from the Very Large Database (VLDB) discussions of the past 40 years. Don't get me wrong; the amount of data has never been so big, the ability to process data has never been greater, the algorithms and models have matured, and the technologies to support big data have never been better. I see more similarities than differences when talking about big data when including references to VLDB and past data analytics.

This blog post sets out to describe the technologies and processes that support big data and how these are more similar than different to big data processing of the past and present. This post describes the accompanying image from its top to bottom; with descriptions provided for how I see the real world as related to data and the purpose of each step (or grey box) in the big data realm. I do believe that many of these boxes (or process) have remained the same in relation to the processing of data (big and large).

Real world
Sources of data
Data comes from many sources! It is good to keep in mind that every small amount of data can be collected when considering the entirety of data creation vs. data collection. As an example; data is created in massive quantities as every person moves through their day. Heart rate, body temperature, calories burned, eye movements, blood sugar levels, foods eaten, decisions made, walking pace, etc, etc... And all these data attributes change throughout each persons day. All of this and an massive number of other data attributes is what make up data creation in the real world. When you consider all this data is created by every person, every second of every day it becomes a massive amount of data creation. This example only includes people as the sample, data creation is even greater when every object on the planet could be considered as a data creator.
The point I am wanting to make is that in the real world there is a lot of data being created all the time, and only a small amount of it is actually being collected. What is being collected is already considerable and comes from a plethora of sources (and to consider this is only the beginning of data collection in an internet of everything world). This is a high level list in what I see as the current set of data creators / collectors;
  • log and event data - server logs, click-through events, page views, API's called, etc...
  • transactional data - traditional data processing systems across all industries / organizations / institutions.
  • multimedia data - movies, images, photographs, music, etc.
  • geolocation - latitude, longitude and other relevant location / movement data
  • unstructured data - unorganized or having no data model or pre-defined structure.
  • device data - data made available through small or handheld devices
  • sensor data - data coming from sensors attached to objects (remote or otherwise) - in time, this is where the greatest amount of data will originate.
  • streamed data - audio, video, astronomical, etc.
  • human data - data about people, in its broadest sense.
Collection
The methods of data collection have remained similar over the last 40 years (well, much longer, but...). I see data collection as capturing the details of a real world event and making it digital by recording the event using an electronic device. This capture occurs in many ways as described in the previous list of creators / collectors. The important part of collection is in consolidation, where the relevant data sources and attributes are identified and brought together (either physically or virtually) for processing. I do agree the greatest change for the current big data is the three V's of big data; volume, variety, and velocity. I do believe the collection methods are more similar than different over the past 40 years, they are just happening at greater volume, with more variety of sources, and coming into systems with a greater velocity.

Processing (ECTL)
Preparing the data
Processing is about getting the data from many different sources into a state and place where it can be analysed. I cut my data processing teeth with Extract, Transform and Load (ETL) work. I consider ETL as the harvester of data. I see processing as the consolidation of many a data sources by Extracting the data from the data collection systems, Transforming the data from these different sources so it will fit together, and then be Loaded it into a system (usually a data cube type technology) for analysis and reporting. As time progressed I began to include a data Cleanse into the traditional ETL process. Cleansing is about preparing the data for a greater transformation rate. Not all data can be transformed into a common data store, cleansing increases the success of the transformation. And once the processing is complete the raw (or originating) data may be discarded for results have been calculated or the meta-data determined. This discarding does not occur in all processing situations, but keep in mind the end result of processing may be cleansed and transformed raw data or some amount of calculated or meta-data. Again, I don't see this has changed much over the last 40 years, except for the increase in volume, variety, and velocity. The methods and approaches remain the same...

Storage
Storage is where the data resides after it has been captured and processed. This may occur in real-time and reside in an in-memory storage rather than physically stored on a disk or other solid-state device. The data may also reside in an Operational Data Store (ODS), in a Data Warehouse (DWHS), in files, or as raw data. The storage may be long-term or short-term, there does need to be a place for the data to be stored so it can be analysed and used for calculating results or developing insights. I do see storage as being one of the areas creating differences in the way big or very large data is stored, processed, and analysed. In the past, data needed to be stored to a physical device, like disk. But now virtual memory is large enough, at a reasonable cost, where storage approaches are allowing the database (storage) to be entirely in-memory. This can fundamentally change how large volumes of data can be processed, and how database technology is implemented. The traditional row-locking database is no longer required as the latency created by disk input / output (IO) no longer exists when the whole data store can be in-memory. The approach to database technology design can fundamentally change without needing to manage the issues of on-disk storage as a part of the traditional database.

Exploratory Data Analysis
Once you have your data all in one place (or as you are bringing the data together in one place, Storage) you can start with Exploratory Data Analysis (EDA). I think of this as play; laying all the data out on the table and looking at it from different perspectives, flipping it around, stacking it in different ways, molding it into the shapes that it can stay in. Using tools and techniques designed and developed to begin sense-making with the data collected. Remember, its exploratory. And other than the wonderful new technologies (or tools) that have emerged recently, the approaches to EDA haven't changed that much over the last 40 years.

Data Cubes / Multi-dimensional Cubes
I like cubes, particularly multi-dimensional cubes. Always have, even as merged data sets. There is something that makes sense to me in regards to loading related data sets into a technology that builds insight into the data relationships. Online Analytical Processing (OLAP) is a multidimensional analysis approach that has been around also for 40 years.

I do see EDA and OLAP as similar, but I believe the tools and techniques available to (or developed for) EDA as broader and deeper than the tools and techniques associated with OLAP.

Bringing intelligence to the data

Business Intelligence / Data Analysis
The term business intelligence always fascinates me for historical reasons; it is well described how the term was first articulated over 150 years ago. The idea of bringing together disparate sources of "large" data for competitive business advantage isn't new. What is relatively new (last 60 years or so) is the use of computers and digital data storage for the processing and analysis. I do consider business intelligence and data analysis was born out of the data warehousing stream of big data and a lot of the algorithms and statistical models will find there data processing roots in traditional large data initiatives. I consider machine learning the new comer in the big data realm, for it is only until recently that the volume of data and the commodity priced hardware, software capacity, etc. has created the thinking / need behind machine learning.

Machine Learning, Algorithms, Statistical Models
I see the troika of machine learning, algorithms, statistical model as the intelligence side of "big data". Collectively the three hyper-links in the previous sentence give great descriptions of these three parts of deriving intelligence and knowledge from data. The big part of these three is that they automate the creation of the "intelligence", they allow data to be consumed and then "knowledge" created so decisions can be made in real-time (by the computer, or network; depending how you look at it) to impact the way further information is presented.

It is important to note that machine learning, algorithms, statistical models (as indicated by the data flow arrows) often get data directly from storage (real-time or otherwise) and don't include the EDA step. This is often due to once data and its sources are understood no more exploration is required and the data can be accessed directly for intelligent processing.

Data Product
A data product is information (precise or otherwise) that has been derived from Business Intelligence, Data Analysis, Machine Learning, Algorithms, or Statistical Models. These products can be added to the attributes of another product or be used to focus a decision or alter a user experience to better suit the specific viewer. In its simplest terms; a data product is what is harvested from your Google search terms to display focused and specific adds on your views of subsequent (and seemingly unrelated) web pages.

http://selection.datavisualization.ch/
Reporting, Dashboards, Visualizations, and Communications
One of the areas where I continue to be amazed is the growth and innovation within the graphical representation approaches to displaying data. A look into some of the open source frameworks will amaze - a look at the D3.js library is an excellent example. I believe their are four main aspects to rendering data, these are;
  • Reporting - I consider reporting to be text or graphical documents (printed or otherwise), spreadsheets, emails, etc. that report on information or knowledge derived from the processing of data. 
  • Dashboards - I consider dashboards as the digital single page rendering of current an important decisions for the day-to-day activities of a business, enterprise, organization, etc...
  • Visualizations - the graphical visualizations of processed data 
  • Communications - outbound communications derived from data processing can be in many different forms. Using rich media and emerging technologies to increase variety, frequency and management of communication channels can assist with big data efforts.
Decisions
Decision differ from data products as they are cognitive / intelligent activities done by people. They use the reports, dashboards, visualizations and communications with provide the knowledge to make informed decisions. All of the steps in gathering, processing, and analyzing the data down the right side of the image leads to supporting the human activity of decision making. Even though the process are similar within big data and traditional large data the end product in the traditional is most often as input to people, where the big data side creates data products used by machines / computers.

Similarities and Differences
I dislike using percentages to indicate differences, but; I would say that the tools, techniques, and approaches to big data compared to traditional large data is > 80%, where there is an 80% similarity between the two. Over the last 40 years big data has been present (under different names) and used in decision making, research, science, etc... The tools, techniques, and approaches are a trajectory that has build upon what has happened in the past; So what we have today with big data has built upon many technologies and techniques developed over the past 40 or more years.

Saturday, May 03, 2014

The St. John's NL 40 million population

I was inspired by a conversation I had earlier this week. Actually I was inspired by many conversations this week. A really great week all around. One of the great conversations was about the size of the St. John's NL business marketplace as it is associated with what is within reach by a single hop flight. Well... I consider the St. John's population to be over 40 million and includes two of the largest business cities on the planet (London & New York).

http://stjohnsairport.com/wp-content/uploads/2018/01/SJIAA-Route-Map-Jan-2018-edit.jpg
So when looking at the direct flights available from St. John's and consider the cumulative population of these cities [ London (12.6 million), New York (19.1 million), Toronto (6.4 million), Montreal (3.8 million) ] and their collective global financial influence, the market for St. John's is massive and with solid financial footings.

If you are growing a business or thinking about starting a business in St. John's (or any city within single hop flight of your own city) the market is a lot bigger than you think. So maybe shift how you perceive your market, reach out across your cities direct flights, consider what is at the other end, and book some flights. Use the global communications network to your advantage, visit each of these cities on a regular basis, budget for it in your business planning. Given the St. John's mid-Atlantic location, the future is indeed bright!

Managed Endorsements

I'm approaching my 10th anniversary on LinkedIn and I have found it a magnificent record of my professional life. The fact that it is published to the web is a positive side benefit. Surprisingly (or maybe not), I use it as my system of record for my professional life. When I enter into situation that may require a resume, the first thing I do is I make sure my LinkedIn profile is up to date. And I make updates to my resume reconciled against my LinkedIn profile. It is the easiest and best organized place to keep my professional profile information.


So when a past associate from Mozilla pointed to the year old blog post about "empty endorsements" I started reflecting about how I disagree with this. Don't get me wrong, I have the utmost respect of the work done by Erin and Alex. And the world is a whole lot better place because they are in it. As we move further into our digital, connected, and social media lives... the idea of online or digital endorsement becomes increasingly important. And staying connected with people is our connected knowledge (*we store our knowledge in our friends*); and really over a life well lived we don't know when things will come full circle. So staying connected to people in multiple ways, and acknowledging (or endorsing) a persons skills or knowledge you are familiar is the right thing to do. I do know I recently endorsed Erin for her leadership skills. I didn't do this lightly, I was mindful when I did it. I spoke with Erin a number of times during my time with Mozilla and I observed how she led a group, she is a good leader. So when I was prompted by LinkedIn (an option she has chosen to use) on a skill she has included with her profile, I thought about it and made the endorsement. From my experience, I will always consider Erin a good leader. If Erin (or anyone) truly believes LinkedIn endorsements are empty, I will politely suggest they turn off the ability to be endorsed.



From my perspective my LinkedIn endorsements are not empty, either given or received. They could be if I wasn't mindful when I gave an endorsement, or didn't consider which endorsements I displayed. (I regularly prune / update my online profiles). I believe in social media and paying it forward. I believe our personal reputations are an accumulation of all our contributions, recommendations, endorsements, badges, interactions, etc... across all the locations we participate and contribute online (and more importantly, offline).

Tuesday, April 15, 2014

Virtual Community of Practice User Stories

I continue to explore the conundrum of "How do you build a Community of Practice in a closed environment where you can't reach out due to client confidentiality?" The background to this can be found in my previous post titled "Virtual Community of Practice Conundrum". In this post I list what I consider to be the user stories for this cross-boundary community of practice. The purpose of these stories is so we can design the technical infrastructure to facilitate such a community. But first we need to identify the community needs using non-technical terms.
User Roles
I see three primary user roles in which to base the user stories, these are;
  1. Steward - this role provides stewardship (and administration, when necessary) of the community. They are usually community members who mostly have an eye to keeping to community healthy and active. Sometimes they take on an administrative role when technical issues arise.
  2. Member - someone who participates by contributing and engaging with the community. This participation can come in many forms; leading discussions, adding rich media content, organizing companion face-to-face activities, speaking up and adding to discussion, linking to relevant and related materials, using the community hashtag, and consuming content from multiple devices.
  3. Lurker - someone who consumes the community content from many of their devices, yet never participates by contributing content. Don't underestimate the value of lurkers to your community!
User Stories
This is the set of user stories I have identified for the community of practice which crosses organizational boundaries while also honoring client confidentiality. Please feel free to add others as comments to this blog post...
  • As a member I want to participate in community discussion.
  • As a member I want to learn new things regarding the communities subject domain.
  • As a member I want a way to pull notifications.
  • As a member I want to be able to block notifications.
  • As a member I want to add content (text, images, video, presentations, etc) to the community.
  • As a member I want to link to external resources.
  • As a member I want to share openly without violating client confidentiality.
  • As a member I want a profile page or ability to link to a profile page so people can get to know me.
  • As a member I want to invite friends and peers to the community.
  • As a member I want a way to reach out to other members.
  • As a member I'd like multiple ways to participate (even face-to-face...)
  • As a lurker I want to view community content across all my devices.
  • As a lurker I want my read-only participation to remain anonymous.
  • As a lurker I want to have the ability to become a participating member.
  • As a lurker I'd like multiple ways to participate (even only a spectator)
  • As a steward I want a way to push notifications to community members.
  • As a steward I want to prevent confidential information entering the community.
  • As a steward I want to remove content and block members who are adding inappropriate content (ie. spam, adult content, sales information, self promotion).
  • As a steward I want to reduce internet trolls.
  • As a steward I want a common hashtag(s) for the community.

Monday, April 14, 2014

Virtual Community of Practice Conundrum

-- T L D R ----------------

What do you need to consider when building a Community of Practice (CoP) that spans organizational boundaries where client confidentiality needs to be honored. There are a plethora of things to be considered when building an online (virtual) community of practice, these include; the team and the contexts' relationship with openness, the memberships ability to be self-determined, how online communication will be broadened and followed, and how the internet is the platform.

----------------------------

How does a Community of Practice (CoP) steward itself across organizational boundaries? What are the requirements and restraints to successfully build a CoP when openness and confidentiality are in conflict with one another? What technology platforms support a closed virtual learning community but can integrate with a busy and confidential work-schedule? Can you leverage all the innovative social media technologies, which can be very well applied to learning (CoP), from a closed virtual community? This series of blog posts sets out to answer many of the questions... but first,

Some background
I've been building Communities of Practice (CoP) for over 10 years. It started during my M.Ed where I was bringing together 15 years of professional technology experience with 10 years of college level teaching and online learning. I now see my skills and knowledge being well applied with building large complex information technology systems and being a seasoned educational technologist. I also believe it is important to provide some of my personal background, beliefs, and experience on the subject of CoP. What I believe is particularly relevant to this post is my time spent with both open projects and corporate enterprise projects. These projects include; Mozilla, Mediawiki, WikiEducator, Wikiversity, P2Pu, Bowen eGovernment, UNESCO, Open Data, CLEBC, ICBC, Commonwealth of Learning, and other smaller projects. This experience has exposed me to open democracies, open spaces, open communities, open boards of directors, open, open, open. Where the sharing of information is crazy transparent and all meetings are open to everyone. This experience has also exposed me to large enterprises; closed, locked-down, proprietary, and obfuscated information exchanges. Having other people filter information is the standard practice in many of these other closed type organizations. My work has occurred at the extremes of both of these types of organizations, but also, much of my work has happened in the middle ground. From all this it is my belief that open communication is better than the alternative; particularly, when wanting to encourage learning or when building a community of practice. It is best to let employees be their own filters of information, and exchanging information helps everyone learn. The current and emerging pedagogical approaches also supports openness vs. closed. I believe it is important for learners working within a CoP to be able to reach out to the larger community and draw in resources from these other external communities.

Some history (or key technologies)
What do I consider the key information technologies and attributes of learning communities that have emerged over the last 20 years and have the biggest impact on virtual and online learning communities of practice?
  • Communities of Practice - obviously the work of Étienne Wenger is big here. The idea that "most learning does not take place with the master, it takes place among the apprentices" IMO is important to building a virtual learning community.
  • Open Approaches - Open Space, Open Leadership, Open Data, Open Etc... In my opinion, and experience, openness is very important to learning and in successfully building a community of practice. New people, new opinions, ongoing mentorship and peer learning needs to be refreshed. Without openness it becomes closed and stagnant. I have yet to experience a CoP that remains active beyond a year without having new people involved and ideas coming in from outside the group. Openness is key.
  • Autodidactism / Heutogogy - Participants in CoP need to be self-determined learners. This means you can just lurk in a community, at some point you need to participate. It is the internal commitment to learning in the subject domain that must come first. Then participation in the community becomes part of the self-determined learning. In my opinion this is one of the keys to a valuable CoP. The commitment level of the members.
  • Visual Communication - People need to share through a variety of mediums, this should not be restrained within the CoP. Often the results of a visual meeting (or otherwise) can be shared for record keeping, review and to prompt further discussion, etc...
  • Social Media - social media is not social learning, but it is important in building community and allowing people to participate online where they want and when they want.
  • Tagging - social tagging can be an excellent way to draw a community together by allowing members to share there learning and related reference materials across different social media platforms.
  • Platforms - having an online place to host the community is essential. But given a solid tagging approach this doesn't have to be a traditional platform, it could be the internet as a whole. What is important is that it is accessible by everyone - from everywhere, on any device. In the end, you need to consider the whole internet as the platform.
Some assumptions
Most learning occurs outside of traditional approaches, it occurs 24 hours a day, and is a continuous activity that includes (and should not be limited too) the use of open social media tools. A community of practice is social learning and is further enhanced with access to online and virtual communities. Blended learning is important, as face-to-face time (when available) should be encouraged. Even if the face time is among a sub-set of the community members.
Being a self-determined learner is important as it provides the intrinsic motivation to deepen the engagement within the CoP. It is a valid amount of participation to only lurk within the CoP, but there does come a point where members need to dive in and participate. Learning will be deeper and broader, but the motivation needs to be there. And most often for long term commitment to participate comes from an intrinsic motivation.

The conundrum
How do you build a Community of Practice in a closed environment where you can't reach out due to client confidentiality?

In the next post on this theme we will discuss the requirements of a community of practice where client confidentiality is key. The thinking being if we can correctly identify the requirements, we will then be able to identify a platform best suited to cross organizational boundaries.

Thursday, January 02, 2014

Proposed ACAITA Event Schedule

Thursday January 16th Lunchtime
Location: 1:00 - 2:30 pm Erin's Pub
Agenda: 
- Roles of the IT Architect
- Approaches to building the ACAITA

Thursday January 30th Online 
Location: Google Hangout
Agenda: 
- Professional Development of the IT Architect
- Approaches to building the ACAITA

Thursday February 13th Lunchtime
Location: TBD
Agenda: 
- Certification paths available to the IT Architect
- Managing complexity within IT Architecture

Thursday February 27th Online 
Location: Google Hangout
Agenda: 
- Certification paths available to the IT Architect
- Teamwork among the Solution and Enterprise Architects
- in other words: Roles and Responsibilities of the Solution and Enterprise Architects

Basic Vertically Aligned Synergistically
Partitioned (VASP) Architecture
Thursday March 13th Evening
Location: Erin's Pub
Agenda: 
- Impact of Open Source on IT Architecture
- Professional Development of the IT Architect
- Approaches to building the ACAITA

Thursday March 27th Online
Location: Google Hangout
Agenda: 
- Discussion / Review of the Snowman Architecture
Approaches to building the ACAITA

Monday, December 09, 2013

Inaugural ACAITA Google Hangout

The community building continues. Next week we have the inaugural ACAITA Google Hangout. This will be the first of many Google Hangouts with the focus this month being in how to build the community and how to reach-out to related professional associations within Atlantic Canada.

EVENT DETAILS:
Time: 8:00 pm - 9:30 pm NL time
Date: December 19th, 2013
Location: Online - https://plus.google.com/events/c3gcdv4qdefgbfjaljjmqg8cn0k

AGENDA:
  1. Welcome and brief introductions
  2. Architectural Groups and Frameworks
  3. Professional development opportunities
  4. Where do we want ACAITA to go?
  5. Community building approaches
  6. Reaching out to Atlantic Canadian IT Professionals
  7. Other (make suggestions)

Thursday, December 05, 2013

ACAITA Next Steps

Inaugural meeting of the ACAITA started with humble beginnings. I found myself in the Georgetown Pub all alone... Seriously, for a couple of minutes I was in the Pub all alone, even the bar maid went out for a smoke!

This free time being alone provided me an opportunity to reflect upon some of the amazing feedback I have received in starting an IT focused Architectural Association in Atlantic Canada. Here is a brief summary;
  • Have daytime meetings... Atlantic Canada IT professionals are much more likely to participate in professional type events during the day.
  • Don't start an association in December... The Atlantic Canadians are focused on family and December is a month of family and friends.
  • Use online tools like Google Hangouts more frequently... people are interested in participating, getting together face-to-face creates a huge barrier. Particularly for those who don't live downtown St. John's.
  • Be patient, people express interest... but actually getting them out to participate is difficult.
  • Some people are willing to put in considerable effort in supporting this idea. They will make introductions and reach out with very relevant resources. 
  • I have had 14 serious inquiries from three of four Atlantic Provinces and the traffic coming into my blog posts on the idea is well over 400 views.
Even though I am alone in the Georgetown Pub, I am still very encouraged by the interest I have had in the idea...

Next Steps;

  1. Continue to build community.
  2. Have face-to-face meetings downtown during the day.
  3. Prepare for online hangouts. Consider having themes with speakers.
  4. Reach-back to experts offering assistance.
  5. Keep the vision, hold the space!

Tuesday, December 03, 2013

Inaugural ACAITA meeting

On Thursday December 5th we have the inaugural meeting for the Atlantic Canada Association of IT Architects (ACAITA). We really are at the beginning of the formation of the group... so far I have been surprised by the response. We have five people committed to the first meeting at the Georgetown pub, and a whole lot of interest from Atlantic Canada. All counted over 10 people have contacted me expressing interest in and supporting the idea of Atlantic Canada Association of IT Architects (ACAITA). To get more details of the meeting look to the meetup invite. The meeting agenda covers the following themes;

Introductions
I hope we all take the time to introduce ourselves to each other. Reach out... enjoy the company of the others who are leaning toward IT architecture.

Frameworks
There are way more architecture frameworks than most people are aware of. The ISO Architecture group has put together an excellent list of frameworks which can be found here. The two frameworks I find most useful, are;
  • TOGAF - an Open Group Standard, is a proven Enterprise Architecture methodology and framework used by the world's leading organizations to improve business efficiency.
  • Zachman - The Zachman Framework™ is a schema best understood by reading many of the artifacts made available by Zachman International.
Groups
There are a number of groups, professional associations, etc. involved with developing and forwarding the practice of IT architecture. The ones I see most important to developing an IT Architecture association are as follows; (I am open to discussing more than these five groups when it comes to how we align the association, everything that deepens architectural understanding is good for all of us).
  1. IASA - An association for all IT Architects
  2. OpenGroup - Vendor neutral IT standards and certifications
  3. EAE - Association of Enterprise Architects
  4. EACOE - Enterprise Architecture Centre of Excellence
  5. FEAC - Training and Certification Institution for Enterprise Architects
  6. ISC - Vendor-neutral education products, career services, and Gold Standard credentials to professionals.
Roles of the Architect
There are many roles for the IT Architect. And they all have a place in getting projects to finished... When you read over the different group sites (above) you will begin to get a sense there are a lot of definitions for architects. Listed below are how I see the collection of different architecture role definitions.

  • Solution Architect - focused on the architecture for a particular solution built to meet a defined business need and / or business strategy.
  • Enterprise Architect - aligning IT architecture with business strategy. More focused on governance.
  • Application Architect - specifying the architecture for a particular software application. Differs from Solution Architect in that the application is for a specific business domain, where the solution architect is focused on a business need and evaluates many applications to fulfill the need.
  • Component Architect - designs and architects complex and mission critical software components.
  • Technical Architect - takes on the technically challenging aspects of engineering a software solution. Optimizes the design for reuse, performance, etc.
  • Database Architect - specializes in architecting data storage solutions.
  • Infrastructure Architect - focused on the server, networking and infrastructure architecture.
  • Security Architect - focused upon all things security within IT.
  • Information Architect - organizing and architecting information for usability.
  • Business Architect - plays a key part in shaping and fostering continuous improvement, business transformation business innovation initiatives.
Next Steps 
  1. Growing the Community. 
  2. Preparing for the Google Hangout.
  3. Other
See everyone at the Georgetown Pub, 8:00 pm, Thursday December 5th...