BA: Business Alignment

Wednesday, August 25, 2010 by Aaron Whittenberger
STAR BASE Consulting is conducting a new pulse survey this month asking the question “is there really a rivalry between IT and Business or is this all just sensationalized hype?”  I am very interested in seeing the results of this survey, but I believe I can predict the results.  In almost every organization I have ever worked in the “Us vs. Them” culture existed.  The relationship between IT and Business was more segregated, even adversarial at times, than that of a partnership.

Kupe tackles this topic this week on BA Times, where he discusses creating an environment in which the business wants to work with IT to derive technology-driven solutions.  Doug Goldberg does an in-depth analysis of the subject on his blog, in which he describes approaches that a business-side analyst and an IT-side analyst to take to create a collaborative environment.

This topic is nothing new, just as the relationship between IT and Business is nothing new.  It took decades to get it where it is today.  I am sure you can find bright spots in which IT and Business work together to achieve their goals, but in more organizations than not, this is not the case.  Just as business processes and technology advance year by year, the relationship between IT and Business can be made better.  I believe the Business Analyst is in prime position to turn the relationship around to a positive, collaborative, trusting relationship in which the two work together to achieve the strategic goals and initiatives of the organization.  Why the BA?  The BA is one role that works on both sides of the fence.  The BA works with business stakeholders to bring out requirements for business improvement or application development solutions.  The BA also works with the IT Solution Delivery Team to develop the solution that meets the business requirements.  As the BA works with both teams, they are in prime position to bridge the gap between the two.  So how should the BA go about bridging the gap?

Build a Relationship of Trust

One of the often overlooked roles of the Business Analyst is that of liaison between IT and the Business.  In order to fulfill this role the BA must have a relationship with both sides of the organization.  That relationship has to be built on trust.  The business must understand that the BA is there not only to gather requirements but to understand the needs of the business and represent those needs to the IT delivery team.  The IT delivery team must feel that the BA will represent the capabilities and limitations of technology to the business. 

Communicate

The greatest factor that creates the “Us vs. Them” relationship is a lack of understanding.  The business wonders why it takes IT so long to make a seemingly easy change.  The IT application development team feels that business can not communicate effectively and does not understand the process of making application enhancements.  Last month I spoke about creating a shared vision in relation to requirements and IT solutions.  The BA should also create a shared vision of the needs and limitations of one organization to the other.  The BA can communicate not only the requirements for IT solutions, but the stakeholder concerns surrounding those requirements.  This adds context and can improve the ultimate solution developed as it increases the IT delivery team’s understanding.   The BA can communicate to the business that the process of making application enhancements is more involved then changing a little piece of code and there it is.  Testing, Quality Assurance, moving changes to production, Sox regulations, post-install processes and support are all time consuming tasks and increase the amount of time it takes the IT application development team to make an application enhancement.  The more the business understands about these processes and the value they add to the solution, the more considerate they will be to the needs of the IT delivery team.

Build the Bridge

Through effective communication of the needs and limitations of one side of the business to the other and representing the other team to each team the BA can build a bridge of understanding between the two groups.  By making each side realize that we are all in this together and desire the same outcome, you can build a relationship of trust and get rid of the “Us vs. Them” scenario and replace it with a collaborative working relationship that brings about better IT solutions to business needs.

So take the liaison role of the BA seriously and work to replace the adversarial relationship with a collaborative, understanding relationship.  In this way you can show the BA value to the organization.

Why? Because that’s The Way It Is!

Friday, July 30, 2010 by Matt Warman

If you thought your job as an application development person is difficult, try being a consultant. I love my job as a consultant because I am able to affect change, that is, when people want it. The most dreaded phrase a consultant can hear is “that’s the way it is”. Those words have no rebuttal, no further review. It’s the organization’s way of saying “talk to the hand”! My job is to find gaps in code or process and bring them up to the client. Often times the client has fallen into way of doing things that are counter productive, or more likely, have not changed since the process was in place. A case in point, I was having a discussion with an architect about code review. I noticed that they had the Legacy style user, date, and change comments at the top of their classes. I made a review comment that they weren’t necessary, because Subversion tracks the changes for them. It was due to their work process that comments would be lost by Subversion on multiple merges. I mentioned that several high profile companies use Subversion and don’t seem to have a problem. The architect said that research was performed and it doesn’t, and if I have a better solution, I should do my own research before making a comment. I told him that software does indeed improve, and that if research has been done, it should be reviewed periodically to see if the issue had been fixed. I did research the issue, and Subversion did have bug but was fixed, and my client could use comments in their merged code. The key here is that the staff complains that changes don’t get done, but when they are in a position to make it better, they don’t do it. If anyone investigates a new technology or work process it should be DOCUMENTED AND REVIEWED! I don’t know if it will be investigated because it seems like a trivial issue, but the main problem is that the application development people complain that nothing changes. It’s our Culture. Culture is people, and all people, especially application development people can change culture. If there are deprecated methods and TODOs in production code, bring them up in your code review. I don’t accept “that’s the way it is” as a reason. You can’t change a decision for business reasons easily, but you can fix how things get done. If I don’t like the way that it is, I make it better.

