Showing posts with label dirofit. Show all posts
Showing posts with label dirofit. Show all posts

Friday, January 19, 2018

Career success in three year cycles

My career seems to go in three year cycles. I've given up trying to determine if this is my unconscious doing or my skills and knowledge lend themselves very well to successful three year project life-cycles. Either way, I'm 35 years into a successful technology career and another three year cycle is coming to an end. And I'm very excited with what is coming! Before I get into the details of the most recent cycle I went back over my past 12 years of blogging to get a sense of my working ebbs and flows, and to confirm my three year cycle theory. The past four, three year cycles also seem to swing from being an employee to working on startups and as a consultant;

My most recent three year cycle has been with Provincial Aerospace (PAL) in St. John's Newfoundland. It has been a fantastic and exhausting three years. If I was to pick a few themes, they would be; team building, shipping software, quality management, and an acquisition. So what do I consider my achievements over the past three years and where do I best give thanks. In giving thanks, I will not be calling people out by name - they know who they are.
  1. Team Alignment
  2. When I joined PAL there was so much raw software engineering power with good team trust and camaraderie that my focus immediately moved from team building and skills development to team alignment and clearing the way for their success. And successful they were! We got to the point where every customer was very satisfied and we had solved some lingering and potentially expensive issues.
    Special Thanks: I want to give thanks to PAL senior management for being patient, keeping the team together, and trusting me to start shipping software. It took some time, we had to clean up some minor releases and complete a significantly complicated major release with a very broad deployment scope.
    • SED Team
    • What is most important here is the team was solid within itself as a software engineering team. They had very good end-to-end practices and audit proof trace-ability. The organization as a whole struggled with getting software out to the production environments due to many factors. Keeping in mind deployment is beyond the responsibility of the software engineering team and we had to deploy into highly secure customer networks in very rugged environments. Once we had a realistic schedule the team held the vision for success and delivered.
      Special Thanks: I want to give thanks to our project manager who is insanely detailed in the best of ways and the team for not only building quality code, but taking on the quality assurance roles for each others work. 
    • Business Intelligence Team
    • Innovation within a strong corporate culture can be hard and an organization will struggle to understand a team with a different rhythm and dance step. And the pressure for the team to align itself back with the corporate rhythm will be ever present and an effort to avoid. If you want innovation you need to allow teams to dance a different step, and allow them to master their new dance. We built a scrum - agile data analytics / business intelligence team from an exceptional group of transactional developers used to a more waterfall type development approach. It took us 12 months (which I consider a short time) to have a performing group of analytics and intelligence developers who ship new data dimensions in a sprint cycle time of 4 - 6 weeks.
      Special Thanks: I want to give thanks to the whole team for deeply embracing the learning toward becoming knowledgeable analytics developers. With the ability to analyse, design, develop, and deploy for multidimensional data from a plethora of different data sources. I want to thank the scrum master for holding the vision toward the value scrum would bring. I want to give thanks to the business intelligence consultant we brought in for the first six months of the project, they did an excellent job of leading by example and transferring the knowledge required to get the team more than started. I again want to give thanks to PAL senior management for being patient, keeping the team together, and trusting that the data dimensions will come and the team would exceed the targeted number of KPI's.

  3. Shipping Software
  4. Shipping software can be really hard or it can be simple and repeatable. Shipping and deploying software has become an understood and well managed process as the practices have built toward Agile approaches and DevOps over the last 10 - 15 years. The time of failed non-deployed projects should be a thing of the past. If its not, you should either; clear house at the senior leadership level or send everyone to upgrade their literacy of how to provide leadership to software and technology development.
    Special Thanks: I want to give thanks to the team leadership who came before me. The use of Microsoft TFS within the SDLC made team alignment really easy. I also want to give thanks to the team for adapting so well to adopting more agile and devops type approaches. I may have cleared the way, but the team did the real work!
    • IDNS 2.x (ADAM8 and SIS)
    • This was an eighteen month project that included many major features within its release scope. The main considerations for the project were;
      1. the schedule restraints [we could NOT go-live to production during iceberg-season (Feb - June)]
      2. the breadth of the feature set we were delivering included;
        • Increased security constraints
        • Service Orientation
        • Directory Integration
        • Content Management
        • Geo-referencing with advanced search
        • Off-shore client deployment
        • Legacy application support
      3. deploying to a new data center and multi-server architecture.
      4. Having two versions run in parallel for an ice-season to allow for comprehensive testing and customer network / security integration.
      Special Thanks: I want to give thanks to everyone involved with this project to hold the vision and getting to finished. We exceeded expectations. I'd also like to give thanks to the IT department for building out the infrastructure, owning the active directory deployment, and being sure we are secure to the levels required by our customers.
    • Business Intelligence - Data Analytics
    • We started to ship software as releases of new data dimensions (or clusters of key performance indicators). Once we had the basic infrastructure in place with the beginnings of the Extract, Cleanse, Transform, and Load (ECTL), data marts and warehouse we moved into using a scrum type approach to ship new dimensions out of each sprint. This worked well as it gave a reasonable velocity to complete a set of deliverables and then have retrospectives for learning. The team shipped 12 cubes with consistent and interval data refresh which took data from three distinct and distributed data sources. The challenge going forward for the team is in assisting the product owners and subject matter experts in leveraging all the cubes into dashboards and analytics.
      Special Thanks: I want to give thanks to the team for putting in the extra effort from being on a steep learning curve and focusing on the delivery of data cubes as our measure for success. I want to recognize the commitment of our senior developer in being a learning machine of the business intelligence and  data analytics subject domain. I want to give thanks for our DBA taking on all the system and database level tasks to make the project a success.

  5. Quality Management
  6. I'm a strong believer that good software quality management (QMS) brings significant business value. The value comes from; being able to ship software on schedule and on budget, more easily integrating new and unexpected features, ease in adding and training new team members into well known process', and the ability to easily address the scrutiny from customers, auditors, and potential investors. Our team regularly exceeded the procedures and practices within our quality management system and much of our success was due to this rigor.
    Special Thanks: I want to give thanks to the PAL director of quality, she saw beyond the business of quality certification and her enthusiasm for quality made us all better. I want to again give thanks to our project manager; her commitment to process, record keeping, and traceability is a thing to behold.
    • Rock solid processes
    • We were fortunate to have developed an end-to-end SDLC process that was reflected in our use of Microsoft TFS. The team was committed to following the process' and we passed all our insanely rigorous ISO audits. We were continuously improving our process' to better suit a more effective and efficient SDLC. We adjusted our QMS to our practices, rather than adjust our practices to our QMS. And our adjustment followed solid change management practices.
      Special Thanks: I want to give thanks to the software engineering groups leadership team for being willing to continuously improve our SDLC as it was reflected within our QMS, and vice-versa. I want to give thanks to the team for following our practices. I want to give thanks to the auditor for providing candid feedback and encouragement to make change within our ISO certification.
    • Traceability
    • Having the ability to see an idea through to working software is an accomplishment. Having evidence of how the idea became working software, from an auditors perspective, is a thing of beauty.
    • Multiple Successful ISO audits 
    • Special Thanks: I want to give thanks to all those who participated in our ISO audits. They can be stressful, but for us we embraced them and used them for our continuous improvement.

  7. An Acquisition
  8. I feel very fortunate to have had an amazing 35 years working within the technology realm. I've written a lot of code, tuned my share of databases, managed a number of talented teams, architected working solutions that are used daily across Canada and around the world, and held leadership roles with amazing peers. I have had my share of working with startups as an employee, shareholder, and outsider performing technical due diligence. My 30 years in the Vancouver technology scene included working with angel investors and VC's to perform technical due diligence to provide them much needed information. During my time at Provincial Aerospace I was asked to again perform technical due diligence for the PAL acquisition of CarteNav. What made this different is it the first time I did it as an employee of the acquiring company. And fortunately I became a member of CarteNav senior team after the acquisition. This allowed me to see firsthand some of the success and challenges that happen during the first 18 months after an acquisition. Such a great professional experience.
    Special Thanks: I want to give thanks to senior management for giving me the opportunity to see an acquisition from the other side. It confirms that acquisitions success are about cultural integration during the months that follow. I also want to give thanks to the top tier consulting firm that confirmed my due diligence findings, and were very focused and gracious. I want to give thanks to the CarteNav leadership team (and all the CarteNav employees) for being so welcoming and working so hard through the challenges that come with any acquisition.
