Friday, August 8, 2014

A Review of Leadership Models


Leadership is well defined - that's not the problem - the problem is it has many, many various definitions. Leadership definitions change throughout time. Your grandfather's definition of leadership may vary quite drastically from your's - ask him if you have the opportunity.

A modern classic definition:
Leadership is a process whereby an individual influences a group of individuals to achieve a common goal. -- Peter Northouse

Series Outline:

A brief history of Leadership
   A working definition of leadership
   Is leadership a process
   May leadership emerge from a group
   Is leadership more than a form of coercion and power
Various Leadership Approaches
   Situational, Skills, Style, Trait
Leadership Theories
   Contingency Theory
   Path-Goal Theory
   Leader-Member Exchange Theory
   Transformational Leadership Model
   Servant Leadership Model
   Authentic Leadership Model
   Team Leadership Model


Disclaimer:  as this blog is a from of note keeping for me - an extension of my cognitive model of the universe of knowledge - this article and the series of article may be in great flux until complete (or good enough to quit editing).


References:

1) Leadership Theory and Practice - 6th Ed. by Peter Northouse.


Tuesday, August 5, 2014

Servant Leadership Model


Do a Google search on "servant leadership" and you will get plenty of hits (2.5 million for me just then). So if you don't know what it is cruise on over to http://en.wikipedia.org/wiki/Servant_leadership and check out the 21st century "Cliff's Notes" on the topic.

Disclaimer:  as this blog is a from of note keeping for me - an extension of my cognitive model of the universe of knowledge - this article and the series of article may be in great flux until complete (or good enough to quit editing).



Greenleaf's enlightenment of Servant Leadership stems from his reading of  Hermann Hesse's short novel, Journey to the East. "Hesse's story is an account of a mythical journey by a group of people on a spiritual quest where the recognition of the true leader of the group takes place as a result of his acts of service and self-sacrifice for the benefit of the whole group. As Spears tells it, upon reading this story, it seemed suddenly clear to Greenleaf that a 'great leader is first experienced as a servant to others, and this simple fact is central to his or her greatness ... true leadership emerges from those whose primary motivation is a deep desire to help others' " (3).

I find it troubling that in Hesse's story the servant leader, Leo, abandons the group and it disbands, failing in it's quest to find the ultimate truth.  Our hero of the story later searches and finds Leo, and it turns out that Leo is the leader of the "League" which sat about to test the group's faith with the journey.  So is this parable to be emulated, do we wish our servant leader's to test and abandon us when we fail?

I do however like the concept of a leader as servant to the followship and the purpose.  I think we should make our diagrams and models reflect this by placing the leaders at the bottom of the diagrams (org charts) with their actions and behaviors supporting the team (followship) within the context of their shared purpose.

This orientation was done on some of the first Org Charts by the railroad.


See Also:

A Review of Leadership Models

References:

1) Leadership Theory and Practice - 6th Ed. by Peter Northouse.

2) Servant Leadership: A Journey into the Nature of Legitimate Power and Greatness - 25th Ann. Ed. by Robert Greenleaf

3) The Myth of Servant-Leadership: A Feminist Perspective by Deborah Eicher-Catt

Sunday, August 3, 2014

Considering Outsourcing Software Development - a model

What are the considerations when the business wants to reduce the cost of the IT department and they want to outsource some or all of the costly software development group?  Here is a model to help you think through this decision and some additional resources.



Introduction

What decisions must be made to implement an IT Outsourcing program?  Are these decisions similar to the decisions that leaders must make for an Agile program?  How do they differ, how are they similar?  What are the expected outcomes, and the possible outcomes?  Which decisions have high stakes with no-return points along the transition map?  Which decisions are safe-to-fail and possible to repeat and iterate toward success?

Comparing and contrasting basic road maps for the implementation of major process change is fraught with generalizations that may easily be questioned.  The intent of this paper is to objectively represent the set of high level decisions and expected outcomes that lead to a success regardless of which path is chosen.  Choosing the path is your decision.

A general model

If we model the decision path as a journey with an expected destination, but unknown terrain this metaphor may serve us well.  Journeys are made of many decision, some made before the terrain is known, some made with little information, many decision must be adjusted as the journey progresses.

…. to do…

Decisions to be made along the path:

Can innovation be separated from execution without extreme risk?
Does outsourcing add value -or- just decrease cost?
How does the outsourcing approach transition to a value-add mind-set?
What need are we addressing with an outsource model:  from innovation <-> maintenance?
What does an optimized cost reduction model look like?  
a headless remote team; recruiting agency; software R&D provider; other?
What is the right service model for our organization?
outstaffing; <-> custom app dev
How does one mitigate the risk of vendor lock-in to the outsourcing provider?
What does the *right time* to outsource look like?
Where is the point of no-return in the decision path?
What does outsourcing require that IT is already great at delivering?
What does outsourcing require that IT is poor at delivering?  Can this capability be outsourced?

Along the journey - where is the point of no-return?

Investigation of Options

“Intelligence should be viewed as a physical process that tries to maximize future freedom of action and avoid constraints in its own future.”  — Alex Wissner

A model of intelligence at an abstract level is an organism that preserves options until a specific time horizon at which point it decides while seeking a goal (TED Talk: Alex Wissner-Gross: A new equation for intelligence). 


What is the goal of the Information Technology organization?

Is it to reduce the cost of IT to the organizations - or - might it be a more aspirational goal? More in alignment with the corporate mission.

Why do organization outsource?

Software development is not a simple endeavor.  Standish Group has studied the problem space for years and release yearly reports that in general show an marginal improvement in recent years from a low point of roughly 80% failure rates a decade ago.  However; “[o]utsourcing has not proven to be a magic wand; it has failed to deliver the expected results over fifty percent of the time.” (1, 3)  Gartner predicts that spending on outsourcing will increase from $268 billion in 2009 to $325 billion in 2013.  Research suggests the reason for this increase is the perception of economic, technological and strategic benefits.  These benefits come with additional challenges, and externalities.

Organization outsource to:
  • Focus on core activities
  • Reduce cost of development executation
  • Add staffing flexibility for special projects
  • Augment skills not presently available
  • Reduce development time associated with project ramp up
  • Improve quality (by working with more experienced developers)
  • Improve management (by levering vendor’s experience/knowledge)

Define our reason to outsource - be absolutely clear about why.  A clear purpose will enable decisions with reasonable chance of success.

What challenges does outsourcing resolve?

The cost model is typically the first response to the reasoning behind the decision to outsource.  Engineers in offshore locations are on relatively low compensation plans compared to the US, this relative cost advantage is apt to shrink fast however (5).
The scheduling of project manpower and resources is another key reason to outsource.  When project ramp up and termination are time sensitive offshoring may have tactical advantages to staffing internal projects with varying resourcing needs.

Specialized skill sets are another key reason to outsource.  Assuming that the skill set is not a core capability to the problem domain.

Mid-term budgeting and cost accounting become easier.  Small projects cost accounting becomes cost prohibitive so effort must be done to aggregate small project, or define a class of service that allows for ad-hoc scope management.

What challenges does outsourcing compound?

While software product development is a known challenge, outsourcing is a known challenge compounded by more players on the field.  The software development process will be distributed across multiple organizations with multiple cultures and value systems.

Outsourcing firms must effectively manage:
  • the scope of projects
  • the process that implements the deliverables, and
  • the people involved (customers, their clients, their staff, as well as vendors).
The pitfalls of an outsourcing model:
  • Requires constant highly skilled management and logistics
  • Increases departmental frustration
    • timezone differences lessen communication windows
    • need for higher quality architecture
    • lower quality of solution (not what we wanted syndrome)
    • need for better testing
    • scapegoating the vendor
  • testing is more difficult & results in longer test/fix cycles
  • company morale may suffer


There is no one right model to handle all of these management tasks.  In the grand scheme of things, success in outsourcing depends on how well you plan, organize, execute and control these very areas that are required for in-house development also.  Failing to understand these factors and relationships puts the outsourcing program in high risk of failure.

Successful Project Scoping for Outsourcing

Projects that are well defined in terms of scope/features (well known technology and well know requirements) are simple and prime candidates for outsourcing [the simple domain of the Stacey Diagram]. 

Project types require various amounts of effort in scoping - not all projects are the same - don’t treat them similar.  The most difficult is the innovative new application platform with a high degree of market risk.  These are typically high and to the right on the Stacey diagram.  Requirements are not well known, and the technology used is far from certain.

Scope management is the ultimate driver of value delivery.  In the traditional PMI Iron triangle managing budget is a well known problem domain, managing schedule is difficult but practical when using a Project Process Management model, however scope management is the most difficult.  It is also the leg of the iron triangle that is most often ignored as a lever to be used by the customer to make scope decisions with economic trade-off in mind.  Having a value-based model of project success has proven more satisfying to customers than a cost model (implied all scope & implied on schedule) model.