Phone Questions and Blog Roundup

Friday, July 23, 2010 by Matt Warman

I have been writing a lot about phones recently. What application development person wouldn’t be excited about the new smart phones? I will talk about that later, but first, the news!  My colleague Aaron Whitenberger has been interviewed about his role as a Certified Business Analysis here at STAR BASE.  If you didn’t know there was such a thing, you should read it now. I wrote my take about Google VS Viacom. Google spent 100 million dollars to defend their right, and it didn’t even go to trial. Vicacom is appealing, of course. The price of freedom is very steep.

Now on to my phone questions! A Java application development  peer my client site refuses to get a Android phone because of “market fragmentation”.  “I like that iPhone is walled off, but it’s on ATT”. He loves his blackberry, so maybe he doesn’t need it. This post from Slashdot  seems to support his case. My questions to you are why did you get a smart phone? Did you consider the operating system when you got your phone? Which would you rather choose, a fragmented but open system where you can get any type of app but could have bloatware, or an operating system ruled by a “benevolent dictator” which strictly controls your hardware and software, but you are free of bloat issues? I choose Android because of its openness. I do have the technical skills to root my phone to remove bloatware if I need to. Some people can’t or don’t. I think Apple went down this road before, and I think you will see Android be the market share winner. Let’s see if Google can do better than Microsoft in maintaining some control of  the platform, but still give 3rd parties the tools to innovate.

Youtube Versus Viacom

Wednesday, June 2, 2010 by Matt Warman

For those of you not following geek things, there is a lawsuit going on between Youtube (owned by Google), and Viacom (CBS, Daily Show, Colbert Report). Viacom is angry that some of their content was posted on Youtube. Apparently, there was 63,000 separate items on Youtube that were copyrighted by Viacom. Viacom has been supported with a “Friend of the Court” brief by NBC, BMI, and ASCAP (Basically the RIAA). Google has similar briefs by EBay, Facebook, Amazon, and Yahoo. How does this court case affect me as an application development person? Well, it could determine your web application development. There are many interesting issues here: fair use, piracy, site owner responsibility. The key issue here is for the very soul of the Internet. As you probably know, the Internet was created to share information amongst researchers around the globe. This communications device allows us to share voice, text, audio, and video. This makes it easy to share ideas, even if those ideas weren’t ours. A part of that communication is the same kind “water cooler” talk that everybody has done for years. “Did you see what that talk show guy said last night”? The only difference is now you can post it. This song expresses how I feel, and I have added some pictures to show how it has affected my life.
The media outlets want the site owners to control the content on their site. They claim that Youtube is a content provider, and thus are “stealing” their content for gain. This would be analogous to suing the U.S. mail for getting a threatening letter. We have fair use,  so any signal sent through the airwaves is free for anyone take and use. This meant that anyone who broadcasted, the content could be consumed by anyone. The content providers made money by placing advertisements in the content. Since that time, content providers have been using congress to side step these boundaries by changing the length of copyright, putting "digital" rights on formerly analog content, and pushing for laws that allow content to be controlled by the provider. The large media companies ignored the Internet because there wasn’t any correlation to their business. When companies like Google started to compete for the same advertising dollars, the large media outlets saw the Internet as a threat to their business model, and are now looking to destroy it.
No one is trying to deny content providers money. It was agreed long ago that your work was yours, but eventually it would be owned by the public. That changed when media companies are entirely built upon their own content (just look Mickey Mouse at Disney). Do people take content that doesn’t belong to them? Yes. Are people just posting items broadcasted to make their point, or to inform? Yes. We have to decide as a society whether the Internet is place to allow copyrighted material as a form of communication. NBC found it distasteful that their shows were on Youtube. That’s why they created Hulu.

What do you want the Internet to be, a free (as in liberty) communication device, or a pay-per-view broadcast medium?

 

Know Your Role

Thursday, May 20, 2010 by Matt Warman