So there you have it, a reasonable summary of the standout themes from my last three years working with Provincial Aerospace. My next adventure begins... more on this to come. Be well...

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.


Tuesday, February 19, 2013

Peter Rawsthorne's Career Narrative

Family on Quiniscoe Summit, 2551 m
I really do love to build and integrate software solutions, particularly internet solutions. And the more information sources and distribution, the better. I am truly invigorated when building solutions that take the complexity of a well thought out business strategy and create kicking customer facing internet portals. I also get jazzed when the solution directly supports the business' back-end processes so the business can be smarter and more nimble. If there is uncertainty around strategy due to the project being a start-up idea (or wild-ass dream), I can proceed with experience using agile and lean approaches. I can create a project heartbeat where we ship regularly with focus on customer need and successes. This is all fun for me, and if all this falls within the knowledge management or adult education domain, all the better.

Over the last 23 years I have occupied almost every role within the development of information technology software and internet solutions; I've worked as a programmer, a database administrator and solutions architect, through to manager of information technology. I have been successful in large organizations, in small internet start-ups, and many organizations in between. I feel it is a great accomplishment that I can bring projects to completion regardless of when I join the project and within any technical or leadership capacity. I believe it is important to finish the things we start.

I am excited about opportunities with medium sized organizations and consulting firms who are looking to innovate their business through information and internet technology or assist others in improving their business through technology innovation. My experience and education would have me in the role of senior solutions architect, consultant, or director of information technology.

If you have an interest in working together please do not hesitate to contact me; peter AT rawsthorne DOT org.

If you want to view my career history my linked in profile is a great place to start; http://www.linkedin.com/in/prawsthorne

Tuesday, February 07, 2012

Technology learning for the C-level, and others

I'm taking a very learner centered approach to the migration of my websites to my rackspace cloud instance. Given my background as a solutions architect, software developer and adult educator I have four main themes for the build out of my websites;
  1. To build on ideas slowly and comprehensively to assist learners following along; regardless of their technology background.
  2. Reflect upon each lessons outcomes and describe their business importance from a C-level perspective.
  3. Build all the websites following the mobile MVC three-tier architecture I described previously. And make all source code available as sample code.
  4. Serve as an example for my Agile Learner Design approach for adult self-directed learners.
What I believe very important is the learning resources are designed to be easily understood so everyone can get an understanding of how mobile web applications are put together. I believe their is strong business rationale for many technical implementations. These learning resources will also reflect upon where the business fits within the technical decision.

Saturday, January 14, 2012

Hire Me

After three years of recent project successes and an amazing adventure in Thailand with family I am back to Vancouver and looking for work. I am looking for short to medium term contractual opportunities as Director of IT or Enterprise / Solutions Architect.
  • My strength is to leverage my 25 years of IT experience in bringing complicated technical projects to completion. Regardless of when I join the project.
  • I am at my best as Enterprise / Solutions Architect,  Director of IT or Technology Focused Project Manager. Though I can take on a large number of technical roles as the project need arises.
  • I am looking for projects that will assist in making the world a better place by bringing balance and equality to all things.
If you have a technology team or project and want to get to finished, I can help you get there. I can start immediately and am willing to work both from home and in your office. The best way to get a sense of my professional abilities and my project successes is to visit my linkedin profile and my technology focused blog.

Sincerely,

Peter Rawsthorne

Thursday, January 05, 2012

The implementation of AID

I have many examples of using Agile Instructional Design (AID) over the last five years. Approaching my learning design using agile techniques is just what I do. This approach was developed by combining my 10 years experience using Agile software development techniques, my years of being an adult educator (both on-line and off) and my graduate studies in education and information technology. Whenever I take on instructional design / learning systems architecture projects I use agile techniques. Below is a list of project that I believe provide excellent examples of AID or have benefited from Agile techniques to get to completion.

Examples of Agile Instructional Design 

Personal examples
I am always looking for opportunities to learn. These become learning projects both big and small. My focus is in three main areas; (though I wont turn away from an opportunity that emerges).
  1. Folk music and dance
  2. Adult learning approaches and practices
  3. Learning Systems Architecture / Software Architecture
I follow through on all steps within AID with these personal learning projects. I envision the journey, I plan my approach, I build content and context, I test and review my materials, I assess my depth of learning, I stabilize the end result and I deploy and engage all materials I create during my learning. I iterate often when I am on a learning journey.

All of this activity can been seen across my blogs, wikis, social media, discussion engagements, etc. The best way to follow along or review what I have done is by reading my blog or drilling down on the links found within many of my projects.