When project scoping is easy and well done the project is ripe for outsourcing.

If scope change management is a likely difficult internal process - then adding a few more contractually obligated layers (vendors) is exasperating the issue.  Scope changes must be controlled, they increase workload, and management overhead, they raise costs and lengthen schedules, as well as hamper quality and integration capabilities.

When outsourcing software development perhaps the worst situation is scope creep caused by ineffective change control.  This will cause:  cost escalation, quality shirking, schedule delays, unused/unnecessary features, reworkitis, staff demotivation.  The motivation issue creates a viscous feedback loop enhancing the negative aspects of the other effects.

A latent problem with outsourcing is the division of total project delivery scope.  Few new application development project scope out the actual delivery of the product and all it’s ancillary systems and work streams.  Scope division is the process of understanding the responsibility and ownership of work to be done in-house and by vendors.  Not all of the work may be outsourced.  Retaining the knowledge of systems and integrations is key to continuity of the business. Counter these risk via well designed architecture components that are independent of each other.  Foster accountability and ownership of components by a single entity.  Deploy frequently and test all interfaces.

Outsourcing may provide many economic benefits, yet it still follows basic economic rules.  It saves on wages and real estate costs, but cannot always significantly reduce the amount of time that a project takes.

Successful Project Process Management for Outsourcing

The business process of outsourcing is very important and must complement the software development methodology.  This management process includes: defining the vendor team structure and interfaces, the development methodology to be executed across the client/vendor system for the project, software development management tools (source control, build systems, test systems, project progress reporting, collaboration & communication tools), proper quality assurance expectations both at the vendor and the client, as well as customer QA.

Team Structure - beyond the typical player on a software development team, outsourcing project typical require the overhead of two key roles.  An in-house product manager responsible for daily interactions with the development team insuring timely resolution of problems that arise in the development requirements.  A vendor-located technical leader, responsible for the vendor team and highly collaborative with the product manager.

Tools and metrics for monitoring the project should be selected to match the type of project (new development or maintenance), the development methodology (waterfall / agile / lean), and the companies cultures.   When selecting a vendor a fluent demonstration of their management tools is a great indicator.

Vendors with a mature outsourcing program will have a well known and easily demonstrated quality assurance process.  If the QA work is to be done in-house rather than by the vendor this scope division should be well understood and the cost/benefits weight and measured throughout the life of the project.  Establish typical engineering standards such as: coding style guides, documentation standards, controlling procedures, bug tracking and reporting, defect prioritization and triage responsibilities, testing phases in the release plan as durations, release criteria with regard to defect count, severity, types of testing to be performed (usability, regression, performance, load, etc.).  One perspective of outsourcing vendors is to gauge their maturity in QA; vendors with a long history and successful future will have developed mature QA capabilities.

A core capability of outsourcing vendors is their communication techniques.  When the team is physically separated (as in most outsourcing situations) communication becomes a multifaceted issue with compounding issues such as:  language and culture, approval chain of command, time zone, domain knowledge, travel, and industry experience.


Successful Project Stakeholder Collaboration for Outsourcing

Make specific plans to involve the customer, end users, and key stakeholders in the development project.  Active participation in the process leads to greater product satisfaction.  Clearly define their role and responsibility, setting expectation and constraints on their involvement.  The proper balance will change with project type and methodology. 

Prior to outsourcing software development the organization must be prepared.  This decision has long term effects and will effect the attitudes and motivation of many existing employees.  While pursing an in-house development organization hiring decision are biased toward development skills; in an outsourcing organization the managerial skills will ultimately lead to success.

Hiring Mean Development Skills  - - >  Hiring Organizational Superpowers
Subject Matter Experts - - > Communicators
Domain Knowledge - - > Integration / Operations
Implementors - - > Planners




Successful Program Management for Outsourcing

Beyond the typical software development project related management issues, the outsourcing program has higher level concerns to deal with.  These are typically handled via contracting and source selection processes, and then via executive level negotiation of problems and breeches.

Typical Outsourcing Issues (non-software development related): (6)
  • Liability Insurance 
  • Software Licenses for third party access to systems
  • Ownership of information (sample data and testing data)
  • Inter-organizatioal system performance and access requirements
  • Service Level Agreements
  • Reporting and review of SLA
  • System access and security
  • Intellectual property indemnity
  • Distaster recovery