I am finding out things at my current client that everyone, including application development people knows; having a process is only half the battle. I have been to organizations where business workflow processes were not in place, and the productivity gains were huge when implemented. But over time, those processes stop getting followed. There are many reasons for this; the IT culture rejects the change, the processes don’t get reviewed in a timely basis and become a burden, and the players forget their role.
My client has a decent development workflow in place. Analyst get requirements from the business units, architects turn the business requirements into technical requirements, and application development people execute the requirements. Managers should manage the process, making sure that the resources are available when needed. I always wondered why top technical guys get passed over for management in favor of PHB (Pointy Haired Bosses), and now I know. It’s that PHBs know their role. Managers are managing the PROCESS, not the solution. Often, technically savvy managers want to work the issue. Software development is a very fluid process, and what works now, may not work three years from now. If you are manager for more than six months, you probably don’t know the correct solution. Regardless, your role is to make sure application development staff are available for the solution designed by the architects. Managers have a right to review the design during the design phase, but once finalized, let the architects and application development people do their jobs.
The same is true for consultants. Yes, they are using older technology, and yes it’s a pain to use, and yes it needs to be updated. Your job is to help resolve those issues within the framework of their organization. Unless you are brought in as a CIO consultant, the choice is probably not yours to make. It may be that the business has urgent needs that supersede modernization. They may not have the technical people to maintain the new code. The organization could be planning to replace the system with a prepackaged application like SAP. Or it could be that the technical staff knows their role, and is waiting patiently for their opportunity to upgrade.

The Secret to Good Performance

Tuesday, May 11, 2010 by Matt Warman

I am now in my second stint as a performance architect. There are many tools to measure performance. Usually there is some criteria like time or memory that is failing. I think most application development people know that the secret to good performance is good code. The problem is that good code is impossible to measure. There isn’t any metric you can show your boss that shows refactoring this class will make the code run faster, or at least will not remove that class from the performance list. Besides we have these new features that need to be added. So how do I make code perform at a high level?
Write unit tests. Make sure that the tests cover all of your method calls. Make sure that your test captures error situations, not just the "happy path". Write your test cases BEFORE you write your code so you can "code to the test". Of course, you need good use cases from your architect and business analyst to write the unit tests.
Comment your code. Make sure your method names describe the function it is performing. Most IDEs add the parameters and returns for you; all you have to do is describe the reason for the method. These are easy things to do. They are boring yes, but when it comes to adding that new feature, or changing a method call, it saves a lot of time when you can run a test to prove that your changes work.
Refactoring. All application development people should learn refactoring. The Java language has changed tremendously in the last 15 years, and your code hasn’t. I think that the Date object has been revamped twice since the 1.x days. New features like annotations and generics may not change the performance of the code, but it sure does affect the readability of the code. Readable, easy to understand code is also easy to maintain and update. It makes a six month project become a three month project. The business always has more projects, so they will be happy. Fewer errors happen, so your boss is happy. You get to solve more interesting problems so you are happy. When you are happy, both you and your code performs better.

Got Tools? Use Them!

Friday, April 30, 2010 by Matt Warman

I have a new client in Cincinnati. New clients are always interesting because you never know what issues and opportunities you will find. My client seems to have their act together. My application development friends will appreciate their setup; Maven 2 projects with built-in JUnit tests, a code coverage dashboard that show code complexity, code coverage, and Find Bugs reports. Things seem great, them why do they need a performance engineer?

The reason is common; who defines the duties of ITsets the rules. IT and the business need to be aligned to work on the common goals and increase productivity. If IT is too dominant, there is too much focus on technology and the business doesn’t get the tools they need to be productive. If the business unit is dominant, only projects that have a tangible return get done. In this case the business is more dominant, so projects like refactoring code, or cleaning up errors found by software like Find Bugs has a much lower priority. They do happen only if performance is an issue to the business. The performance team is set up like a clean up crew that comes in after the fact, to make things work better. There are coding style forms and best practices, but is up to the each developer to follow them. Since the focus is getting the project done on time, the developers are concerned on getting code that works,not what works best. The performance team is used to fix the worst performance offenders.To be fair, I have been at clients where IT treats the business units as a nuisance. The best tools are there, but little support for the business.
What’s the solution? IT needs select a technology that best suits the solving of business problems. The business should prioritize their issues, but work with IT to plan for fix releases. IT must utilize the tools that they have and encourage the usage of them. If you have the tools, use them!

Building the Business Case for New Tools

Friday, March 26, 2010 by Aaron Whittenberger
A couple of weeks ago I wrote about the need to develop a Business Case document.  Soon thereafter I find this one-page Business Case document.  The first question that comes to mind is “how can you put all that needs to be in the Business Case document in one page?”  Believe it or not, they did it.  Of course, a lot of things were abbreviated.  You have to question the usefulness of such a document.