WikiEducator
WikiEducator is an exemplar for using AID when building a community of practice. There was no official ID methodology when WikiEducator was founded or as the learning content continues to be built. The people who learn most from working within WikiEducator are the learner participants who are using, reusing and building content (this supports the AID idea that learners are the Instructional Designers). When considering the AID steps they have been applied very well within WIkiEducator. This was not by design, but by what worked best for this dynamic learning community working toward building free learning content for the commonwealth countries. WikiEducator was envisioned and continues to be evangelized by Wayne Macintosh who, working with the Commonwealth of Learning, founded WikiEducator. The building of WikiEducator has been very iterative and has, not by design, followed the Agile Instructional Design (AID) approach. This is how I see WikiEducator has followed AID;
  • Its approach to envisioning curriculum (or learner) development has been twofold; first it had a handful of knowledgable educators and technologists, lead by Wayne Macintosh, to create learning content and modules within the collaborative environment of a wiki. As soon as the domain names were registered and the on-line resources (mediawiki platform) were available, content began to be developed. Essentially this small goup of founders became the stewards of the WikiEducator community of practice. Second, it allowed small groups of learners / instructional designers to create their own micro-wikis hosted within the WikiEducator platform. The success of the envisioning is due to being aware of the activities within the wiki to adjust and support the areas of greatest growth and success. WikiEducator envisioning supported the strength of self-organization.
  • The planning of wikiEducator oscillates between the exemplary benevolent dictatorship of Wayne Macintosh and the self-organization of its board members and micro-wiki groups. The planning process was very good at adjusting to areas of need and forming partnerships with domain experts. The planning process did amazing work in supporting all the micro-wiki curriculum / content developers. WikiEducator allows the planning process to influence its envisioning.
  • The build of content, curriculum and programs was most often put into the hands of self-organizing groups who worked together to create what they felt would best meet the needs of the learner. In some situations, existing content was utilized and improved upon. The content licensing scheme was. and is, seen as an important attribute of build success. The build process of learning modules also was allowed to influence the technical platform decisions of WikiEducator as a whole, this allowed the overall platform to improve and assisted greatly in setting technical direction. Learners were also engaged early in the build process to become creators, user and re-users of content.
  • Given the wiki environment the stabilization and deployment becomes a part of the build process. All content is immediately available to the learner community as soon as it is saved to the wiki. This creates amazing opportunities for learner engagement and self-organization. And allows the learner content to be improved and adjusted to suit a changing knowledge domain.
Even though there was no formal Instructional Design methodology utilized by WikiEducator, many of the content development practices within WikiEducator are great examples of an Agile approach. Reduce the rituals and empower the community.

Murder, Madness and Mayhem
In 2008, a University of British Columbia course (SPAN312) took it upon itself to integrate the coursework with Wikipedia and the UBC course curriculum. The course set out to create content (wiki pages) focused on Latin American Literature, with the goal of getting a page promoted to be a wikipedia featured article. The course far exceeded this goal. More than three wiki pages were featured (which is a huge accomplishment) and over eight pages were identified as good articles.

I consider this project as a good example of Agile Instructional Design for it exemplifies success when a vision is created and quickly engaging the learners to become the content creators / instructional designers. The plan was loose with well articulated success criteria and assessment approach. The learners were left responsible to build the content. To stabilize the materials and deploy them to the live environment. Similar to WikiEducator using the wiki to publish blurs the process of build, stabilization and deployment.


Continuing Legal Education of British Columbia
There were two particular projects build during my time with CLEBC that took an Agile approach and both had considerable success. There two projects were; CLETV and Search.

The CLETV project was tasked with creating an on-line live streamed episodic legal education "talk show". Each episode would include discussion with legal experts on a particular legal issue. The process of creating and deploying this video learning environment included a number of technical and pedagogical iterations. The technical iterations were to resolve issues around the capture and broadcast of video in a format well suited for the internet. The pedagogical iterations were to find a format and screen layout to encourage learner engagement and to ensure the time spent engaging with the video learning could be used toward required professional development credits. The elements of AID that were present within this project were;
  1. quickly getting a product to the learner so we could assess success, and improve the technologies chosen
  2. choose the minimum screen elements (software widgets) to allow quick deployment and begin to get live learner feedback regarding engagement
  3. test early and often within the development process to reduce stabilization time
  4. build upon successes and use open formats to enable re-use of saved video elements
  5. continually improve the product through learner and stakeholder engagement
The Search project was tasked with upgrading the existing CLEBC search to improve search times, include additional information sources and implemented a federated and faceted search. Search is an important tool for inquery based learning approaches as is provides access to information through both direct querying and focused browsing of information. This search project took a more traditional approach with additional elements of Agile. It was more traditional in that the internal project team spent time requirements gathering, investigating technologies and approaches and sourcing out vendors to implement the solution. It was also traditional from an instructional design perspective as it wasn't looking to innovate greatly, but stayed with proven approaches to inquiry. The agility came in via a pragmatism; traditional approaches can become very ritualized, they will often take the "correct" path rather than an immediate simpler solution. The project sought out ways to quickly learn what it required to make sound business decisions and committed to a vendor with proven search technology and approaches. Agility came into this project through;
  1. seeking the minimum solution which would provide success
  2. engaging end-users and stakeholders when making user experience design decisions.
  3. problem solving around the design of facets and in reconciling the taxonomy within search results
