Enterprise Innovation

I recently read an article “Ted Talks are all Lying to You” wherein the author was opining that our standard literature around creativity and innovation in the business domain is complete rubbish. The article is an interesting read, but at the end of the day, creativity is not what most people in business do – they do opportunity. Opportunity is all about taking the stuff that we already know, do and have, and finding ways to get paid more for it.

Innovation and Opportunity

Innovation in business often comes from opportunity. As we are “doing opportunity” we see a way to get paid, that we currently don’t do, exactly. A client has a need that we can’t fill. A client has an interesting but awkward use for an existing product that leads us to make a new product more attenuated to that use. We see an opportunity to reduce cost (increase profitability) by radically simplifying a production process.Continue Reading

Quality Beyond “Working”

When you think of the term “Software Quality”, what comes to your mind.  Let me propose that how you think of quality depends heavily on your “relationship” to the software product.

If you are a user of that software product – quality relates to the following qualities in order:

  1. Operational Correctness – It produces the expected results given the appropriate inputs.
  2. Utility  – It adds value to me in support of specific job activities.
  3. Efficiency – I am not required to complete steps that are not “relevant” to the outcome.
  4. Performance – I don’t feel like each operation takes soooo long to finish.
  5. Consistency – The way I interact with this software feels the same across the range of functions.

What about if you are a manager of the users of that software?

Continue Reading

IT Staffing Strategy and Procurement

In between IT managers and the vendors they use for staff sourcing, there is an administrative organization. This organization is responsible for contracts and policies that support the hiring of contract staff. Some organizations house this inside of human resources, others inside of what would be a traditional purchasing or procurement department.Continue Reading

Design Philosophy And Coding Style

Caution, Rant Alert!

In my career, I have been some kind of leader on about a dozen new application projects. It is interesting to me that the only time I have ever heard about “design philosophy” or “coding style” is when some new developer comes on a project and gets his butt handed to him in a code review. Specifically, what I hear is a defensive posture which sounds like an excuse for code that is not a good fit for purpose or consistent with the surrounding application.

In a prior post HelpingTheTeam I talk about some new developer problems. This is another, perhaps less common issue.

Here is a list of bad coding practices that I have heard defended as “design philosophy” or “coding style” and why they are neither philosophy or style:Continue Reading

A New Aspect of Talent

Seth Godin’s Post: Your Alphabet   is a reminder to me about something that I thought while writing these two posts describing the aspects of talent IT Staffing Talent and IT Staffing Strategy Considerations.

These two posts talk about talent and about the impact of talent on IT Staffing Strategy.  Seth’s post reminded me of one definition or description of talent that I had removed from the prior posts because it didn’t flow or fit.  Sometimes talent is the ability to take skills or abilities that one has and combine, manipulate, repurpose, or bend them to accomplish something one does not have the “accustomed” abilities to do.Continue Reading

IT Staffing Sources and Process

In the application delivery domain, there are four basic sourcing models or patterns:

Permanent – the team is composed of permanent employees
Contract Staff Augmentation (onshore) – the team is composed of some mix of permanent employees and local contract staff hired by our managers.
Outsourcing (onshore) – the team is composed of contractors from the same firm with their own embedded leadership that chooses their own team either on premise or off premise as agreed.
Outsourcing (offshore) – the team is composed of contractors from the same firm with their own embedded leadership that chooses their own team usually the majority off-premise, off-shore with some on-shore, on premise presence as an “interface” layer.

In each of these patterns as we progress from permanent to offshore the domain knowledge of the developers decreases. With this decrease in domain knowledge, greater rigor in communication and documentation are required. Continue Reading

A Quick Planning Primer

This post is for those of you who are having to plan your own activities, or the activities of others for the first time.  Or maybe you just want an easier faster way to think about creating a plan.  Maybe you want something simple – because all the complex project management body of knowledge ideas or other methodologies are making your head explode.  For whatever reason you want to learn to make plans quickly, simply and easily – this post has your name on it.

Remember planning has three basic steps:

What needs to be done?  In what order?  On what schedule?

Everything after that is some form of optimization.  Since we are not optimizing, we can be simple, quick and easy.Continue Reading

Top Six Estimating Tips for Programmers

Every programmer struggles with providing estimates. It is a universal truth of software development. Most of the time we go way too deep, try to be more precise than we have any reason to be. Many times we have fear driving our estimates – what if they are too big (will they cancel the project? or will they assign the work to someone else?) or worse, what if they are too small (will they fire me because I appear incompetent?).

Here are my top six tips for solving estimation challenges in software development projects:Continue Reading

IT Staffing Talent

Skill – The ability to execute a practice, process, or procedure successfully; the ability to accomplish.

Competence – The ability to increase or acquire skill over time; the ability to grow in capacity.

Talent – The ability to decide which skill is best to apply, and/or invent and execute practice, process, or procedure, where no skill exist with reasonable success, and/or the propensity to gain competence in acquired skills.

If you take the definitions above from my prior post, you will start to recognize that much of what IT does requires talent. That skill and competence deal primarily with repetitive activities, that support an essential certainty about their execution. While these activities require decision making, the decisions and the decision criteria are constrained, they follow patterns.

Those of you who have spent their careers in IT will recognize that many of the activities that IT professionals do are not repetitive. They require invention, hypothesis, or discovery. These activities present new and unconstrained decisions. In short, they require talent.Continue Reading