Of course, a one-page document is not what we experience in our IT Business Solutions projects today.  Instead, we have what Chris Gurney wrote for BA Times as the “Big Freakin’ Requirements Document”.  Chris outlines the various reasons that our requirements document has to be so freakin’ long:
  • To Communicate to all audiences
  • To Validate that Needs are Met
  • To Ensure Everything’s within in Scope
  • To Manage Changes to Requirements
  • To Meet Regulatory and Corporate Obligations
  • To Define Requirements Collaboratively

It has become common place in over the years to try to accommodate everyone with one document.  So language is included for executive staff.  Then we translate the requirements to a more detailed level for developers and testers.  We turn on “Track Changes” feature to retain the history of changes to the document; which then leads to descendent versions of the document.

What Chris is trying to point out in the article is that a Word document is no longer sufficient for collaborative development of requirements for our IT business solutions projects.  What you can expect to see is many vendors rush to provide software solutions to these shortcomingtools of the trades.  Currently, there are some solutions out there to address these issues.  I will not promote any current software solutions here, but you can expect to see more solutions from new vendors in this area.  You will also see great improvements in features in the solutions that are already on the market.  When business organizations migrate in groves to these solutions and away from Microsoft Word as the standard for “document” development then you will see this market grow rapidly.  Large organizations with large IT staffs and geographically dispersed enterprise application development teams should be first to make the move.  I think you will see Business Analysts within those organizations leading the charge, but with all “organizational shift” changes, convincing those that hold the purse strings of the value and need for new tools will be their greatest challenge.

Homeshoring, the new trend in IT Outsourcing!

Tuesday, March 16, 2010 by Aaron Whittenberger
According to an InfoWorld article this month, the U.S. IT market has added 25,000 jobs in the first two months of 2010.  This is the largest month-to-month gain in IT staffing jobs in the U.S. since 2008 according to U.S. Labor Department statistics.

A contributing factor to that increase may be a new trend in the IT Outsourcing called “Homeshoring” or “Onshoring”.  This is an alternative to offshoring your IT outsourcing by placing it in low-cost, non-urban U.S. areas.  Monty Hamilton, CEO of Rural Sourcing Inc., recently spoke at the 2010 Outsourcing World Summit, where the idea of homeshoring was well received.

As salaries in India increase because of past American offshoring IT strategies, rural America becomes more competitive.  This along with the other benefits, such as culture and the favorable time zone, may spark an increase in the coming years to homeshoring. 

Mr. Hamilton notes that Small to Mid-sized Businesses (SMB) are first to realize the benefits of homeshoring.  He also makes note that a few jobs may still be lower cost as offshore, such as moving stack A to stack B.  However, when it comes to IT staffing, enterprise application development and IT strategy consulting, homeshoring is the growing trend.

What makes a good BA?

Friday, February 26, 2010 by Aaron Whittenberger
I have spent a lot of time talking about the duties of the Business Analyst (BA); now let’s talk about the characteristics that make up a good BA.  I find it interesting that Kupe wrote on this very subject this week, I guess great minds do think alike.  As Kupe notes, the IIBA call these underlying competencies and define these as “the skills, knowledge and personal characteristics that support the effective performance of business analysis”.

The BA performs an important role in the application development process and is tasked with the duty of ensuring that the IT business solution meets the needs of the business.  The BA develops and maintains the business and functional requirements that the IT business solution must contain in order to be deemed successful.

So we know the role and duties of the BA during a business application development project, so what “skills, knowledge and personal characteristics” does a person need to have to perform these duties.  As the duties of the BA entail eliciting requirements from stakeholders and working with an application development team, you can imagine that communication is at the heart of the competencies of a BA.  Good written and oral communication is necessary in order to be able to perform these duties.  Good communication is not only departing information, but taking in information, or listening.  This is often the skill that is over looked when we talk about skills or create a competency model.

Notice that when discussing competencies, that we not only are talking about “skills”, like Decision Making, Creative Thinking, Learning and Problem Solving; but we are also considering “knowledge” and “personal characteristics”.  As the BA has to work with both the business and information technology staff, they need knowledge of the organization, industry and technology.  What kind of personal characteristics would you want in a person that serves such an important role?  I am sure ethics and trustworthiness would make the top that list.

So if you’re a BA looking to advance your career, there are some competencies to work on.  If you’re an organization or manager looking to hire a BA, look not only at their skills and past performance, but develop some probing questions that will give you a look into their “underlying competencies”.

Where Does the BA Fit into My Small Organization?