This post has been dedicated to providing implemented examples of what I consider Agile Instructional Design (AID). All of the projects (with the exception of Murder, Madness and Mayhem" the 2008 edition of SPAN312 facilitated by UBC) I have been directly involved. The common thread through-out all of these projects is the implementation of learning through the use of current and emerging on-line technologies. I strongly believe that using Agile / Lean techniques when designing learning and implementing the on-line technology to support this learning is how all instructional (or learner) design will occur in the future. Learner needs and knowledge domains change too quickly for traditional instructional design techniques to keep up and to keep the learning content current. Technology and social media changes to quickly for Agile and Lean software development techniques not to be adopted for technology based instructional design projects.

Tuesday, December 27, 2011

Traffic towards Creating IT Roadmaps

There has been surprising amount of traffic on my creating information technology roadmaps post from a few months back. This could be due to the time of year... maybe people are preparing for the new year and want to get a sense of where they are going. If you are interested in creating information technology roadmaps, this is how I see it done. Keep in mind roadmapping is an ongoing work, and so far I have written four posts on the subject;
  1. Getting Started - how to start the process of creating an IT roadmap
  2. Gathering Data - thoughts on gathering data for the roadmap
  3. Technology Trends - how I currently see technology trends
  4. Pedagogical Trends - how I currently see pedagogical trends

Wednesday, November 09, 2011

Creating IT Roadmaps, Technology Trends


If you have stumbled upon my series of posts on technology roadmaps and you have been looking at the associated data you may be wondering where I have come up with all the data and labels for the trend graphs. Described here is how I have derived all this information for the Technology Trends Graph. Every line on the graph shows saturation within the overall trends being analyzed. In this technology graph, small-devices will continue to be adopted, internet platform will continue as the preferred platform for deployment (though it will plateau), Cloud computing will continue to be increasingly utilized and software broaden to meet more needs.  The lines are there to identify trends and to identify events. And yes, there are many other event that could go on all of these lines... feel free to email peter@rawsthorne.org other important events.


Small Devices
It is predicted that there will be more small devices than there are people by 2020. Even if this prediction is false there is no denying that mobile / small devices will have an impact on how we communicate and work over the next decade.
  • Palm / Newton - the early stages of small devices needs to be credited to the Palm and Newton devices. Even though neither of these became main stream the Palm gained the most consumer acceptance. Both of these products began the commercialization of small devices.
  • 7x24 - with the small device also came an expansion of the "working day" this isn't to say it created the longer working day it has created the opportunity for people to work anywhere, anytime.
  • Blackberry / Nokia - it could be argued that the blackberry and nokia were the first two small device companies to gain global commercialization. Blackberry for its text messaging / pager solution and nokia for its internationalization.
  • Smartphone - The smartphone is significant as a small device for its usability and ability to make mobile applications across many features (web, readers, phone, email, messaging, photography, etc). Before the smartphone there was no single device that could provide usability, access and platforms for mobile application development.
  • iPhone - the iPhone is a smartphone. The significance of the iPhone is it set a new bar for usability and therefore made the smartphone accessible / usable for the general public.
  • Android - the android phone made the smartphone opensource. And disconnected the operating system from the hardware so any manufacturer could produce a smartphone. This opensource approach is set against the proprietary approach of the apple iPhone. The adoption rates for android have been steadily increasing where they are passing the iPhone.
  • iPad - the iPad is doing to the tablet market what the iPhone did to the smartphone market. It innovated the UX so the product has dominated the market. This does not mean other products will not follow from other vendors that will take market share (as the android is now doing to the iPhone). And as would be expected Apple has created, or encouraged the creation of, many great learning and knowledge applications for the iPad.
  • Geo-location - the location based abilities of small devices can be well applied to learning.
  • Tablets - in general will gain in popularity and will gain upon the popularity of the iPad.
Internet Platforms
New and existing technologies continue to support and build the internet as the platform for business, learning, social interaction, media, etc. The trend will continue where the internet as whole will be the platform used to build and support peoples and organizations endeavours, regardless if they are social, business or personal. These items have influence the internet to be the platform;
  • Co-location - the ability for organizations of any size to move their internet application software and related servers into specialized facilities could be considered the first step in the internet being the platform. The co-location has enabled 7x24 servers without having each organization create its own 7x24 location. The co-location centres offer many services in support of organizations moving their internet servers.
  • Bandwidth - with always increasing bandwidth availability the internet as a platform has moved from the exchange of text and simple documents to streaming high-definition video and assorted rich media.
  • Hosted Solutions - no longer having to take care of your own servers is the next natural step after co-location. Having a technology organization who can administer servers, databases, application software and custom software lessens the burden upon an organizations IT team. The primary difference between a hosted solution and co-location is an organization does not own the servers at the hosted location.
  • Software as a Service (SaaS) - moves the care and feeding of application software up to the level of the software. With hosted solutions the organization still has the concept of servers and databases, with SaaS an organization only considers the application software and leaves the rest to the provider of the SaaS. This allows an organization to focus on its business (and the required software for success) rather than the infrastructure and HR issues required to host the software.
  • Open source - the sharing, use and availability of "free" software has been occurring since personal computers became available. Open source software now occupies most areas of software, all the way from operating systems, through databases and software development languages and environments to full end-user applications like word-processors, spreadsheets, Internet browsers and email.
  • Web 2.0 - adding collaborative features to the internet changed the whole thing. Even though this is still gaining traction within the business sector we are entering a time where businesses will increasingly struggle without a solid Web 2.0 strategy.
  • YouTube - having an open and "free" service to host video changed the breadth of media that could be made available to everyone, created by everyone. The internet became a broadcast platform available to anyone with the inclination and technical skill to create their own online videos.
  • Wireless bandwidth - as wireless technology improved it allowed people access to the internet as they roamed. This roaming ability combined with the web 2.0 abilities to contribute and collaborate open the internet to be open all the time from almost anywhere.
  • Cloud Computing - the ability to create and destroy (virtual) internet servers for a few dollars and to have these servers scale with little to no effort is how cloud computing is another game changer when it comes to the internet as the platform.
  • HTML5 - this HTML standard is a big step toward bringing browsers and mobile devices into a single development approach without the burdens of proprietary features and platforms.
Cloud Computing
The ability to create and host content online for little to no cost began with the early Web 2.0 technologies of blogging, wikis, discussion groups and social tagging. Cloud computing is a collection of servers configured in a way where new services can be requested and built in a number of minutes. These services are charged based on the amount of cpu and disk space is consumed during the life of the service. The service can exist for hours or years depending on the computing need.
  • Wiki - was one of the first collaborative publishing systems openly available on the internet. It is the wiki that began the significant shift of groups of people working together on servers hosting free 'publishing' software.
  • Blogger - blogging services like wordpress and blogger were among the first generally accepted Software as a Service applications. These and other web 2.0 applications began the move of people working exclusively online.
  • gmail / google apps - Google has created a suite of software that runs exclusively in internet browsers. This collection of software as a service is gaining acceptance and has further proven the viability of cloud computing for hosting business applications in the cloud.
  • Amazon - the amazon elastic compute cloud (EC2) provided one of the first consumer cloud services focused on providing organisations a place to host their applications without having to consider the hardware infrastructure
  • Rackspace - introduced an alternative to Amazon where they allowed organizations to instantiate a Linux virtualized server of their choosing (Redhat, Ubuntu, Etc...) to host their custom or open source application software. This differed from the original EC2 in that you were not restrained by the application framework dictated by Amazon. This has since chnaged and Amazon also offers virtualized servers.


  • Education as a Service (EaaS) - educational software as a cloud based service is coming. There is many articles which discuss the changes coming in higher education, in particular the higher education bubble. There is a lot to read in this area, and these three articles provide a good background;
    1. http://en.wikipedia.org/wiki/Higher_education_bubble
    2. http://www.forbes.com/sites/peterjreilly/2011/11/02/when-will-the-education-bubble-explode/
    3. http://www.economist.com/blogs/schumpeter/2011/04/higher_education
    The two main factors that will encourage the growth of EaaS are; First, cost; it doesn't make sense that an activity (education) in place for the public good has so much redundancy when it comes to Information Technology. Every institution should NOT have their own IT infrastructure. Second, internet; more and more people using better and better approaches will increasingly be learning online, 7 x 24. People just won't physically go to school, they will attend online and cloud based EaaS platforms will be a cornerstone to this ability.
  • Virtual Asynchronous Conferences - the cost of traveling to and hosting conferences combined with improving asynchronous conferencing will give greater rise to people attending conferences and like learning events online.
Software
About a decade ago it was popular discussion within the technology industry that we were shifting from hardware innovation and growth to software innovation and growth. The idea being that we had lots of hardware / infrastructure to build and host the software, and the growth area was no longer hardware but software. I completely agree with this hypothesis and we see much evidence in how the greater amount of innovation is within software. When you consider the adult learning space the software having an impact includes many offerings.
  • Open source - the idea of sharing free software has been around for many years and has considerable influence in all software development arenas. In particular, higher education.
  • Learning Management System (LMS) - is an open source system for managing and shepherding students learning. it will continue to have an influence within adult learning even though it is being 'replaced' or supplemented with web 2.0 approaches.
  • Really Simple Syndication (RSS) - made content distribution a pull technology rather than a push. This allowed people the autonomy to access the content they had identified as interesting when they were ready to consume the content.
  • Virtual Environments - provide online places for people to 'inhabit' while they learn, socialize or play games. Virtual environments are being increasingly used for learning.
  • Slideshare - allowed for free publishing of presentations with aligned audio (if desired by the publisher).


  • Search - It's not information overload. Its filter failure. This idea encourages innovation in search and other tools that will provide people with the ability to filter and find the information they require within the context and subject specific areas they are searching.
  • eDiscovery - is the next step of search where greater reach, intelligence and purpose is given to traversing large amounts of information from a variety of sources (digital and otherwise) to find specific and meaningful results.
  • Augmented Reality - having software and tools to assist in understanding information (in particular, large volumes of data) will increase as the technologies to support this ability become commodities. Augmented reality will provide new ways to visualize and interpret information, greatly assisting in knowledge management and learning.
  • Personalized Filtering & Focus -The ability to personalize the emerging technologies of context specific search, eDiscovery and augmented reality will assist each individual with their knowledge management and learning needs. This personalization is furthest on the horizon for personal learning and related technologies.
What does all this mean?
The main gestalts I get from all this reading, research and reflection are as follows;
  1. Small Devices will become the preferred device for information retrieval and collaboration.
  2. Internet Platforms will continue to mature and innovate. And with the growing amounts of bandwidth and standardization available to the different platforms accessing knowledge will become increasingly easy.
  3. Cloud Computing will provide cost benefits which will further open up the innovation and commercialization of software (and education) as a service. The barriers to entry will be reduced for new innovative organizations.
  4. Software development rates will continue to increase with new platforms and software applications becoming available to meet more personalized learning needs.

Monday, October 31, 2011

Creating IT Roadmaps, Pedagogical Trends

If you have stumbled upon my series of posts on technology roadmaps and you have been looking at the associated graphs you may be wondering where I have come up with all the data and labels for the trend graphs. Described here is how I have derived all this information for the Pedagogical Trends Graph. Every line on the graph shows saturation within the overall trends being analyzed. In this pedagogical graph, behaviorism is losing its saturation and almost disappearing, constructivism is losing influence and connectivism is on the increase. The lines are there to identify trends and to identify events. And yes, there are many other event that could go on all of these lines... feel free to email peter@rawsthorne.org other important events.


Behaviorism
Behaviorism could be described as teaching that is meant to alter behavior. I see teaching and learning to tests is behaviorism. Studying and the memorization required for the LSAT or SAT could be considered behaviorist approaches to learning. It is believed that behaviorism has been in decline since the early 1990s.

Constructivism
Constructivism is the idea that personal knowledge and meaning is built on a persons interaction between their experiences and their ideas. Constructivism has been the predominant approach to adult learning and only since the introduction of the internet has it been "replaced" with other emerging approaches. Its hard to say the emerging pedagogical approaches brought on since the introduction of the internet have (and will) replace constructivism. Its better to say, constructivist approaches will continue as the foundation to adult learning, though it will be blended with the learning approaches well suited to the internet and personal technology. There are a number of events along the constructivism trend that have influenced its saturation.
  • Increase in self-directed - people are learning on their own and building knowledge upon their current knowledge. This self-direction supports constructivism and also open the learner to new and different approaches.
  • Connected learning - the recognition that learning happens within groups of online connected people has gained acceptance. Connected learning has brought new learning theories to the fore, taking away from constructivism (or maybe better said as building upon constructivism).
  • FOSS - Free and Open Source Software has steadily influenced learning systems development. Moodle is an Open Source Learning Management System (LMS) built upon contructivist learning approaches. It has influenced the integration of open source technology and pedagogical approaches. This is important when considering a technology roadmap for open source technologies are increasingly being used in the educational / learning space.
  • Polling (Clickers) - The idea of audience response is becoming more proven as a pedagogical tool and is finding its way into not only the traditional classroom, but also in many online learning events.
  • Drupal - another open source software system that is increasingly being used to build learning environments for adult education. The strength of Drupal is how it has been built from the ground up as a content management system with great social and collaborative features.
Self-directed
Self-directed learning combined with technology and access has shifted people from learning in institutions and with traditional approaches to seeking alternative ways of learning. What I find as interesting (and from a roadmapping perspective) is self-directed isn't so much a pedagogical approach, but the personal motivation to strive and learn new things. Whatever the motivation. There are a number of events along the self-directed trajectory that have influenced its saturation.
  • Connectivism - is a learning theory for the digital age. Currently, I see this theory/approach being used by and influencing the self-directed learner. As connectivism hasn't gained traction in the traditional institutions, the majority of learners are still influenced by and studying within traditional approaches. For the time being connectivism is for the self-directed.
  • Creative Commons - this content licensing approach has brought the issue of copyright into the mainstream and contributed attention to how fair-dealing / fair-use can be utilized by the independent learner.
  • Progressive Inquiry - inquiry based approaches are gaining in popularity as they encourage the learner to become more involved with what they are learning. Inquiry based approaches deepen learning and provide approaches for the learner to attain mastery.
  • Personal Learning Environment - is a mix of technologies that support the self-directed learner. Essentially the internet is the platform and the learner chooses the technologies and services available on the internet to create their own learning environment used to capture and progress their learning.
  • Khan Academy - is an excellent example of the internet resources available to the learner at no cost using a content licensing approach that encourages the user to use and reuse the content themselves.
  • Accreditation - accreditation models will grow for the self-directed learner. Badges are an example of this self-accreditation.
  • Assessment - mass collaboration or a more public form of assessment without institutional involvement will emerge. In a way, assessment and accreditation is a form of reputation management.
Connectivism
Connectivism is a learning theory that was created by George Siemens. The theory is based on the premise that the digital connected world requires new learning theories. These new theories and approaches need to be grounded in  supporting the learner to interact with peers, mentors and learning resources differently as so much of this activity now occurs online. Even though George Siemens first published the theory of connectivism in 2005, a number of events occurred previous to 2005 that could be considered influential in the theories creation.
  • Blogging - on a regular basis has great benefit to the learner. It provides a platform for self-reflection. And due to its public nature, self-publishing to a blog increases the quality of writing and deepens learning.
  • Wiki - by its nature encourages collaboration, online discussion and contribution around specific areas of knowledge. Working with others in creating and editing wiki pages is connected learning.
  • Tagging - also known as social bookmarking, creates a taxonomy for individuals and, if well stewarded, learning communities.
  • Social Media - the origins of facebook was in creating a platform for students to study and prepare for coursework and tests. It has grown much farther than that, much of social and collaborative media facilitates discussion and knowledge building around learning resources.
  • Massive open online course (MOOC) - the MOOC is a very innovative and an amazing idea when it comes to connectivism and teaching a large network of collaborative online learners. I do believe the MOOC is still in development as a learning tool, they seem to be gaining acceptance and utility is teaching a very large network on learners.
  • iPads / Tablets - being able to engage with learning resources anytime from almost anywhere will open opportunities for learning. Particularly when all your information devices (television, computer, small device) are aware of the learning occurring on each device.
  • Smart phone - cell phones, smart phones, etc. offer a reach for learner engagement and collaboration that can extend the learning opportunities beyond the small devices. Bringing the smart phone into the connectivist mix is worthy of a blog post in itself. Stay tuned...
  • eBooks (collaboration) - eBooks are coming of age, particularly those with social media and collaborative reading.
  • Reputation Management - All that you do online becomes a part of your online reputation. Your online reputation is the persona you hold within your connectivist learning. Tools and approaches to reputation management will grow and support everyone as a learner and potential mentor.
  • Badges - learning badges are the front edge of learning recognition. A good idea worth exploring... but to early of an entry to really get a deep sense of where they will end up.
Blended
Blended is blended! Utilize as many learning resources available to you from as many different sources as you can find, bring them together in one place if you can, this is blended learning. Participating in an online discussion, attending a lecture, reading an academic paper, collaborating over a wiki page, a hallway discussion and time with a friend discussing ideas from a magazine article all add up to blended learning. It has become accepted that informal learning makes up the majority of a persons learning and the online resources that support blended learning are increasing. These are some of the items that are increasing and encouraging blended learning;
  • Internet - the internet is the platform for learning and it provides many possibilities to blend learning resources and to build personal learning networks with others of similar interests. The internet (and related technologies) can also blend well with traditional approaches to learning.
  • Open Educational Resources (OERs) - it is the creator of the OER that learns the most. Over the last 10 years there has been considerable activity within Higher Education toward the creation and use of OER. In the long-term OER will have increasing acceptance and availability, and those who collaborate, create and reuse (rather than only consume) the OER will learn the most.
  • Online conferencing - bringing together like-minded people to discuss and exchange ideas is becoming increasingly well supported through web-conferencing. The online-conference is another source for blended learning.
  • DIY U - Do It Yourself University is as much a political movement as an idea that puts the responsibility and cost of an education back into the learners control. From a blended approach it is encouraging the learner to seek alternate avenues to gaining an education.
  • Education as a Service (EaaS) - with the growing success of cloud computing combined with growing internationalization in higher education the discussion around Education as a Service is increasing. EaaS is a future and once available it will increase options available to blended learning. One of the key features of EaaS will be the tools available to manage the progression of a persons learning and to encourage deep learning, assessment and accreditation.
  • Learning Analytics - is at the early stages of becoming an approach used within learning and education. This could potentially have a big impact on assessment and accreditation within blended (and all) learning approaches. Stay aware of learning Analytics.
Internship
The idea of an intership is to find like minded people or an individual to assist you on your learning journey. The learning internship builds upon the apprenticeship model of learning with the addition of other learning before and during the internship. It is the authors belief that the internship trend is currently decreasing and will again begin to increase once greater acceptance of the internet as a learning platform occurs within traditional learning and accreditation institutions. The two themes that influence internship are;
  • Community of Practice (CoP) - the community of practice is well supported by online tools and techniques. Joining an online CoP and collaborating with others is one of the current methods of online internship.
  • Super-mentor - the idea of the super-mentor comes from Curtis Bonk. I agree with his thesis on the future of learning, I see the super-mentor playing a big role in many peoples internships.
What does all this mean?
The main gestalts I get from all this reading, research and reflection are as follows;
  1. Behaviorism is in decline and will remain so. As an educational practice it will flatten out and remain present as long as standardized testing remains. Sigh...
  2. Constructivism may decline in how much it "saturates" pedagogical approaches to learning, though it will remain the foundation to all emerging learning approaches.
  3. Self-directed learning will continue to grow as more people adapt, learn and take advantage of the approaches that are increasingly available on the internet.
  4. Connectivism will become an accepted theory supporting learning in the digital world. An increasing number of tools and approaches will come available on the internet to support connectivism.
  5. Blended learning will become the standard approach to learning. It will take the best from all  approaches and allow the learner to adapt them to suit their needs.
  6. Internship will become increasingly available as the acceptance, approaches and people become more familiar with its importance. This will come from both the learner and mentor side of the learning relationship.

Wednesday, October 26, 2011

IT skills and managing your partners

Three realities to consider when running an organization;
  1. Your organization is becoming increasingly dependent on Information Technology (IT).
  2. Good, I repeat, Good IT professionals are becoming increasingly difficult to find.
  3. Your organization should focus on what it is good at. And unless you are an IT vendor, consultancy, etc. your organization should not staff up for IT, for it would distract you from your focus.
Given these three realities this is how I see your organization manage IT.
  1. Develop technology partnerships to fulfill different sectors of your IT needs; find awesome Subject Matter Experts within these partnerships (you should not have to pay a partner to develop a subject matter expertise). The different sectors could be; infrastructure, software development, accounting systems, web development, mobile... etc. How you divide up these sectors depends on how your organization is structured (and divided), and who holds the responsibilities and accountability. You may find that one of your partners provides services to more than one of these sectors (preferably your strongest and most trusted partner).
  2. Get to know your partners strengths and weaknesses, meet with them face-to-face regularly. With increasing difficulty in finding good IT partners you may find that "good enough" is all you can get. So be prepared to manage each partners abilities differently... work with their strengths and manage their weaknesses. 
  3. Have a trusted, highly available partner that is invested in keeping everything working together and is nimble in making fixes and enhancements to your customer facing technologies. This is where you may have an employee or small IT department as you may not be able to find a partner to make this level of commitment.
  4. Seriously consider moving your customer facing infrastructure and websites (including mobile) to a hosted or cloud based environment. 
  5. Have very strong IT management skills at the executive (and board) level.

Monday, October 24, 2011

Creating IT Roadmaps, Gathering Data

This is a second post in a series of posts describing a technology roadmapping exercise I am completing. All the posts in this series can be found under my roadmap label for this blog. This post focuses on the how, why and where I am gathering data, with beginnings of how I am organizing and visualizing the data.

1. Narrow the subject area and context

This roadmap will focus on adults engaging in continuing professional development and life-long learners focusing on legal education for lawyers, legal assistants, notaries and self represented litigants. In general, the audience is focusing on accessing legal materials and related learning resources published from a number of online sources, both public and private.  The context for access is usually for researching a subject of personal or professional concern over a (long and short) period of time. The assumption being that the longer the duration the greater the depth. This does not mean that short bursts of access is not seeking depth of learning.

The main threat is within two areas. Firstly, in published materials. Not in the published materials being replaced, but the customers are expecting them being available on a new device which eases access geographically and 24x7, and allows greater collaboration around the published materials so they are more relevant and up to date. Customers will increasingly seek published materials being made available in this way. Second, is with online programs, courses, workshops, etc. Blended and online learning is growing and this eases the need to travel and allocated set blocks of time to attend learning events.

2. Know your audience

The audience are adult learners with a post-secondary level of education. Their learning styles are going to be constructivist with a strong influence from connectivist approaches. Increasingly these learners are looking for alternate ways to access learning materials. These alternatives are both geographic (reducing the need to travel and access from any device any time) and the ability to access learning resources 7 x 24. When a learner leaves working on one device the next device they resume their learning has knowledge of where they left off.

Understanding the technology adoption rates for your audience is very important. The challenge is finding data defining technology adoption rates for specific audiences and the adoption rates for the different demographic groups within the audience. If you have the resources doing surveys targeted toward your audience can be very helpful. Otherwise, staying aware of technology trends and bookmarking or tagging technology adoption is a good way to gather data. I have often tag resources related to technology adoption, they fall within my "roadmap" delicious tag, follow it here; http://delicious.com/prawstho/roadmap
 
3. Acknowledge that roadmaps are visual tools

Within this roadmap there are a number of different attributes that need to be represented in a single (well, potentially multiple) visual(s). As my research of these attributes deepened they began to fall into three main categories;

Pedagogical - events, ideas, new theories, approaches that relate to teaching and learning.
  • emerging and existing learning theories
  • emerging approaches to online learning and teaching
  • social and collaborative technologies well suited to learning
Technological - current and emerging technologies well suited to and influencing adult learning.
  • personal devices and browsers
  • internet and technology platforms 
  • application software well applied to learning
Sectoral - subject or business sector attributes to be considered or will influence the roadmap.
  • strategic plan (known initiatives)
  • financial & economic
  • jurisdictional issues
  • threats


Suggested Reading
http://www.downes.ca/me/mybooks.htm
http://www.nmc.org/horizon-project/horizon-reports
http://criticaltechnology.blogspot.com/search/label/roadmap

Saturday, October 15, 2011

Creating Information Technology Roadmaps, Getting Started

Creating technology roadmaps can be hard. Mostly because you are trying to predict the future. And predicting the future is, well, unpredictable. So coming up with a technology roadmap for a specific subject or practice area narrows the horizon and could increase success. Gaining as much knowledge of the narrowed area by reading, reviewing and referencing as much existing information and related predictions will help greatly. Essentially, you want to gather all the applicable technology and subject area information you possibly can regarding the present and future and try to gestalt a technology roadmap.

The important factors in creating technology roadmaps are;
  1. Narrow your subject area and context
  2. This is important mostly due to narrowing the number of attributes influencing the future. The subject area is somewhat self explanatory, is it; higher education, medical, financial, legal, etc. Context would be; mobile technology for adult customers, wealth management for families, etc.

    One important attribute here would be to identify any serious threat(s) to the financial health of your organization due to a disruptive technology or competitor. These unforeseen threats rarely occur if you have been doing regular roadmapping... for they should identify the threats...
  3. Know your audience
  4. The audience who will reference the roadmap is important for they will read it based on their decision making needs. The audience can be as varied as; senior management, customers, business partners even competitors.
  5. Acknowledge that roadmaps are visual tools
  6. People have become used to roadmaps being visual tools, invest the time in finding a visual representation that suits your audience. Engage your audience early, present a visual framework and get feedback. Improve the visual. This has two benefits; it assists in the audience learning how to use the roadmap and assists the creator in understanding the audience and the issues of why they need the roadmap.
  7. You don't know the destination, only important attributes of the journey
  8. When predicting the future with a technology roadmap there is no destination other than the many factors that influence the decisions you make on the journey. The technology roadmap will provide a topographical map and the roadways that are available to you when making decisions. It is assessing the current location and the things of importance around you (which will change through time) that will determine which route to take.
  9. Sometimes the journey is the destination
  10. It is having to make the decisions about the journey that are the technology decisions required by the organization. Using the roadmap to know where you are and the current surroundings is the what the technology roadmap is for. It helps in making the technology decisions right in front of you, no more. Really that is what is needed anyhow.
  11. The roadmap should align with the organizations vision and strategy
  12. The roadmap should be derived from the organizations vision and strategy. If their is no vision or strategy this should be done before the roadmapping exercise has begun.
  13. The technology roadmap will influence the organizations tactical plan
  14. Also derived from the organizations visions and strategy are the tactical plan. The tactical plan and the roadmap work together to drive the individual projects tasked with implementing the vision and strategy.
Step 1. Start writing openly about these seven factors and how they apply to your roadmapping exercise. Be open and transparent about your thinking an seeking feedback is very important. Using an internal (or privately external) blogging approach and allowing people to comment would be a great way to be open, transparent and solicit input.

Step 2. Begin to gather all the technology roadmap material you can. Search high and low, contact your vendors, contact your peers, investigate industry publications, look for other technology roadmaps. Leave no stone unturned.


Step 3. begin to create a visual representation of what you are finding. Be creative, seek different sources for inspiration. Publish the visual frequently to begin soliciting feedback, and developing a shared understanding. It is the feedback and shared understanding that will improve the accuracy of the roadmap.

For a growing list of references on this subject feel free to follow my roadmap tag in delicious;
http://www.delicious.com/prawstho/roadmap

Follow-up Posts
If you have read this far you may be interested in the follow-up posts I have written that actually implement what I have described here;

Friday, October 14, 2011

MVC in a three-tier architecture - TRANSLATED

A month back I wrote a post on architecting web and mobile based applications. In the post I spoke very technically about the MVC pattern and three-tier architectures. One of the comments I got on the post was from a very bright friend of mine who also works on educational technology and professional development, only from a senior management perspective. His comment was in really wishing he knew what I was talking about. And after reading the post again, I agreed that for a non-technical person the post would have been difficult to understand, I also felt there was good value in translating it for the non-technical person. Explaining the MVC pattern and three-tier architectures in this way would have great value to those who want (even need) to understand the web, mobile technologies and how these are put together. So this post attempts to answers that need... and if it works out, I may rewrite a number of my posts for the non-technical person.


Model-View-Controller
The Model-View-Controller (MVC) is a design pattern used to design the user interface and activities of a software application. In other words, what does a web page or mobile application look like and how does it work. How is the software designed so pictures, words, links and buttons show up, and what happens when someone clicks on a button or a hyperlink. The individual items of Model, View and Controller each serve a purpose; the Model is the business and related data and processes, the View is what is displayed to the end user and the Controller handles the events between what is displayed and how the business responds.
  • The View is what is rendered (drawn) on the screen. How it is rendered is where the software part comes in. The technology (programming) behind rendering a View (or screen full of information) includes many options and approaches. Beyond a lot of formatting and graphic design, what makes the work behind the View is that there are many screens to that the software has to render a view. These screens come from different types of computers (PCs, Mobile, Tablets, Etc.), different browsers (firefox, safari, chrome, ie), different sized screens, Etc. Writing software for these different screens takes work and isolating the code into that responsible for only rendering the View greatly simplifies what can become complicated.
  • The Model is the business logic or software that collects and retrieves any data required for the View. When data needs to be retrieved from or saved to the data storage it is the model which is responsible. The model can contain a lot of complicated business logic. As an example, someone submitting a credit card transaction may have only a few data fields and one button click on the view but the amount of different business activities (or software modules) that get utilized to complete the credit card transaction can be numerous and span different computers and businesses.
  • The Controller responds to user events. The events can trigger changes or activities from both the View and the Model. As a simple example; a user enters their user credentials (user name, password) and clicks the log in button. The Controller then initiates a call to the Model which in turn executes the software required to find the user name and confirm the password... the Model then returns a call to the View with the pass or fail of the log in and the View re-renders itself with either a logged in user interface or the "forgot password?" user interface.

There you have it, simply put; the View is responsible for drawing the screen, the Model is responsible for retrieving and adding / updating information and the Controller is responsible for managing the events between the View, the end-user and the Model. Once you feel comfortable with your understanding of this MVC design pattern, move of to the next section describing the three-tier architecture. Hold off asking yourself how the Model-View-Controller (MVC) fits in the three-tier architecture for now. That will be discussed later.

Three-Tier Architecture
A design / concept of the three-tier architecture was created over 20 years ago, and was initially adopted when building client-server software. The idea being the personal computers on the network were the clients and the big computers on the network were the servers. And the clients made requests to the servers, the servers talked among themselves (business logic servers and database server) figured things out and then the servers responded back to the clients. This basic idea continues. Now the clients are web browsers and other devices, and the servers are web site servers, business logic servers and database servers.

Why so many servers? Performance, security, reuse, maintainability and understandability. There are actually other reasons to implement a three-tier architecture. I see these as the primary reasons;
  1. Performance, security - Any interactive website with a significant amount of traffic could not be hosted on a single computer for performance reasons. The software needs to be constructed in a way where it can span multiple servers. The best way to have software span multiple servers is to modularize the software based upon its activity. Within a three-tier architecture modules would be constructed for the specific activities of user interface rendering, business logic, database reads and database writes. Each of these modules would be optimized for its activity and implemented across servers best suited to the modules performance needs. Another powerful reason for separating modules and hosting them on different servers is for security reasons. The closer a software module is to the storage of a piece of content (data, rich-media, documents) the stronger the security needs to be. It is also important to mention the idea of a cache, when building high performance web sites it is important to utilize a cache. The main idea of a cache is that it takes frequently requested content and makes it more quickly available to the web site.
  2. Reuse, maintainability - modularizing software enables reuse and increases maintainability. The idea being that many modules can call one module to perform the same activity. As an example; saving both a bill to address and a ship to address is almost exactly the same activity, this should be done through a single module. This also eases maintainability, if you need to fix or update the address saving abilities of the software it only has to be done in one module.
  3. Understandability -  understanding how a website application is put together, particularly when it spans multiple servers, becomes increasingly important as time passes. People change, business approaches change, features get added and updated. Having the IT Team easily understand how to enhance and maintain a website is greatly improved when the software is well organized and built in a modular way.
Building software in three-tiers provides the flexibility to organize the software to meet performance and business needs while it is operational. How the software is going to perform under user load is not always known until after the release of the software onto the internet. This is more true for web based software as performance will be determined by user traffic and users are unpredictable. Business needs will also change, so being able to alter the software with little to no impact to existing software modules is more easily done within a three-tier architecture. Well designed three-tier architectures are more easily understood and maintained than other approaches.

The MVC implemented in a three-tier architecture 
Figure 1. The MVC / 3-Tier Hybrid
How do these two come together. From a MVC perspective the View and Controller exists in the presentation tier and the model spans the business and data tiers. From a three-tier perspective this means the Model is broken into modules which are optimized based on their activity and for their ability to be reused and altered for new business opportunities. The Model will span the business and data tiers. The Controller and View exist in the presentation tier and this is also optimal for it allows the software developer to build, render and respond to user interfaces best designed for the different devices (internet browsers and mobile devices).

So how is all this best described from a non-technical perspective. We will start at the top and work our way down and back to the top again. Our scenario will include three activities. Arriving at a web site, logging into the site and adding a ship to address to a persons profile.

Scenario: A user wants to update their profile so they have separate ship to and bill to addresses.
Note: this scenario may not be as all websites handle these activities, it serves as an example to explain the MVC pattern and three-tier architecture.

Arriving at a web site
The user arrives at a website and the sites main page is displayed. The main page is rendered in the following manner;
  1. Software in the Controller will determine the type of device browsing the website. Once the device / browser type is determined the Controller requests the correct View to render itself. Specific Views are built to service the different device and browser types.
  2. The rendering of the View will make requests of the Model to fetch data (text, images, etc.) from the business and data tier modules. These modules will mostly fetch data from the Reads side of the data storage (see Figure 1. The MVC / 3-Tier Hybrid). For performance reasons, some websites will have these reads come from the cache. Many Views will also use style sheets and templates to help in their rendering.
  3. All this activity takes only moments in a well designed website and once completed the View will be rendered and the user can view and interact with its content.
Logging into a site
After review of the sites main page, the user logs into their account. The process is managed is as follows;
  1. The user types their email and password into the required text fields and clicks the associated button. This click event is intercepted by the Controller and decides the appropriate action. In most cases, some software (usually javascript) is run within the Controller to check the username and password are complete and follow some basic rules. If all is good the Controller will pass the email and password onto the Model as parameters for the email and password verification request.
  2. The Model will take these parameters and make a request to a module built to handle user related requests to verify the email and password are valid.
  3. The module dedicated to user requests will query the Reads side of the database modules to fetch the users password based on their email address provided in the parameter(s). 
  4. If the password matches the module will pass TRUE back up to the Model, and the Model will request the View re-render itself with a valid login. This re-rendered View will often have additional menus for the user to perform additional actions not available to the non-logged in user.
  5. If the password doesn't match the module will pass FALSE back up to the Model, and the Model will request the View re-render itself with an invalid login. This re-rendered View will again prompt the user for their email and password with the additional prompt of "Can't access your account?".
Adding a ship to address
Once the user has successfully logged in they will have the ability to edit their profile. The process of displaying their profile page and adding a ship to address would be as follows;
  1. The profile View would make requests of the Model to fetch all the data required to render the persons profile data. This data fetching would occur via business and data tier modules built to handle the user related requests.
  2. These requests would occur on the Reads side of the database modules and once completed the Model would request the View to re-render itself with all the users profile data.
  3. Texts fields for the users ship to address would be presented and the user would complete the required fields. The user would then click a button to update their profile and save this new address to the database.
  4. The click event is intercepted by the Controller and the appropriate action would be performed. Again, in most cases, some software (usually javascript) is run within the Controller to check the data entered follows some basic rules for accuracy.
  5. The Controller would make the request of the Model to save the ship to address. The Model would make requests of the business and data tier modules specifically built to save address data.
  6. The request to save this new address would occur on the Writes side of the database modules. Database writes are different than reads and this is explained in greater detail in a related post titled, "separation of database reads from writes". 
  7. If the saving of data is successful two activities will occur; first, a confirmation will be sent back up to the Model, and the Model will request the View re-render itself with a confirmation of the data being successfully saved. Second, the data saved to the write side of the databases will be synchronized with the Reads side making it available for any subsequent read request.
  8. If the saving of data is unsuccessful a return-code will be sent back up to the Model, and the Model will request the View re-render itself with correct error message. The user would correct the errors and the round trip of saving the data would occur again.
Why the hybrid?
Because building websites can be complicated, particularly when the site engages users and have a lot of content that can be targeted toward and created by users.  Why the hybrid of MVC and three-tiers? Two main reasons; First, because the MVC pattern does a great job of simplifying and managing the development of user interfaces over multiple devices and browsers, but it doesn't do a good job of defining how to build scalable server infrastructures. Second, The three-tier architecture does a great job of simplifying and managing the development of high performing, scalable, extensible and maintainable server infrastructures, but doesn't do a good job of defining how to build user interfaces across multiple devices and browsers. With a MVC three-tier hybrid you can utilize the best of both approaches without compromising either.