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