Monday, February 22, 2010 by Aaron Whittenberger
In my previous two-part posts I discussed where the BA fits into the organizational structure.  Even Jeff Welsh notes how application software development has changed over the years and requires a team approach for successful implementation of IT business solutions.

But you are sitting there saying we are a small to medium size business (SMB), my entire IT staff is 10 or less, I do not have a Business Process Orgranization (BPO) or Project Management Office (PMO); where should the BA fit into my organization?

SMBs need to utilize the BA role within their project delivery methodology.  If the role is not being fulfilled then there is higher risk of failure of the project in that it does not meet the needs of the business.  I have worked on many small-to-medium IT staffs and can attest to the fact that when resources are few that people wear many hats.  There were projects where I served as the project manager, business analyst, developer and trainer.  On smaller staffs, where only one or two of the people will be doing the duties of the BA, it is even more important to make sure that those people are easily accessible by the business units that they support.  Have them sit in the vicinity of those business units instead of in the IT Department.  I still feel that the BA is an IT function and should report to IT management as opposed to business management, but making the BA readily available and accessible to the business adds value to their role and gains buy-in from the business people to assist the BA with their duties.

So when making the organizational chart keep the BA in the IT Department; but when divvying up office space, make room for the BA near the business unit(s) that they are to support.

Where Does the BA Fit into Your Organization? Part two

Friday, February 19, 2010 by Aaron Whittenberger
In my last post, I joined the discussion of “where does the BA fit into the organization?”  I concentrated on the first line BA that should develop the enterprise architecture and help cultivate the business requirements for business process improvements.   This BA would be part of a combined Business and IT staffed Business Process Organization (BPO).  The purpose of the BPO is to analyze business issues and make the business case as to which IT business solutions projects should be undertaken. 

Once a project is approved by the governance body it is turned over to the Project Management Office (PMO) to guide the project to completion.  The PMO will be staffed with project managers (PMs) and business analysts (BAs) that will guide the project the rest of the way through the project life cycle.  You may be asking why you would need BAs as part of the PMO, or project leadership team; after all the PM is responsible to see the project is completed on-time, on-budget and on-schedule.  Yes, but the BA would be responsible to see that the project is completed and the IT business solution meets the business requirements.  A business application development project will need functional and technical specifications that the BA should help develop.

The third role of the BA, I alluded to in my first post on this subject, is that of the Test or Quality Assurance Analyst.  One role of the BA is to support the system, quality assurance and/or user acceptance testing phase of the project life cycle.

So the answer to the question ‘where does the BA fit …?” is in many positions within the organization.  It depends on which BA role you wish to discuss, and whether the organization is large enough to have a BPO and/or PMO.

Any thoughts on the subject?

Testquerade Part One.

Thursday, February 18, 2010 by Jeff Welsh

I had lunch today with one of our Cincinnati customers and he made the comment that his company had eliminated a lot of costs via their IT applications.  He also said there was no more low hanging fruit in their IT applications.  Everything is integrated and there are no easy changes. I laughed and said there is nothing easy any more; even my easy button quit talking!

In today’s world some IT applications have grown quite complex.  It was not that long ago an application developer that knew business could do the business analysis, the technical design, program the application, test and implement it.
Enterprise IT applications today require a team of dedicated professional working together and a good process methodology.  Many members of the team are specialized in a particular skill or a part in the development process.

One of the things that is sometimes overlooked or gets glossed over is testing and quality assurance.  I have even heard developers say “why should I test, that’s what we have users for”.   Because systems have become so integrated and complex, quality assurance is not something to be taken lightly.  As a matter of fact, it is quickly becoming a specialty in and of its self.  There are many aspects to quality assurance, but one that I think we will be seeing a lot more of in the coming months and years is the notion of Test Data Management.   To be continued……….

 

Where Does the BA Fit into Your Organization?

Monday, February 15, 2010 by Aaron Whittenberger
I attended the CIO Speaker series sponsored by the Cincinnati Chapter of the IIBA®.  The January meeting showcased the CIO and Deputy CIO of FirstGroup America.  It was not part of their presentation, but a question was asked of them “should the BA report to IT or to the Business?”  This alludes to the bigger question “where does the BA fit into the organization?”

This is the question that many organizations are still trying to answer today.  Many organizations are just realizing the benefits of the BA role.  One thing to realize, is those of us in the BA arena today are in the forefront of an infantile and growing profession.  The International Institute of Business Analysis (IIBA)®, the professions governing body, was formed in 2004; incorporated in 2006.  There are 827 certified professionals (CBAP)® in the world.  Compared to the Project Management Institute (PMI)®, which was incorporated in 1969, offer five certification programs and has nearly 300,000 certified professionals.  You may say that your company has had BAs for the last 5 or 10 years.  Then I say your company is one of the forward-thinking organizations that has recognized the benefits that the BA role provides in developing IT business solutions.