Many organizations spend countless time and energy selecting and reselecting an outsourcing vendor.  This trial and error process may result in a well integrated vendor that is an indispensable partner.



References:

1) A Practical Guide to Outsourcing Your Software Development PDF by Selleo (a Poland based outsourcing firm)

2) Tips for Outsourcing Software Development: Ensure Outsourcing Success HTML by Auriga (a Russian outsourcing firm)

3) Fabriek M, et al; “Reasons for Success and Failure in Offshore Software Development Projects.” [in] The 16th European Conference on Information Systems; Galway; Ireland; 2008


5) The End of Indias Offshore Dominance by Mark Hebert
http://news.cnet.com/The-end-of-Indias-offshore-dominance/2010-1022_3-5668292.html


7) Outsourcing decision support: a survey of benefits, risks, and decision factors, by Tibor Kremic; Supply Chain Management: An International Journal

8) The Evaluation of the Outsourcing of Information Systems:  A Survey of Large Enterprises by Chin-Chia Hsu, International Journal of Management Vol 23, No. 4 Dec 2006

Tuesday, July 29, 2014

A Partnership for Innovation in the Enterprise

Apple and IBM joining forces - oh really?  Will George Orwell be rolling over in his grave - will his 1984 become truth in 2014?

Well, one must follow the news to make sense of that gibberish... and the 1984 reference.... it goes back to the famous Superbowl Apple commercial introducing the Mac.

An IBM/Apple partnership to tunnel into the enterprise walled garden for devices is a great idea.  As a consumer it works for me.  I don't know of any enterprises that can pass the Starbucks Test (test for the ubiquity of access for the digital native).

In 2005 (years before the iPhone) Apple joined forces with Motorola to launch the ROKR, a cell phone and iTunes connected music player.

"Jointly developed with Motorola and made available on what was then the Cingular Wireless network, the iTunes-savvy Motorola ROKR may have been fugly, but Apple engineers learned as much as they could while developing it: lessons which helped them avoid the same mistakes in the iPhone..." -- Jonny Evans

The ROKR was a great "beta" success for one of the partners (Apple) and a market failure for the other.  The device was both a phone and a 100-song music player with iTunes integration.  I bought one for my wife and she didn't love it.  I (the geek in the family) found it intriguingly interesting but frustratingly difficult to manage the songs and syncing.

It was not the disruptive innovation that would come two years later.  For $250 and a two-year contract you got a 1.7 inch color display, stereo speakers, camera/video recorder and a phone with a few built in "apps".  What did Apple learn from the introduction of this device and the partnership with the leading mobile device maker?  One thing they learned was that without full control over the product it would be ugly!  It was not innovative - just an incremental mashup of the walkman with the cell-phone.  Jobs was after revolution.  Hence the 100-song limit on the ROKR.  The iPhone launch was only 17 months away in January 2007.  Of course Apple would want to cripple the device, yet slip their toes into the waters.  What a great beta test with real users and all-out marketing to see how the US would react.  The product launch and validated learning was quite beneficial to Apple, not so much for Motorola.

Will the IBM-Apple partnership prove beneficial to both?  Some pundits feel it is an indication of weakness in Tim Cook's leadership and that it is signaling a lack of innovation at Apple.

The deal according to the Wall Street Journal has IBM developing 100 iOS apps and supporting the business customers using those apps and products.

IBM will sell iPhones and iPads to its enterprises clients.  Putting thousands of IBM consultants peddling the new Apple mobile app development language Swift.  Along with apps that manage your enterprise.  The answer to everyones Jeopardy question... will Siri go out with Watson?

So what will be the outcome of this partnership - will it benefit both companies - will it crack open then enterprise to mobile devices?  All very good questions that we should be able to answer in two years or so.

See Also:

http://blogs.computerworld.com/18914/apples_first_ever_itunes_phone_launched_today
http://www.apple.com/pr/library/2005/09/07Apple-Motorola-Cingular-Launch-Worlds-First-Mobile-Phone-with-iTunes.html
http://www.forbes.com/sites/petercohan/2014/07/16/with-ibm-partnership-apple-proves-its-innovation-mojo-has-been-smashed/
http://online.wsj.com/articles/apple-ibm-in-deal-to-create-apps-sell-phones-1405456933

Monday, July 21, 2014

