Portfolio Management & Corporate Strategy

Share this post :

Every project is implemented under three const...Project development stages

 

 
Monitoring and Control project activities The PRINCE2 process model

 

In this post, I will look at the parallels between Corporate Strategy and Portfolio Management or the strategic management of projects.

Strategy , w.r.t businesses , is defined at 3 levels.

The topmost is what we commonly term as corporate strategy , where strategy is looked at in terms of the businesses owned by the corporate entity. It can even be considered as a portfolio of businesses owned by the company , the aim which is to maximize ROI of the funds invested by the company. You might recognize the parallels to having an investment portfolio, where you have your funds invested in varying units in stocks, bonds and money market funds. The goal is to diversify and minimize risk.

The next level is what we can term as business strategy or strategy at the level of Strategic Business Units (SBUs). Here, each business outlines its position , its vision, its mission and aligns its strategy to meet to those broad,high-level goals. A strategic business unit may have a line of products and/or services that are usually inter-related.

Finally , we have what we call operational strategy or in common parlance tactics. This has got more to do with the day-to-day operation of the business or basically how we keep the business unit a ‘going concern’.

Now when we come to projects or Project Management , let us first define what a project is.

A project is a temporary body put together to achieve a specific purpose or goal. It has a definite start and end. I would even term it a temporary company since almost all the functions of a business unit or corporate entity are embedded in a project’s functioning, albeit on a much smaller scale.

A mature organization also has 3 levels at which it manages its projects.

The topmost level is what is termed Portfolio Management , where all the programs/projects in the organization are clubbed. This ensures that programs/projects are managed scientifically and rationalized so that resources and dollars are utilized in the most  cost efficient manner possible.

The next rung is the Program Management level, where a program is termed as a set of inter-related projects that achieve a broad , strategic goal of the company. A Program Manager runs a program. (That reminds me, I came across an interesting e-book on Project Management, that included a section on Program Management. The rationale being that Project Management is your day job, but Program Management is your night job! A point to keep in mind! The book’s name will come to me, sometime!)

Finally the lowest level is Project Management , that is management of a project by a Project Manager to meet a specific goal. A project by itself may build products that are to be consumed by other projects or another program. A project has a definite start and end. It is a temporary organization.

 

Thus the structure of corporate organizations and mature projectized organizations have some striking similarities. The differences are for another post altogether!

Have a great day!

Web Services, SOA, BPM, and Cloud Computing – VII

Outline of a cloud containing text 'The Cloud'

Image via Wikipedia

What, in heaven, is cloud computing? If you think you already know what cloud computing is about, then this post is not for you. But you can choose to read on, if you like.

The understanding of cloud computing can be as hazy as the term itself.

It seems as though there’s this cloud into which your input disappears and you receive your output , again, via the cloud or that is what all those diagrams depicting cloud computing seem to imply.

Cloud computing seems to be a definitely cloudy term to define the ability to access your applications wherever you go. Cloud computing harnesses or leverages the power of the internet to give you distributed applications that can be accessed from multiple devices (note , it is devices and not multiple computers; multiple devices include multiple computers! Sorry if I sound pedantic!)

Cloud computing definitions include “wherever you go, your applications are”, “the big rental station in the sky.”

The latter because in a multi-tenant cloud computing system, you are in effect sharing resources with other entities or enterprises , all transparent to you and to each other. Hey, what am I saying? Cloud computing is inherently multi-tenant , ask any blogger! But maybe we’re just referring to virtualization, eh? But I am getting ahead of myself here and let’s just start with the definition of cloud computing.

I have defined Cloud Computing elsewhere as:

Cloud computing is outsourcing your computing requirements on demand allowing agile response to ever changing business needs.

Cloud computing is a service. It is usually classified into 3 kinds:

Software As A Service (SAAS)

Platform As A Service  (PAAS)

and Infrastructure As A Service (IAAS).

Wow, you might say, that’s just fine. You’ve simplified it further for me (sarcastically). Now I’m even more confused!

Software As A Service is exactly that; it is a service that fulfils a certain application need , not locally but in the cloud. To give you an example, WebMail services such as Yahoo! Mail, GMail & Windows Live Mail are the simplest form of software as a service. Yes, webmail has been around for quite some time, you may say. But then its the definitions that are new, not the service itself. You may not remember the term ASP (Application Service Provider). Well , SAAS is just a new term for ASP. At your workplace, you may encounter CRM services such as SalesForce.com and Zoho CRM. These are examples of  SAAS applications offered as cloud offerings. These are a boon to non-profit and SMEs to allow them to ramp up quickly without any major up-front capital expenditure. Another relevant example of SAAS is QuestionPro.com and SurveyMonkey. These are  internet based market research tools for individuals and corporates.