Now I believe this discussion will go on for years; but as this is my blog, here I get to put my two cents in.  First, let’s define the role of the BA in which we discuss.  Many organizations have a quality assurance team, department or processes within the IT application development team.  As these people support system or user acceptance testing procedures, these people are Business Analyst.  For this discussion, I refer to the Business Analyst that works on the front end of the project life cycle.  Who develops the Enterprise Architecture, gathers business requirements for business process improvements and makes the business case for IT business solutions projects to make those improvements.

As the role of the BA is to develop requirements and make the business case for IT application development projects, this is an IT function; therefore the BA is an IT position and should report to the IT management as opposed to the Business management.  Although the duties that the BA performs may put him/her in front of external customers of the company, their goal is not to perform the business of the company but to recommend IT business solution projects to improve business processes within organization; this is an IT function.

If your organization is large enough to use terms such as Business Process Organization (BPO) and Project Management Office (PMO); then you should find the BA at the heart of the BPO.  The purpose of the BPO is to analyze and recommend improvements to business processes.  So now you say that in most organizations the BPO is a business team; I would reply that it should be a combination business and IT team.  The improvement to business processes may require a business solution, such as upgrade or replace business machinery or training; or an IT solution, such as application enhancement, system training or system upgrade.  Therefore, the BPO should be made up of business positions and IT positions working together to determine the best solution to business issues.

One thing that I would change in many organizations is that I believe the BA should sit more in the vicinity of the business unit(s) that they support as opposed to sit in the IT Department.  BAs will be much more effective when they fully understand the business processes in place, issues that business workers face and the daily going-ons within the business unit(s).  Also, easy approachability to the BA for the business gains buy-in to the duties and recommendations of the BA.

So there is my opinion on the subject, what is yours?

How to Get the Financing You Need

Monday, February 8, 2010 by Aaron Whittenberger
Any good Business Analyst will tell you that IT and business speak in different languages.  Good CIOs and IT Infrastructure Management know that CFOs have a language all their own.  “That being said, it is the money people who generally stand in the way of engineers and technologists and the spending required to accomplish great things with IT.”, according to an CTOEdge article.  CIOs generally don’t speak in the language of the CFO when making spending requests, so we walk away feeling that they “just don’t get it”.  Here are 10 areas where we, as the promoters of IT, can begin to communicate better with the CFO.

1.  Think TCO, not ROI

To the CFO, return on investment is how much money you’re going to give back to the company. Let’s face it. Most IT projects — no matter how compelling — don’t bring “return” to the organization like an additional sales person, a new marketing campaign, or a new product launch.  Preach total cost of ownership (TCO); repeat it until you are blue in the face.  Whether business application development, web application development, IT infrastructure investment; you can demonstrate “fiscal stewardship” through cost reduction or increasing customer satisfaction and loyalty.

2.  Cloud Computing

CFOs like what they hear about cloud computing as a cost saver. Don’t fight them on it.

3.  Green IT

Are you surprised when the CFO is not willing to pay a premium to keep the environment cleaner?  The reality is that no green projects exist unless they have a better TCO.  So whether to upgrade your IT infrastructure, better IT infrastructure cooling, or saving space for your IT infrastructure you can build a strong business case of the decreased TCO and community relations intangibles of being an “environmentally conscious” firm.

4, 5 and 6.  Virtualize, Virtualize and VIRTUALIZE

“This subject takes up three spots because there are three key virtualization targets -- servers, desktop and storage. But again, the key here is how to justify and how now NOT to justify.”  Again build your TCO case for virtualization, but be realistic in your cost savings estimates.  Many times virtualization projects are viewed as unsuccessful because they did not meet the upfront cost estimates.  Be sure to include high traffic times such as end-of-month close periods.

7.  Adopt IT-Centric Business Continuity

Over the years responsibility for business continuity have been put on IT management.  This needs to change.  Organizations need to understand that there are three phases to a business continuity plan; event response, disaster recovery and business continuity.  With the financial impact on the organization of disaster recovery and business continuity, business management must be involved and responsible for these areas.  It should not be IT management’s responsibility to determine which business units are most important.

8.  Align with the Big Picture

Along with TCO, build your requests showing how the request aligns with the business objectives and goals of the organization.

9.  Proactive Cost Reduction