What's holding down your team's Velocity?

Is your "Agile Project Manager" driving the team to increase their velocity?  Has the Agile Death March begun?

Fred Brooks warned us of these dangers nearly 25 years ago in The Mythical Man-Month.

One antidote to the PM schedule crunching technique of throwing warm bodies at the problem is to remove the impediments that are known (or just under the surface) within the structure and environment that holds the team back from performing at more efficient delivery rates.  So many times the line workers (developers and testers) are well aware of these issues, and feel as if they have raised them many times and gotten little attention (mostly negative attention) from managers.  A classic game (Innovation Game) to expose these impediments is Speed Boat.

I just saw this image of the anvil holding the balloon down and thought it would make a great visual metaphor for the Speed Boat game.  See the article by Alan Dayley Velocity is Like a Helium Balloon to get a hi-res poster.

Thursday, July 10, 2014

Factors that support Creativity

Many companies have initiatives to become innovative.  There are some companies that don't appear to need a leadership sponsor to get competitive innovation - wonder why.  Perhaps they have some fundamental aspect to their organization that allows them to be creative.  What would be those aspects?

Here's my research on the topic of creativity.

Predicting Creativity in the Wild-- a research paper on the use of sociometric monitoring of teams by Sociometric Solutions.

Actor John Cleese talks about creativity.  It's about the open mindset of play.





Play is More than Just Fun - Stuart Brown; TED Talk


Stuart Brown has studied play in animals and humans and argues that it is a natural tool used for creative problem solving.

Play by Stuart Brown
"We've all seen the happiness on the face of a child while playing in the school yard. Or the blissful abandon of a golden retriever racing across a lawn. This is the joy of play. By definition, play is purposeless, all-consuming, and fun. But as Dr. Stuart Brown illustrates, play is anything but trivial. It is a biological drive as integral to our health as sleep or nutrition. We are designed by nature to flourish through play."

"Dr. Brown has spent his career studying animal behavior and conducting more than six- thousand "play histories" of humans from all walks of life-from serial murderers to Nobel Prize winners. Backed by the latest research, Play (20,000 copies in print) explains why play is essential to our social skills, adaptability, intelligence, creativity, ability to problem solve and more. Particularly in tough times, we need to play more than ever, as it's the very means by which we prepare for the unexpected, search out new solutions, and remain optimistic. A fascinating blend of cutting-edge neuroscience, biology, psychology, social science, and inspiring human stories of the transformative power of play, this book proves why play just might be the most important work we can ever do."


Dr. Brown's 2008 three part PBS series on Play:
     PROMISE OF PLAY, Part 1: The Mother of Invention
     PROMISE OF PLAY, Part 3: The Heart of the Matter




Wednesday, July 9, 2014

Impediment: Network down time

I'm working with a large networking (telecommunication) company on a mission critical new initiative to replace existing B2B account services functions that are siloed and separate with a new sexy UI where all the services are aggregated in one portal.  The development has been underway for over one year.  It is touted as an "agile" program.  Yet an interesting impediment has never been resolved.  That is the internal WiFi/Lan systems appear to be overloaded with the strain of development, over utilized with the number of people that are squeezed into the floor plan (I call the sardine can).  This system fails quite frequently, it is a well know impediment to sprints being completed, stories integrated into the build, builds tested, access to the QA server, etc.  Yet this impediment remains after months and continued growth of the program.

I wonder if the problem is that management feels that they can't do anything about infrastructure at one of the largest telecommunication companies in the universe.  Perhaps they believe that the cobbler's kids should have no shoes - that is is just the way of the world.

I frequently wonder if this program was a client of the company would they cancel their service for the networking products and seek an alternative supplier.  I wonder if that would be an option for this program.  I wonder if this is a case of having to eat your own dog food - imposed by some evil VP to make the teams understand just how bad the customers have it using our services and administering them using the system we have provided them - but then I realize - no that would take real organizational ability and if it could be used for evil - then surely it would be as easy to use that super power to organize for good.  And since I can feel little organization, I assume there is no super power in existence.

So perhaps one step in the direction of making this problem understood would be to calculate the cost of the frequent network down times and make this cost visible.  I've done this before with other such impediments - with varying levels of success.

I just saw this article:

How Much Does Network Downtime REALLY Cost Your Business? [Shocking]

It contains a link to a calculator - makes it easy... try it - you might like it.

What would you do?  Please leave me a comment with suggestions.