Cloud application services or "Software as a Service (SaaS)" deliver software as a service over the Internet, eliminating the need to install and run the application on the customer’s own computers and simplifying maintenance and support. (Sounds suspiciously like ASP!)

  • Network-based access to, and management of, commercially available (i.e., not custom) software
  • Activities that are managed from central locations rather than at each customer’s site, enabling customers to access applications remotely via the Web
  • Application delivery that typically is closer to a one-to-many model (single instance, multi-tenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics
  • Centralized feature updating, which obviates the need for downloadable patches and upgrades.

At the next level, is Platform As A Service, If you are a blogger and have your blogs hosted via a blogging service such as WordPress.com, then you are using a Platform As A Service. WordPress.com , in this case, is the platform provider for you to use the blogging service to create and post content.

Cloud platform services or "Platform as a Service (PaaS)" deliver a computing platform and/or solution stack as a service.It facilitates deployment of applications without the cost and complexity of buying and managing the underlying hardware and software layers.

Finally, there’s IAAS or Infrastructure As A Service. If you decide to host your own web-site or move your blog to a hosting service such as VSNL or Yahoo! Small Business, then you are accessing Infrastructure As A Service, You have access to the infrastructure provided by the hosting service provider and you can install your applications within the constraints of supported programming language, supported database  and storage space provided. Of course, there are the other IAAS providers such as Amazon EC2 and Google App Engine, that you may be more familiar with , if you are technically minded. I chose to give you examples that we are familiar with in our use of the internet.

Cloud infrastructure services or "Infrastructure as a Service (IaaS)" delivers computer infrastructure, typically a platform virtualization environment, as a service. Rather than purchasing servers, software, data center space or network equipment, clients instead buy those resources as a fully outsourced service. The service is typically billed on a utility computing basis and amount of resources consumed (and therefore the cost) will typically reflect the level of activity. It is an evolution of web hosting and virtual private server offerings.[40

Other not so well-known cloud offerings include Network As A Service (NAAS), Storage As A Service and Security As A Service though the third may be considered a subset of Software As A Service.

When cloud computing is mentioned , the related words we hear are cost savings, the ability to provide for dynamic computing needs (via hybrid clouds and/or public clouds) and the efficiencies gained at being able to reallocate vital resources to more productive uses. Cloud computing is also referred to as utility computing since resources in the cloud can now be turned on or off as dictated by our requirements. IT has become a commodity. So how elastic are its demand & supply curves? And I’m not being laconic!

But besides big dollar savings for large firms, it is also about how small firms can gain a competitive edge by being able to focus on delivering value and not worry about large infrastructural investments; applications can be sourced from cloud computing providers – leased may be the term more familiar to cloud computing advocates. The option to bring these applications in-house to private or internal clouds resides with the enterprise depending upon how their funding and inferentially ramp-up progresses. The economics of cloud computing, for SMEs and non-profits, is very compelling indeed.

That’s all for now! You can keep your head in the clouds! And don’t sport a clouded countenance! Just kidding!

Have a great day!

E-readers – schooling the future!

Textbook

Image via Wikipedia

Governor Schwarzenegger has announced plans for California high schools to start ditching textbooks in favor of digital media, starting with math and science books. The claim is that with so much information available in digital format, why waste precious little budget money on textbooks that just get outdated and tossed?

Similarly Taiwan plans to roll out e-readers in classrooms this year. This is part of their efforts to further digitize schools and promote reading.

E-readers are definitely cooler than reading PDF files on the laptop and/or computer. The reader is light-weight and easy to carry. In fact, it may not be just an e-reader. Some of the Sony mobile phones have e-reader software installed ; convergence makes for carrying fewer devices.

With e-readers, you probably do not have bother about outdated curriculum. In addition, rolling them out to schools promotes volumes and some form of subsidies.

And there’s always the green argument. E-books are so much greener than paper ones. More green gold!

For the next generation, at least, books in paper form may just become an anachronism.

But for me and others from my generation , until we are convinced that reading off a tiny screen is more convenient and not so much of a strain on our sensitive eyes , the switchover will have to wait. This is not that much of an argument against e-readers – most of us already access our email and the internet on our mobile phones. Also, there is the affordability issue. Books in India , especially ones printed by Indian publishers, cost a tiny fraction of what they cost in the developed world. Would we get the same kind of prices for the e-books? Would this make a case for discounted later editions of books? I have argued for this elsewhere; something like software versions available at discounted rates to existing users. And why not? It is about customer loyalty , after all. Though a more cynical reader may term it more of a lock-in. 🙂 And believe me , no-one likes that word or its connotations. Ha!

What about libraries? How would they make the transition to a digitized world?

Some libraries such as the British Council Library have decided to provide some of their collection of books as e-books to their patrons.

Here are some articles and posts related to schools and e-readers.

http://www.treehugger.com/files/2009/06/whats-the-eco-impact-of-californias-plan-to-ditch-school-textbooks-for-ebooks.php

http://www.computerworld.com/s/article/9141560/Taiwan_plans_to_roll_out_e_readers_in_schools

http://collegetou.wordpress.com/2010/01/28/ebook-readers-into-schools/

http://buyetextbooks.com/tag/california-schools

http://technological-teaching-aids.suite101.com/article.cfm/advantages_of_ereaders

http://www.csmonitor.com/Books/2009/1221/The-e-reader-generation-speaks-about-e-books

Reblog this post [with Zemanta]

Share this post :

Updated for British Council Library.

Getting it out there

In an earlier post, I mentioned not writing about blogging!

Well, this post is about just that!

Obviously I would like more people to read my posts, increase my sphere of influence that is!

And how do I get the message out there?

Rely on social networking sites, simple isn’t it?

But then all the people I know do not log on to the same networking sites. Quite similar to how it works in real life, we don’t all go around in the same circles, do we? Not all the time, that is. Would we want to? Don’t we price heterogeneity? If we were all the same, would we network? There is a price to pay for homogeneity, but that is not the theme of this post.

There is also a place and time for homogeneity, as there is a place and time for heterogeneity.

So how do I get my post out to the other networking sites?

For me, LinkedIn, Facebook and more recently Twitter are the 3 main sites to target.

LinkedIn for my professional needs.

Facebook because it has become the most popular social networking site

and Twitter because I believe that it has become the biggest killer app on mobile phones. I do not have the stats to back up that claim though!

This blog is hosted on WordPress and WordPress is a PAAS i.e. Platform As A Service for non-technical (and technical) persona to avoid the hassle of setting up their own blogging web-site. It works like a charm!

But then there’s also Yahoo! 360 , Windows Live, Ning and Orkut , these cannot be ignored either!

Obviously hand-coding links for these sites is a painful and tedious process.

Here’s where technology comes to my aid!

If you sign on your WordPress admin console and go to my the Tab My Blogs , there you can enable feeds for Yahoo! Updates and Twitter using the instructions given. You would of course need to have a Yahoo! and Twitter a/c respectively.

http://en.blog.wordpress.com/2009/10/08/publicize-twitter/

For Facebook, the procedure is slightly different. Facebook features a micro-blogging facility called Notes (Facebook’s answer to Twitter). This allows you to host a blog on Facebook itself or import your existing blog. I chose to do the latter. You may do the same. This automates your posts to Facebook , admittedly with a tolerable lag.

WordPress has now introduced support for Facebook’s Publicize feature. Log in to your WordPress admin , select tab My Blogs and check Facebook to activate publication of posts to your Facebook profile. This automates publicizing posts to your Facebook a/c as well.

You may choose to use Windows LiveWriter , (like I do) to write and post your articles. If you go to Blog –> Edit Blog Settings , you can set up Live Writer to post to Windows Live an update each time you post to your blog. That takes care of your Windows Live updates. Funny how Microsoft integrates so well with its own products. I’m not complaining though!

For LinkedIn, there are a couple of apps, namely the Twitter status imports and a WordPress app, These can be featured on your profile. So LinkedIn is now clued in as well.

Ning has another 3rd party app for WordPress, that allows imports from your specified blog. This will do the trick if you have a profile on Ning.

Orkut has no direct way of inserting your posts. Here, again Twitter comes to the rescue with a 3rd party app that pulls in your Twitter feeds. 3rd party apps are great, aren’t they?

Now with Google Buzz, which integrates directly with your Gmail account and contacts, all you need to do is click on connected sites, enter your user details for your WordPress and Twitter a/cs , and voila!, your posts and tweets are now being buzzed on Google.

I haven’t considered MySpace, Friendster (is it still around?) and WAYN in this post simply because I have discontinued my a/cs on these social networking sites.

So now you know how to! I just love automation!

Have a good day!

This post updated for Ning, Google Buzz and Facebook Publicize.

Enhanced by Zemanta

 

Share this post :

 

Architecture – Understanding The Criteria – V

Distributed and parallel systems

Image via Wikipedia

HANOVER, GERMANY - MARCH 01:  Illuminated plas...

Image by Getty Images via Daylife

The final post in this series on Architecture – Understanding The Criteria.

This post consists of the  few remaining terms that I overlooked in my previous posts.

Distributed:

Distributed computing is a field of computer science that studies distributed systems. A distributed system consists of multiple autonomous computers that communicate through a computer network. The computers interact with each other in order to achieve a common goal. A computer program that runs in a distributed system is called a distributed program, and distributed programming is the process of writing such programs.[1]

Distributed computing also refers to the use of distributed systems to solve computational problems. In distributed computing, a problem is divided into many tasks, each of which is solved by one computer.

Distributed computing was earlier known as parallel computing. Of late, it has come into vogue and is referred to as grid computing.

Distributed systems are systems that communicate to each other via the network; this implies different systems residing on different physical hardware. A web architecture is by nature distributed; the client is the browser that resides on the user’s machine; the presentation tier may or may not be co-located  with the business objects on a single machine and finally the database resides on a database server.

Also, SOA (Service Oriented Architecture) which implies web services are also by their very nature distributed systems. Message Oriented Middleware add another layer of abstraction and decoupling to distributed systems.

Grid computing involves the asynchronous distribution of tasks of a job or several jobs to slave systems that perform the tasks and the results are sent back to the master where the results are aggregated to be presented to the job submitter. A very relevant example of grid computing would be Google Search Indexing which is a grid computing exercise with several software agents called robots that index the web and update the Google Cache and Index Database.

 

 Variability:

Variability is how well the architecture can be expanded or modified to produce new architectures that differ in specific , preplanned ways. Variability mechanisms may be run-time,compile-time,build-time or code-time. Variability is important in a product setting when the architecture is the underlying architecture behind a whole set of related products or product line.

Conceptual integrity:

Conceptual integrity is the unifying theme underlying an architecture. Simply put, the architecture allows does similar things in a similar fashion. The architecture should exemplify consistency, have few data and control mechanisms and use a small number of patterns. This makes it easy for developers to work on the system and nasty surprises are avoided.

 Elasticity:

Though this seems specific to cloud computing, I will include it here. Elasticity is the ability of the supply of computing resources to react dynamically, in a preplanned manner, to changes in demand – either increased or decreased demand. This is a feature of cloud computing offerings as per the Service Level Agreements (SLAs) the enterprise may have with its cloud computing suppliers. The outsourcing can have various combinations, such as in-sourcing for normal, anticipated computing demand and outsourcing for spikes in demand; or complete outsourcing to a single provider , single sourcing ; outsourcing to a single provider with surges in demand outsourced to another cloud computing provider; outsourcing to multiple providers to reduce downtime – multi-sourcing.

Reference: Evaluating Software Architectures – Methods and Case Studies – Clements, Kazman & Klein.

Evaluating Software Architectures: Methods and Case Studies

That’s all!

Have a great week!

An intellectual is a person who has discovered something more interesting than sex.

Aldous Huxley

Source: http://quotes4all.net/quote_1650.html

[Powered by QuotesPlugin v1.0 for Windows Live Writer]

Share this post :

Architecture – Understanding The Criteria – III

{{tr|1=Depiction of layers of the Service-orie...

Image via Wikipedia

This is the 3rd post in this series Architecture – Understanding The Criteria.

Here we will look at the following aspects of an enterprise architecture:

Interoperability, Configurability,Portability, Resilience and Fault-Tolerance.

Interoperability :

Wikipedia defines interoperability or interoperable as a property referring to the ability of diverse systems and organizations to work together (inter-operate). When we talk about software and interoperability, what we refer to is the ability of different systems to talk to or communicate with each other , in a meaningful manner, thus allowing businesses to unlock value from their existing systems. Interoperability could be within the enterprise allowing departmental systems to integrate their processes or it could be collaboration with their suppliers and/or customers systems, thus integrating the information systems in the extended supply chain.

Interoperability has everything to do with standards; it is about executing software projects using defined communication protocols and file formats.

I have also talked about interoperability specifically with reference to web services and SOA , in my series on Web Services,SOA, Cloud Computing and BPM here.

You can read more about achieving software interoperability here.

 Configurability or configurable systems:

Is your system configurable? Can it be configured to meet my specific requirements? That is the question from the customer. What do you answer?

Most modern systems are configurable. That is, you can either turn on or turn off certain features of the software system using parameter values that are either stored in a system file or a database. The configuration features are usually accessible to the system administrator or a manager role in an enterprise system.[ Before you get too confused, for the layperson, the simplest configurable system that you should think of is a software program that you install on your machine. The program might be a shareware program that has some limited features; after purchasing the system for a small fee, you can unlock all its features by keying in or cutting and pasting the license key.]

For more savvy users, especially those who are more familiar with web browsers, the ability to configure your privacy levels for browsing habits, is another example of a configurable software system.

This is extended to large enterprise solutions, built using decoupled modules. The modularity allows certain modules to be turned on or off depending on what the user requirements are. Configurable systems are more prevalent in packaged software systems, but any good software architect/engineer  worth his salt, will include these practices while building custom-built software as well.

Configurable systems are not limited to the domain of software systems. When you buy a car or a computer, there too you specify the specific configuration or requirements you have in mind, as per your needs and/or as per what you can afford.

Configurability , like portability, provides flexibility.

Portability:

Portability is the art of writing software so that it can run on different operating systems and/or hardware architecture.

Most technical personnel understand portability in terms of porting an application to a different operating system and/or system architecture. This is a task to be performed by versatile programmers who are familiar with the architecture being ported from and the architecture being ported to. There are many reasons why this should happen; one of the principal causes is the upgrading of the hardware the software is being run on; another reason could be migration from one operating system to the other but the enterprise would like to retain the applications in its IT portfolio, if possible.

Web applications and Java technology applications avoid this dilemma ( and now .NET) because in the case of web applications, all you need is a browser; the operating system you are running the system on is irrelevant. As for Java and .NET, as long as the operating system you are running the system on has a JVM or CLR, your system should be able to function w/o any modifications.

In brief, portability is about being able to move your applications to another platform with ease.

More about data portability here.

Resilience:

The dictionary defines resilience as the power or ability to return to the original form, position, etc., after being bent, compressed, or stretched; elasticity or the ability to recover readily from illness, depression, adversity, or the like; buoyancy.

When we talk about resilient systems, what we refer to is the ability of software systems to recover gracefully or degrade gracefully w/o sudden loss of functionality. Resilient software systems is by itself a generic term. This includes the ability to be fault-tolerant and reliable. In today’s world, an enterprise is only as resilient as its IT systems. This especially holds true for financial institutions where IT forms the backbone of their daily business use and transactions.

 Fault-tolerant :

When we refer to fault-tolerance, we are referring to software systems that are able to degrade gracefully. At no point, are we referring to people though there is definitely scope for fault-tolerance in human beings as well, especially project managers!

The ability to recover from errors and continue functioning, albeit at a decreased level of functionality or performance level characterizes a fault-tolerant system. Fault-tolerant systems originated with software written for the NASA space program, where it was critical that software should continue to function even if a critical error occurred.

Fault-tolerant systems strive to catch errors where they occur but like human beings, fault-tolerant systems may not be infallible, and thus a certain amount of redundancy may be built to help cope with unanticipated failure.

The basic characteristics of fault tolerance require:

  1. No single point of failure
  2. No single point of repair
  3. Fault isolation to the failing component
  4. Fault containment to prevent propagation of the failure
  5. Availability of reversion modes

 

Anticipating for failure is key to building a good fault-tolerant system. In this case, failure is truly an option and providing for it is key to building a fault-tolerant architecture.

Other key features of fault-tolerant systems is replication and modularity. The separation of concerns helps to simplify system design and decouple and localize system failures.

To be continued….

Have a great day!

Share this post :

Architecture – Understanding the criteria – II

Principle of a public key infrastructure. Roug...

Image via Wikipedia

Continuing with Understanding the criteria….

Security:

When we refer to IT security, we usually look at access management i.e. authentication and authorization.

Authentication simply means you are who you say you are. It is also referred to as identity management.

Authorization means are you authorized to use the given service / application / system i.e. are you allowed access? Do you have the rights to use the resource? Authorization is usually a group / role specific policy. Rarely is authorization set at the individual level. Authorization can be also implemented , in a charging system, as do you have credits to be allowed to use the resource? This, of course, would be at the level of the individual or an entity such as an organization. Examples of this would be encountered in a utility computing model say cloud computing or even for mobile phone services. In the latter, the services are degraded once the credit limit is reached and are restored once the customer tops up his account with the required minimum amount. Authorization is also referred to as access management.

A robust access management system includes verifying identity and entitlement, granting access to services, logging and tracking access, and removing or modifying rights when status or roles change.

ITIL talks about information security as being effectively managed if

  • information is available and usable when required (availability)
  • information is observed by or disclosed to only those who have a right to know (confidentiality)
  • information is complete, accurate and protected against unauthorized modification (integrity)
  • business transactions, as well as information exchanges, can be trusted (authenticity and non-repudiation).

In cases where information is to be protected , use of cryptography and methods such as symmetric encryption, Public Key Infrastructure (PKI) (asymmetric encryption algorithms) and digital signatures (ensures non-repudiation). For more, read http://en.wikipedia.org/wiki/Public_key_encryption

A strategy referred to as ‘defense in depth’ is used to secure computer systems from outsider attack. Here, the premise is that even if the outer wall is breached, the inner sanctum is still secure and it is also time-consuming for the attacker, by which time, a breach may be detected and flagged by a good audit trail system.

You may be more familiar with this when building systems that access the internet and are accessible from it. Here, a De-militiarized Zone (DMZ) adds another layer of security to the firm’s LAN. For more see http://en.wikipedia.org/wiki/DMZ_(computing)

 Usability:

This is the most overlooked aspect of a solution / application. However clever your system may be, however ingenious the engineers developing the system, if the user does not find the application easy to use, then you have a hit a brick wall. Resistance from the users can sound the death knell of any application. A good application should be intuitive to use and leverage existing habits of users. Forcing users to change their ingrained habits is always difficult. Especially with reference to transactional systems and customer facing applications, where responsiveness is key, a non-intuitive interface coupled with inadequate training on a new system can lead to frustrated users. In my experience, at British Telecom, when a GUI was introduced to the customer service representatives replacing the old mainframe UI, the sluggish responsiveness of the new UI led to experienced users switching over to the old system so that they could finish their quota of calls to be attended to. CSRs are very stressed individuals and you do not want a system to add to their discomfort.

These , in my opinion , are the most relevant criterion in evaluating an architecture. Their importance may vary from system to system. But a good and simple way of evaluating a software architecture to assign weights to each criteria and a range of values from 1 – 10 for each criteria. This will give you a rough and ready estimate as to how well your architecture stands up to scrutiny.

Have a good day!

To be continued ……

Share this post :

Reblog this post [with Zemanta]

Architecture – Understanding The Criteria – IV

Eclipse 3.3 in Ubuntu 7.

Image via Wikipedia

This is the 4th post in the series Architecture – Understanding The Criteria

Agile or Agility:

Is your architecture agile? Yes, it is, it can do sit-ups, bend-downs, push-ups and cartwheels. Is that agile enough for you? Oops, that sounds like its flexible!

What does agility really mean, in this context? Agility implies meeting today’s requirements and being ready or able to take on tomorrow’s requirements i.e. being able to respond quickly to unexpected and/or unknown change.

What are the components that make up an agile architecture?

Process and data modeling

Image via Wikipedia

Flexibility:

Flexibility is key to being agile. The ability to plug and play components as features can be classified as being part of an agile architecture. The ability to generically interface with components and features and extend the existing functionality is being flexible.

Extensibility:

The ability to extend the current functionality of the system either through plug and play features that cater to users who might want to use your system, in unanticipated and unforeseen ways and applications is definitely a must requirement for an agile architecture. The Eclipse platform is built on such an architecture.

Reusability:

The ability to not have to reinvent the wheel every time your customer comes up with new requirements and reuse existing components and/or code is at the core of reusability.

Integrable:

Components , whether COTS components or custom-built to specifications have to be integrable. The ability to integrate and integrate quickly, is what can give a firm its competitive edge.

Subsetability:

Much as we would like to see the Big Bang theory at work i.e. at first there was nothing and there is this huge humongous piece of software that is the silver bullet that all software firms have been dreaming of, the truth is that the ability to break software into smaller pieces that both users and developers can wrap their intellect around makes for simpler development practices. It also allows for visibility into the progress of software development with users and customers having a chance to interact with the subset of product features developed. This also ensures continuous feedback and reduces the risk of the software being discarded as being unusable. This also makes for a reduced need for training on the system , with expert users coming from the user interaction team. In addition, for riskier projects, where new technology is being explored, this brings to the fore exploring of real options (ROV) where make or discard decisions are made at every stage of the development process. Also, EVA (Economic Value Added)  can be distributed over components and stages thus providing financial numbers to the fiscally inclined namely the project sponsors.

Three software development patterns mashed tog...

Image via Wikipedia

Modifiability:

The ability to modify code or a system is usually confined to the implementation of the modules. The interfaces are changed less frequently (because of the high impact on testing especially integration testing) thus demanding rigor while defining them. But the modifiability of a system has a direct impact on its maintainability. This is especially important since most of IT spend i.e. 75-80% is towards maintenance of existing IT systems and just 20-25% is for new development. New development is where you create value for the enterprise.The ability of take byte-sized chunks out of maintenance costs will have the CFO kissing you rapturously, given you can demonstrate the value unlocked in cost savings. Anything that reduces TCO (Total Cost of Ownership) will get you a thumbs up from your CFO!

Decoupled or Loosely Coupled:

The ability to reduce dependencies between different components or systems is what makes for a loosely coupled system or decoupled architecture. Decoupling is achieved by parameterization and/or configuration either through files or database parameters. Definition of generic interfaces is also another way of achieving decoupling. Asynchronous systems built using message based architectures and/or a simulated messaging system using database tables is also another standard way of decoupling your system architecture. This also contributes to reliability.

That’s all for now, folks!

Have a great day!

Share this post :

Cloud Computing in 140 Characters or Less

Cloud computing is outsourcing your computing requirements on demand allowing agile response to ever changing business needs.

What’s your definition? In 140 characters or less!

Blogged with the Flock Browser
Enhanced by Zemanta

T-Commerce – Teeing Off

A list of countries with IPTV availability (in...

Image via Wikipedia

Written in 2007, the introduction to a biz plan for a T-commerce solutions provider.

1 Introduction

Buy Interactive has a vision of bringing online retailing into the drawing room of millions of television viewers via its innovative use of technology. The goal is to integrate the converging technologies of media, the internet, the wireless and retailing to facilitate the extension of e-commerce to t-commerce & m-commerce.

1.1 Objective

The objective of this business plan is to outline a strategy for an interactive solutions software company to target the emerging market for interactive television with a specific focus on interactive shopping as the application of technology with the existing Internet infrastructure as the communication backbone. The convergence of media, the Internet and online retailing is the hub of this identified niche in the content management software industry. Further aspects to be explored are an extension of online advertising and promotions to this targeted market segment.

.2 The Organization

The company, Buy Interactive, is a software products company with a focus on developing solutions for interactive/IP television. The crux of the software solutions are the set-top box, the software stack on the box and a broadband internet connection. Current applications of interactive/IP television are mostly sports-casting, picture-in-picture, video -on-demand, email, interactive games, & information portals; these have limited interactivity. Buy Interactive intends to focus on leveraging existing online retailers and their offerings to bring them to your fingertips.

1.3 The Service

The service offered by Buy Interactive is a unique shopping experience for the couch potato; the not-so-internet-savvy user, the one who is more comfortable with traditional media such as the television & video. No more time-wasting spent on the internet searching for deals; the best deals are brought to you to your finger-tips for use via the ‘power-pad’.

The business model also provides for advertising revenue to be collected by the cable & telephone networks based on the pay-per-click, pay-per-lead and pay-per-sale.

1.4 The Market

1.4.1 Geographic Market

The scope of this project proposal is to be limited to the geographic area of Cyprus with potential users CYTA and PrimeTel. The software will be provided as private label allowing the licensors to customize the look and feel of the software and use a consistent interface. Branding can be a combination of the online retailer and/or the operator.

1.4.2 Current Usage

CYTA MiVision market share among residential broadband users was about 10% when it was first introduced in July 2004. PrimeTel and its competing TriplePlay [includes ADSL 2+] service is currently aiming for a market share of 10-15% of IPTV subscribers. CYTA MiVision currently has 23,000 subscribers to IPTV with growth in subscriptions ranging from 500 to 1000 subscribers per month. PrimeTel, on the other hand, have new customers at the rate of 2000 per month. CYTA MiVision plan to introduce 2 new services soon, namely nPVR and Time-Shift TV. CYTA MiVision’s contract with Amino for STB’s specifies that orders (unit contract price) are placed for STBs based on demand, as the need arises. The price for each STB to the customer is 50 CYP , a one-off price. PrimeTel’s suppliers are Kreatel Communications, a recent acquisition by Motorola. STBs are currently being offered free by Prime Tel to new customers, mirroring a trend in most IPTV providers, to subsidize the STB in anticipation of selling value-added services and recovering the initial cost from the service revenues. Both Amino and Kreatel Communications STB devices both run on the LINUX operating system.

1.4.3 Growth Potential

Broadband usage in Cyprus at the end of the first quarter of year 2006 was 12.1% from 4.1% in 2005. 46% of households have internet access from home. Internet, mail order & telephone sales for the first half of 2007 show a jump in spending from £8.83 million for the whole of 2006 to £25.4 million.

This subscriber base has experienced increasing growth over the past 3 years, from 2004 to 2006, and the potential to convert these to IPTV customers increases as the broadband subscriber base increases. The other way to drive growth is to use the IPTV offerings to get television viewers (99% of the Cypriot population own a television) to switch over with a less intimidating offering, especially for non-computer owners (almost 50% of the population). Once a tipping point for this service is reached, growth will be exponential. Signs of this happening in the broadband market are evident. Extrapolating to IPTV and from there to Buy Interactive’s products is how we predict growth for our products.

IPTV in India
IPTV, in India, is currently offered by MTNL in Mumbai and BSNL in Pune, Kolkata and Bangalore.Other companies with plans to rollout IPTV Triple Play offerings in the near future include Reliance InfoComm and Bharti Airtel.
The PSUs

MTNL were the first to launch IPTV in India, namely in Mumbai and New Delhi in October 2006.

Subscribers now number less than 1,000 for MTNL, but the company is hoping for a high conversion rate as broadband connections grow to a target of 500,000 each in Mumbai and Delhi.Currently, MTNL has 225,000 broadband lines out of a total of 4.5 million fixed line subscribers in the two cities. To enable transport of high-density video content, MTNL is using compression technologies that can zip as much as 3 megabits per second.

Currently, a subscriber has to pay a lifetime payment of Rs 3,500 (approximately 87 USD) [Prices have dropped to Rs. 1000 approx. 25 USD for current new subscribers] for a set-top box, and a monthly rental of 120 rupees for 52 channels in Delhi. As volumes grow, it is expected that STBs will be made available free of cost. The service of course is dependent on the customer already being a broadband internet subscriber with MTNL. Bundling of services such as Internet connection and IPTV are not offered as yet.

MTNL has increased the accessibility of IPTV in a 3 km radius from each telephone exchange, from the initial 800 metres each, and plans to start rolling out fibre optic cables that will reach 20 km from the nearest exchange. MTNL has invested $120 per subscriber to enable the IPTV service, and is betting on instant interactivity to view desired programmes and convenience of viewing to be the distinguishing features.

BSNL, the other large public communications company with most of its subscribers in the Tier II cities & towns, envisaged a “quantum jump” in broadband penetration by issuing around five million new connections over the next few months. These would include an estimated three million broadband connections across 1,000 cities and another two million connections in the rural segments. Currently, 1.15 million subscribers used BSNL’s DataOne, a 40 per cent share of the broadband segment of 2.5 million subscribers.[As of April 2007 India had 2.43 million broadband subscribers, by April 2008 it is expected to rise to 4.21 million. India has around 65 million cable and satellite homes. If even 10 per cent take IPTV then 6.5 million IPTV subscriber base is not a small one].This is projected to grow to 20 million by 2010 according to TRAI.

PricewaterhouseCoopers, on the other hand, says that while the number of TV households in India is expected to grow to 130 million by 2012, DTH will account for less than a tenth of this number and IPTV less than a hundredth.

Bharat Sanchar Nigam Ltd (BSNL) is conducting a feasibility study to launch broadband multiplay service, including voice, video and Internet protocol television (IPTV). The service, to be offered in 789 cities across the country, would be available at an eight megabites per second (MBPS) speed connectivity, instead of 2MBPS.

Cable operators such as Hathway are expected to enter this market as well. Current efforts to digitize their network and then move into the IPTV space with Triple Play offerings.

Further competition to Telco IPTV providers are expected from Tata Sky and Dish TV, two DTH players currently consolidating market share.

Reliance Communications & Microsoft have signed a 8 year contract to supply IPTV services. The world’s biggest software maker is expected to earn $500 million, or Rs1,965 crore, based on a revenue-sharing formula in the contract as part of license fees for its software. Reliance Communications will use Microsoft’s MediaRoom IPTV platform, a deployment that Microsoft has valued at about $500 million. The carrier appears poised to invest as much as $1 billion on its IPTV project.

The Indian Context

Over 50% of India’s telephony infrastructure can support IPTV ,which for a developing country is very impressive.

Global IPTV revenue is expected to touch $17 billion by 2010. Smooth billing of services is crucial to ensure consumer satisfaction. The bundling of telephony, internet access and television channels makes it necessary to provide a single billing facility to the users. Software that provides this as well as integration of discount schemes is key to making sure that transition is smooth and hassle-free.

At IBE 2007, held in Mumbai between 25 and 27 October, it was predicted that there will be one million IPTV subscribers in India by 2011.

Mobile Telephony & IPTV

Besides the use of telephone and cable networks, Reliance Communications Ltd. , Bharti Airtel and BSNL are experimenting with WiMax wireless technologies to deliver IPTV services to consumers via their existing wireless networks. Government regulations have been eased to facilitate increased bandwidth; this coupled with better compression techniques, that already deliver content to mobile phones, should enable IPTV services via wireless networks for the Indian consumer. The consumer is thus faced with a multitude of choices from which a bouquet of services may be chosen. Thus, a congruence of choices implies convergent services for the end-user.

The regulatory body TRAI is struggling to come to terms with the different vying technologies that can provide these bouquet of services; a rapid overhaul of the existing laws & regulations is called for.

Revenue Sharing Concerns

The biggest fear of content firms when it comes to archiving of their programmes, is piracy and proper revenue-sharing. It is essential that the operator, whether it is the cable-industry or the telecom operator, shares the correct figures about the number of people who watch it and gives the right share of revenue to them. Else the question remains as to why should the content firm should provide its programming to be played as re-runs.

1.5 The Strategy

Competitive positioning strategy is to position Buy Interactive as being a total customer solutions (TCS) provider to IPTV providers; the initial focus is to be the best available product and move towards offering customized solutions, consultancy, training and maintenance services to our customers. The strategy model is based on the Delta framework with specific reference to using technology to provide a competitive advantage. System Lock In(SLI) would be an ideal situation; however, we envisage regulatory and customer resistance/customer sophistication as hurdles to any move in that direction. Key to capturing value via our revenue model is the achievement of critical mass in our complementors markets; we hope to ride the network effects of high market share achieved by our partners/customers. Our aim is customer’s mind-share.

1.6 The Business

The business is to provide a complete suite of software services packaged to allow the cable & DSL providers, primarily to enable t-commerce and secondarily the ability to create advertising content tailored by demographics, location & program content. The interactive/IPTV providers are the customers for the packaged products with Buy Interactive providing installation, consultation, customization and maintenance services, thus providing a Total Customer Solution.

1.7 The Mission

Our mission is to provide state-of-the-art interactive software solutions for the IPTV platform, to provide our customers a competitive edge by the right use of technology to meet their business needs and serve their customers better.

Interactive solutions at your finger-tips”

1.8 Key Success Factors

  • Total Customer Solution Provider

  • Customer Satisfaction & Long-Term Relationships

  • Strong Management Team with Key Technical Personnel

1.9 Customers/Complementors/Alliances

Our core targeted customers are to be the IPTV providers, who would use our products to track & report advertising views, lead statistics, and conversion to sales of advertised products. We also envisage a market for content creation software that would be used by content programming companies, that can synchronize advertised products with the programming content. Direct selling channels/home shopping networks such as QVC, HSN (QVC & HSN already have interactive TV shopping applications) and Shop@Home TV is another customer avenue to be explored. The business model rests on the ability to form strong strategic alliances with online e-tailers to enable their offerings for IPTV. The ability to get strong branded e-tailers to buy in early is critical to the success of the business. The other option is to build a strong local conglomerate of e-tailers and converge their services and products via our software service. This would however require an additional investment in time, capital and training.

1.10 Service/Product Delivery

Delivery of our products would be done by a team of software professionals, that include system administrator, an account manager and a software developer for trouble-shooting issues. Customization of requirements would have to be signed off by the customer and the account manager, after feasibility studies in consultancy with product managers and software architects is completed. Schedules & time-tables for different mile-stones of product delivery are to be agreed on with the customer. Provisions for staging the software and pilot deployments are other important aspects that will have to be considered. All these costs are to be borne by the customer with clauses inserted enabling the customer to pull out if necessary at any stage. Clauses to compensate for new requirements , either overlooked , inadvertent or caused by new regulations will be part & parcel of the contracts. These agreements would be drafted in consultation with our retained lawyers; special provisions to protect our intellectual property (IP) would also be factored in.

1.11 Product/R&D

1.11.1 Base Products & Features

The E-Tailer Enabler

The Enabler is the core product offered by Buy Interactive. The Enabler brings the online retailer to your television set leveraging the use of web-services, HTTP/HTTPS, SSL and the STB stack of software services to provide a much more user-friendly experience for the television viewer. The Enabler has 2 components, the Controller hosted at the operator’s central site and the on-the-fly Intelligent Renderer of the streamed/pulled deals available currently at the online retailer selected. The currently watched television show’s content descriptor tags are scanned for relevant key-words and matched against a local data-base of products and categories. These are then used to pull deals from the online retailer via their provided Web-service APIs and these can be rendered as the user wishes either in a full-screen window or a smaller picture-in-picture (PIP) window. The initial version would leverage the embedded browser components and create HTML pages on the fly to be viewed in the STB browser for speed-to-market. A further development would be a customized viewer with much more interactivity and better graphics; this could be a driver for customer lock-in by the use of a richer user interface.

The Analyzer/Tracker

The Analyzer/Tracker tracks the user clicks per displayed product/advertisement, the no. of views, and conversion to actual sales. This data is used by the operator to bill the e-tailer using a weighted formula based on click count, time spent on related views and translated sales. A percentage of this revenue would be royalty fees accruing to Buy Interactive.

The Distributor

The Distributor component deals with the distribution of advertising and programming related content to the STBs. Premeditated content such as graphics, video & audio can be distributed to the STBs to be scheduled to play along with scheduled programs, ads & events. The pull process is then limited to the prices and deals being offered for the products. The distributing process is transparent to the television viewer; content can be cached at servers located closer to the area to reduce network latency similar to the process used for Video-On-Demand (VOD). This meta-data is to be rendered by the Intelligent Renderer and synced along with the program & ad content.

The Service Updater

The Service Updater component updates the software stack of services on the STB. The Service Updater component seeks to ensure that the STB is autonomic, I.e. It is self-diagnosing and can fix itself except in the most rare circumstances. The STB can communicate with the Updater service and intimate it as to the current status of the STB, it’s content as well as the playout of content, if necessary. The Service Update STB component can check for updates if available and download them to be applied either immediately or at a programmed time or on shutdown or start-up. Care is taken to ensure minimal disruption of the viewer’s schedule.

The Shopping Cart

The STB services platform will include a shopping cart functionality that is owned by the service operator. This can be configured to override the e- tailer’s shopping cart or used for the operator’s promoted products such as telephone & cable equipment to be purchased.

The Billing System (BS)

The Billing System provides the television viewer statements of their online purchasing activity sent out to them either by mail or e-mail.

It also has B2B functionality to bill the e-tailer for service provided. All this is enabled via a server side billing system that is scalable to meet the growing subscriber base. This would integrate seamlessly with the Subscriber Management System to provide a complete customer management system.

The Subscriber Management System (SMS)

The Subscriber Management System would integrate with the operator’s existing customer database and would add additional tables to provide for additional customer specific data needed for the SMS & BS to function.

SME E-commerce Server

For small merchants and local retailers, the SME E-commerce server provides a service where they can hawk their goods and services. This will be provided to local businesses as a SAAS application that can be accessed via their own customer accounts, so that they can upload details of their goods and service including pricing, special discounts, promotions and sales. The E- commerce server is an Open Source based application server, that will have a stack of web-services provided on top of the existing application to enable these to be pulled to the STB to be rendered. An instance of this Application Server will also serve as a proof-of-concept to be shown to prospective clients.

Data-warehousing (DW)

The total suite of offerings would be incomplete without being able to facilitate data- warehousing to enable managerial decisions for the operator. The initial implementation would use an off-the-shelf implementation with data warehousing specialists and business analysts to work together to identify the various data-marts & dimensions to be stored in the data-warehousing system. This differs from the data-warehousing solutions currently implemented & used by both the e-tailer & the service operator.

1.11.2 Add-Ons & Extended Product Lines

The Content Creator

The Content Creator software allows the user to create tailored content using graphics, audio, video and animation to produce MPEG2 and MPEG4 content.

The Content Editor

The Content Editor allows the user to edit existing content mostly to create or edit additional tags to describe the content and add relevant key words and date information.

E-auction Server

The E-Auction server is an application server that incorporates all the features of an e-commerce server plus the ability to store various bids and dynamic pricing of goods and services. This feature will be an enhancement of the SME e-commerce server and will include features that enable tracking bids , closures. Merchants will also have the facility to upload their product offerings and latest deals.

1.11.3 Technology to be used

LINUX OS for embedded devices/Windows CE

Java2 Micro Edition(J2ME) / .NET platform

Java XLETs/Windows API

Proprietary Extension/Set-top Box APIs

SOAP web-services

RESTful web-services

HTTP/HTTPS/SSL

Embedded Browser

RFID for single-sign on

E-commerce Application Server (Open Source)

WebServices API for E-commerce Application Server

Your comments here!

Reblog this post [with Zemanta]

 

Share this post :