Boy does that sound like another way to say TCO to you?  Take a proactive stance on reducing cost.  The article showed how to reduce cost of document retention.

10.  Reduce Data Center Costs

The organization’s data center is usually the center of the IT infrastructure, both in physical space and cost.  Just as in application software development, modular building of a data center can cut cost of the IT infrastructure through avoiding construction cost, reduced cooling cost and reduced capital expenditures.

“While the relationship between CFO and CIO can sometimes have more debits than credits, it is definitely worth the investment in time and effort to highlight IT projects in terms the CFO will understand.”

JavaFX + JPA = Awesome

Friday, January 29, 2010 by Matt Warman

Yes, this is another of my continuing series of JavaFX posts. I hope you are enjoying the posts, and hopefully you will take a look at JavaFX, because it's really going to be a great platform. One of the key complaints from some application development folks is “yea it does cool animations, but where's the non-trivial uses?”. True there has been a lot of “toy” applications, some touted as “Enterprise”, but I want to give you a key usage for your business application development.
First off a brief primer on JPA, or Java Persistent API. The technology grew out of the complexity and (loathing) of the EJB 2.0 spec. Hibernate came up with way to use POJOs to persist data. The brains behind JPA were the driving force behind JPA. Now is the time to learn JPA, because it's a big part of the EE 6 spec.
Some notices here first; I am using NetBeans as my IDE. You should be able to use the general theme with Eclipse though. JavaFX can use Java classes in the script. The key part for me was how to integrate them. The easiest thing to is create a new Desktop application project (New Project → Java → Desktop Application). Pick the database application, so the JPA wizard displays. Select your table, and the wizard creates the JPA controller, and all of the Entity classes for you. Run the Build project, and now you have a JAR file. If you don't have NetBeans, or want to do this by hand, create the Controller and Entity classes and put them in a JAR file. Add the JAR file to your JavaFX project path, and your ready to go! The following Code can be put in your script to access:

var db = new YourTableJPAController(); //Creates a new instance of your controller
var list = db.findYouTableEntities(); // find all of the entities of your table.

To display all of the values, you can run a for loop like this:

Vbox { for(y in new YourTableJpaController().findWineEntities())
    Text { content: y.getField() }
}

The code above iterates through the List object created by findYourTableEntites, and puts it in a Vertical Box (Vbox). Each item in the Box is a Text object whose display value is one of your fields from your table.

You can now dynamically populate your fields from a database, but more importantly, you are using JPA to handle all of the heavy lifting. Notice I didn't mention anything JDBC. I let JPA do all of the communicating with the database. This is a layer abstraction that let's be an application development guy, not a DBA or Network Admin (not that there's anything wrong with that). If you are using an application server that handles JPA like Glassfish, then you can make your JavaFX application available on the browser and desktop. Now you can have that awesome looking application that actually does something. You are happy to start doing something cool, and your boss is happy because it does something he wants.

Deploying JavaFX on Glassfish and Facebook

Thursday, January 21, 2010 by Matt Warman

First, sorry for the tardiness of my posts. Between the holidays, coming back from the holidays, a cold, and a secret project (for now), I haven't had time to blog.. until now. My current focus has been a Facebook game application. Well it's still in the alpha phase, but I wanted to get the architecture up and running. There's nothing worse for an application development person than to finish your application, then find out you need to rewrite it (or worse) because of the architecture doesn't support it. Even without Zembly, setting up a Facebook application is pretty easy. Since I had most of the defaults already in, the only thing I need to do is to tell Facebook where my application resides. Since I don't have Zembly anymore, I have to put on my application development and network administrator hats on set up an application server.
My first test was to deploy the application into my local Tomcat. NetBeans does a great job of having the files available to you, but the thing you learn quickly is that there isn't a simple deployment piece. Tomcat needs a WAR file, so I tried to use the JAR command to WAR up the files in the dist folder. No dice. The war file needs a proper web.xml file to work properly. Rather than use workarounds on workarounds, I created a web application project in NetBeans, linked the jar file from my JavaFX project, and copied the JNLP and HTML files to my new project. I now have a WAR to deploy. Tomcat loves this file. I run and... “FILE NOT FOUND?” was heard all throughout Cincinnati. Your JNLP file that was created points to a servlet called internally by NetBeans. Make sure change the following lines:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase="http://your server.com/app path/" href="SBWarsTest_browser.jnlp">
<information>
<title>SBWarsTest</title>
<vendor>STAR BASE </vendor>
<homepage href="http://your server.com/app path/"/>

Once I made the change to localhost, everything was fine. Now I wanted a real application server, so I downloaded and installed Glassfish V.2.1 on one of our servers, changed the JNLP file and we are in business. I tried to hit it from my machine, and no dice. After some extensive research, I found out the the Java 7 EA JRE does not play well with JavaFX. I uninstalled it (which reverted to JRE 1.6.18), and it works. In Facebook, you need to set the canvas callback URL to your host application path. The result is the pretty picture you see at the top of my post.

Open-source Security A Major Concern for 2010

Friday, January 15, 2010 by Aaron Whittenberger

According to ComputerWorld, web application development remains top dog by far in the top IT skills to have in 2010.  Specifically, companies will look for developers with knowledge of .Net, Java, Web development, open source and portal technologies.  The article goes on to suggest that combining web application development skills with business analysis or project management skills is a big plus.  ComputerWorld lists the remaining skills to have for 2010 in its top six as:  Help Desk/Technical Support, Networking, Project Management, Security and Business Intelligence.

I feel ComputerWorld did not put enough emphasis on Security; this without doubt will be the biggest challenge for IT executives in the coming years.  Open-source software may be an innovative money saver, but IT professionals still have concerns that networks could be vulnerable to viruses, cyberattacks and other intrusions.

According to InfoWorld, a new survey from Forrester Research found that 58 percent of large companies have security concerns about open source. In addition, 57 percent of small and mid-sized businesses expressed concern that open-source software would be "complex and hard to adopt".

With the advent and increasing usage of open-source in the business world, expect to see demand for IT security related skills to grow.  According to the FLOSS 2020 roadmap presented at the Open World Forum in Paris, 40 percent of jobs will be related in some way to open source by 2020.  You can expect application development and security to comprise a great majority of these jobs.
 

Is IT Qualified To Satisfy The Business?

Monday, November 9, 2009 by Aaron Whittenberger

“IT executives increasingly implement marketing initiatives to improve the communications with their business customers. But these efforts often focus solely on the brand aspects of the services under the IT’s control without understanding the business’ perception of IT. To maximize the success, IT must add business satisfaction assessments to its tool kit. Understanding business satisfaction requires qualitative and quantitative data that capture customer expectations and perceptions through different types of interactions such as interviews, panels, focus groups, complaint systems, and surveys. This report provides best-practice recommendations, survey templates, and questions to guide IT executives through the deployment of a business satisfaction assessment. It applies Forrester’s deep expertise in external customer satisfaction to the interface between business customers and their internal IT suppliers.” says a new Forrester report.

I have served on countless business application development teams within several organizations in the Southwest Ohio and Cincinnati Information Technology community, one thing I can say is that most IT organizations do not gauge business satisfaction with IT business solutions.  I have served in only a couple of organizations where the business serves on the IT governance committee.  An organization does not have to be “big” to have an IT governance committee.  No matter what the size of the organization decisions are made as to priorities in IT work.  IT governance does not have to be a long drawn out process or take great time commitment from the business or IT executives, but business involvement in IT governance goes a long way in gaining business buy-in as you roll out the IT business solutions to the business.

Involvement in IT governance is just one way that many organizations in the Greater Cincinnati area can improve the IT-business relationship.  The Forrester report goes into ways to solicit and gauge business satisfaction with IT business solutions.  Doing so should affect decisions concerning not only IT business solution delivery but also IT Infrastructure and IT outsourcing initiatives.

 

Too Little, Too Late.

Friday, November 6, 2009 by Jeff Welsh

I am part of the LinkedIn community and a member of several groups in LinkedIn.  One of the groups I am a member of is the IBM i Professionals group.  I get a weekly summary of activity and sometimes there are comments on the posts that people have made.  Usually there are no more than 3-5 comments.  What caught my attention is a LinkedIn post that had 23 comments.   The original post referenced this blog post:  http://blog.angustheitchap.com/?p=159  In this post, the author talks about the iSeries application development community needing to pull together to DO something about the lack of support for the platform.  He asks the question: What have YOU done for the IBM i platform this week?

As a former iSeries application developer, I thought it was a good question, perhaps about 10 years too late, but a good question none the less.  Let me state for the record that the iSeries is a great platform and it is without a doubt the best box for business that IBM has. 

The problem is that it is a victim of its own success.  There is no other platform where an application written in the 1980’s could still run un-touched even though the underlying hardware has changed numerous times.  To me the core issue is this: IBM is no longer in the hardware business; meaning they don’t derive that much revenue from hardware anymore.  The majority of IBM’s revenue comes from services.  The iSeries does not need or generate the services revenue that other platforms do.  So in my opinion, it’s an economic issue and no amount of doing or community is going to change that.