Tag: IT Industry

 

Next Big Thing in IT

What is the next big thing?

This is the question all the IT developers, architects, IT investors and all IT visionary aliks are asking. To answer this question, we should trace back the history.

There are several threads of histories we can follow to look back. One of the thread seems to me is very significant, which is user interface or client technologies. At every turn of IT revolution, one way or another, user interface was always the most important deriving factor, many times, the determining element. By looking into the history of user interface or client technologies, and scanning the current time, I think there is a next-big-thing right in front of us now.Technology is not evolving forward on a straight path. It’s spinning forward in stead. At every spin, there was big pile of money sustaining the spin and deriving IT to next spin (IT investors smiling here). Here comes a short history.

Let’s start with DOS day (not that I don’t know there was Apples, but as I said earlier, let’s follow just one history thread). We’v got PC XT and later AT. But we can’t do too much about interface. We developers never took no as answer, of cause. Then there were all kinds of menu driven systems/api/framework developed for DOS. Many for performance reason (sounds familiar, hem) were written in assembly. So, the extreme DOS makeover is to have an application fully menu driven. Very cool and exciting! When menu systems become main stream, many applications were rewritten for better usabilities.

Right before the DOS menu driven interface reaching the state of perfection, here came the Windows. After first couple of years of struggle and resistance from DOS world, tide turned. Then came another big wave of application rewritten. At that time one question had driven software developers nuts was, did your system windows enabled yet? (I know your are smiling, sure you can replace ‘windows’ with, say, ‘web’ in recent history). Of cause there were not just rewrittens, there are many new breeds of applications born because of Windows. See the pattern by now? remember the key words: User Interface.

Then, it’s tool time. While developers were still enjoy Borland’s Turbo series tools and Mr. MS lag behind, there came PowerBuilder. It provided a kind of revolutionary way of developing windows application. It certainly gave another spin on the windows interface wave. Again, the usual thing happened, rewritten and new type of applications. Everytime I use the word ‘rewritten’, behind it is big stream of money, of cause.

Mr. MS wake up. Visual Basic and Visual C++ were born, PowerBuilder was fading out. I know, I ignored Borland thread. Borland gave the best tool but it had never given revolution. In other word, Borland never gave a spin in the IT history. So ignored. When VB was born, IT changed. There were skill hungry, big money, massive rewritten, new applications, etc. you name it. I know you would say, it’s like the Java thing in 90s. Who said it’s not!

Soon, fundamental technologies went back on stage again. The LAN and RDBMS technologies matured. Then came the biggest buzz word in 80s, Client-Server. You are right, massive re-architecting and rewritten followed. UI was getting thinner the first time. This client-server spin was much bigger than all previous ones. Really it was LAN and RDBMS gave IT its well-known househood, IT. Some people believe “client-server” had something to do with another big buzz words in 80s, “downsize”. Um…Money was spinning.

Finally, the Internet, the web, THE net. I think whoever is still working in IT knows what was exactly happening during this spin. The spin is bigger, the money pile is larger, UI is thinner, layers more, tiers more, etc.

One of the reasons that the spin was bigger was that there were many micro spins and each one caused significant rewritten happening. IT didn’t care that much about spending in this period.

It started with CGI, then all kinds of server side technologies came out.
CGI was bad and rewritten.
Apache mod plus Perl and PHP came out, rewritten.
IIS API was cool, rewritten.
ASP, um…, rewritten.
Servlet, oh God, rewritten.
JSP, my…, rewritten.

There were spin inside spin too.
Windows is bad, java is good, rewritten in Java.
Windows is good with .Net and let leave Java on server, rewritten.
ActiveX is bad, rewritten.
Java applet is bad, rewritten.

It’s indeed a exciting time. People may not agree with me, but I think it’s all about interface. Users don’t care about backends. Who owns interface wins.

Now what!!

The answer is: The UI will be thicker. The Rich Internet Application (RIA) technology is the next big thing. And, it will or it has already started another big spin forward. The money is ready for grab.

HTML is not enough, too thin.
Javascript is not enough, too loose.
Server side UI components (web part, .net, JSP Face, portlet, etc.) are not enough, too server side.
ActiveX, too MS.
Java applet, what is that!

Why server has to care every user’s click? People start thinking, what’s the reason moved everything to server anyway? Does those reasons are still the reasons? If not, what we do now? All those good ponderings lead to Rich Client technologies.

I’ll have another blog to round-up the RIA technologies. Currently Macromedia’s Flex technology is at lead. But, still, the battle field is up to drawn, the who is who is up to named, the big Mr. MS is up to threw in money but regardless, another big rewritten period just started. Take the opportunity if you could.

Web 2.0 brings B2B New Life

The Business-to-Business territory is changing landscape with empowered Web 2.0 technology. What is Web 2.0 anyway? If leave the technical things aside, web 2.0 represents a new wave of internet new businesses and business models, surrounding the general models of social networking, virtualization, tagging/linking/sharing, etc. You will get the idea after couple of days in reading and browsing from the materials above. Regardless, the term web 2.0 is getting too tired and overrated by now.

If you are new to Web2.0, there are some readings and blogs to get you start:

What’s web 2.0:

http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html

http://web2.wsj2.com/review_of_the_years_best_web_20_explanations.htm

http://web2.wsj2.com/visualizingweb20.htm

Blogs:

http://mobilecrunch.com/

http://www.siliconbeat.com/

http://www.techcrunch.com

http://web2.wsj2.com

Over 300 Web 2.0 website listed here:

http://web2.0awards.org/

Digg is another typical web2.0. Many people use it as all-in-one feed source, or browse it for checking what’s happening lately.

Other source for latest tech trends in tech, internet and everything else:
Boingbling.com
Lifehacker.com
Slashdot.com

Hot Tech Skills in Demand for the Coming Years

With increasing budgets, IT is coming back.  If you are a job seeker with the right skills, it is fairly easy to join the force of 10 million people who make up the U.S. IT job market.  It is true that companies are sending U.S. IT job offshore, but how many?  In my estimate, about 2%, really not much.  Then, what are the right skills a job seeker should hold.  It’s easy to find out.  Look at Monsters and Dice to see what’s in demand.  That’s what I found: (more…)

The Big 5 IT Vendors Fighting on the Web Services Game

Web Services is one of the most promising new technologies today in IT industry. While this technology is still a work in progress, big IT players have jumped to the market to grab a share. These top players are Microsoft, IBM, Oracle, Sun, and BEA.

1. Microsoft

Systems integrators love Microsoft’s new hot technology – the .NET framework that fully support web services standards. According to Gartner’s survey of 44 consulting and systems-integration vendors in North America. Microsoft .Net was targeted by 58% of the systems integrators.

2. IBM

IBM, with 40% of the web services market, makes one of the top web services products to ramp up delivery capability. IBM WebSphere Software Development Kit for Web Services (WSDK) offers an integrated kit for creating, discovering, invoking, and testing Web services. The following components are included in WSDK:

1. An embedded version of IBM WebSphere Application Server – Express, V5.0 with additional support for ORB and EJBs.

2. Support for SOAP 1.1, WSDL 1.1, UDDI 2.0, JAX-RPC 1.0, EJB 2.0, Enterprise Web Services (JSR 109) 1.0, WSDL4J, UDDI4J, and WS-Security.

3. A private UDDI v2.0 registry.

4. An entry-level database providing a JDBC implementation.

5. IBM SDK for Java Technology, version 1.3.1.

6. Tools to publish JavaBeans and stateless session EJBs as Web services, create Web services from WSDL definitions, and publish, and unpublish Web services to a UDDI registry.

7. Samples showing how to publish JavaBeans and stateless session EJBs as Web services, create Web services from WSDL definitions, publish, unpublish, and lookup Web services using UDDI, and create secure Web services using the WS-Security specification.

8. Comprehensive documentation including Web services concepts, developer tasks, and reference materials.

3. Oracle

Oracle came in third at about 31% of the market. Oracle9iAS provides a complete and integrated framework for developing, deploying, and managing Web services. Oracle9iAS Web Services supports:

1. Developing Web services using Java classes, Stateless and Session EJBs, and PL/SQL.

2. Aggregating Web services into both enterprise and wireless portals.
Integrating with other Web services, databases, legacy systems, and enterprise applications.

3. Personalizing Web services.
Consuming XML or HTML streams as Web services.

4. SOAP, UDDI, and WSDL standards.

4. Sun

Sun’s technology integrates web services with J2EE that allows Enterprise Java developers to develop, integrate, and deploy Java 2EE API like EJB along with Web services specifications such as WSDL and UDDI. Sun has developed sophisticated meta tag method for allowing Web services and JSP developers to use tags to build enteprise applications using or incorporating complex enterprise Java API such as EJB and JMX.

5. BEA

In addition to its leadership role in standards bodies, BEA implements the latest Web Services standards into the product platform including SOAP, WSDL, and UDDI.

BEA’s WebLogic provides the programming model, architecture, security, and transaction support that lets developers, J2EE experts, and application developers build, deploy, manage, and integrate enterprise-class Web services.

Technologies and Competition

Microsoft builds web services technology on its .NET framework, whereas IBM, Oracle, Sun, and BEA support Java/J2EE web services platform. Web services with both .NET and J2EE platform are still based on XML.

IBM is the giant who has the cash to compete with Microsoft head to head. They both are taking the lead in Web services as the innovators and driving forces behind most of the Web services specifications we see from the W3C and others, including SOAP. Sun and BEA as the major players have the products and tools to compete with Oracle in J2EE based web services market.

Java/J2EE based web services platform is attractive to larger enterprises that are more likely to have mainframe legacy applications and are turning to Java/J2EE to layer on Web services atop the infrastructure. J2EE is more popular in large-scale activities such as enterprise resource planning,

Microsoft’s .Net targets mid-market and smaller companies that can start with a clean slate. They find .Net more attractive and are most likely to use it for Web services related to E-commerce. Of course, the choice between .Net or Java/J2EE is just a matter of preference regarding the infrastructure that’s already in place, as well as comfort level, and costs.

CMM-SW and ISO 9001 – The Ending of the Hero Era

The computer software was a hero-oriented industry. All the success stories are about several history-making figures who come with god given gift and luck. Even look at a small organization or a single project, one or couple of technical heroes were the key to the success. Other people were mentored and followers. While people still are hunting for the most talent sheep-head for their projects, a noticeable sign is becoming clear, the hero era is ending.

The new era is not a far-reaching stage shown in sci-fi channel. Just look the current Auto industries, which will be how the software is made. What you will be seeing is assemble lines that take raw materials and specification and spit out the product. What you will not be seeing is THE Process that drives the assemble line. People in the process will be no differences from bolts and nuts in the final products. There will be no hero at all.

The reality is that it’s not a trend talk either. It’s happening, not in US yet, though. Those CMM-SW level 4 and 5 certified software centers in India and China are the realities.

While people slowly accept the fact that software development should rely on process or quality system rather than key players (heroes), several such systems are shining at horizon. The talk about CMM-SW, and ISO9001 are heard around. Practices are adopted and certifications are announced. But what they are? What the relations among them and what are the differences?

CMM-SW – Capability Maturity Model for Software

There are many resources cover the history of CMM-SW. In short, the Mitre Corporation and Software Engineering Institute (SEI) started the development of CMM-SW in 1986. The version 1.0 was released to software community during 1991 and 1992. CMM-SW is a set of tools armed with maturity questionnaire that severs only one purpose, which is to improve the quality of software development process.

The maturity of an organization’s software process is measured in five levels, which is the framework of CMM-SW. There are18 key process areas that compose the five maturity levels.

Level 1 – Initial

The software process is ad hoc, even chaotic. Few processes are defined. The success depends on individual effort and heroics.

Key Process Areas:
- Competent people and heroics.

Level 2 – Repeatable

Basic project management processes are established to track cost, schedule and functionality. The necessary process discipline is in place to repeat earlier successes on projects with similar applications.

Key Process Areas:
- Project Management processes
- Requirements management
- Software Project Planning
- Software Project Tracking & Oversight
- Software Quality Assurance
- Software Configuration Management

Level 3 – Defined

Management and engineering activities are documented, standardized, and integrated into a family of standard software processes for the organization. Projects use a tailored version of the organization’s standard software processes for developing and maintaining software.

Key Process Areas:
- Organization Process Focus
- Organization Process Definition
- Training Program
- Integrated Software Management
- Software Product Engineering
- Inter-group Coordination
- Peer Reviews

Level 4 – Managed

Detailed measures of the software process and product quality are collected. Software processes and products are quantitatively understood and controlled.

Key Process Areas:
- Quantitative Process Management
- Software Quality Management

5 – Optimizing

Continuous process improvement is facilitated by quantitative feedback from the process and from piloting innovative ideas and technologies.

Key Process Areas:
- Defect Prevention
- Technology Change Management
- Process Change Management

ISO 9001 9000-3

The ISO 9000 series was published in 1987 by, obviously, the International Standard Organization. ISO 9001 is the standard for guiding software development and maintenance. It’s quality system for software development stages including design, development, production, installation, and servicing. ISO 9000-3 provides guidelines for applying ISO 9001. There are about 20 ISO 9001 Clauses that cover the process/system of this standard. They are started from Management Responsibility, Quality System, and Contract Review to Training, Servicing and Statistical Techniques.

Correlation Between CMM-SW and ISO 9001

Since both CMM and ISO 9001 is address the same issues, software development and both was developed by researching the best practices happening on the same planet, there are strong correlation and similarities between them. In the mean time, the details show that there are significant different between them too.

Here are some areas that are covered by both standards:

Management and Quality Policy

Management plays a very critical role in both standards. Clearly defined and document management responsibility and authority is the first basic requirement of ISO 9001. A quality policy should also be defined and understood up front. In CMM, everything meaningfully and constructive is start from Level 2. At CMM level 2, the management and software quality insurance start the play. But CMM does not end the emphasis of management just here. At CMM level 4, Quantitative Process Management becomes a key process area. In the ISO 9001 case, there is no measurement of management process and the quality-management is not quantified.

Software Design

ISO 9001 requires an organization to establish procedures to control and verify design. The software development life cycle, including design, coding and test, is described in CMM level 3. A design review is required by both standards. A range of options, from technical reviews to inspections, can satisfy the review defined in ISO 9001. However, in CMM, a peer reviews is specifically required. Again, the CMM extends the design process further in Level 4, in which it describes a more formal and quantitative aspects of the design process. In contrast, ISO 9001 lack of such formality.

Production Process Control

ISO 9001 requires an organization to define and plan its production process and it must continuously monitor and control the process. In the CMM, the software production process is specified in the software development plan at Level 2. At Level 3, CMM define the further integration of software production process and tools. As usual, at CMM Level 4, the quantitative aspect of control is described. The transition of applying new technology and tools is mentioned in ISO 9001 along with production process control, whereas CMM deals with it in Level 5.

Testing

ISO 9001 requires an organization to inspect or verify incoming materials before use and to perform in-process inspection and testing. Also, ISO 9001 requires good test status record keeping. The CMM addresses testing at Level 2 with configuration and Level 3 with testing practices.

Defect prevention

ISO 9001 emphasizes on prevention and eliminating the causes of non-conformities. In CMM, Software Quality Assurance at Level 2 and Defect Prevention on Level 5 are addressing the same issues. ISO 9001 is focusing on defect report and record documentation, whereas the defect Prevention in CMM Level 5 coves more broad aspect of prevention.

Servicing

Servicing activity is specified requirement in ISO 9001. In CMM, however, servicing is addressed as software maintenance through out the development process. It’s not single-out as a Key Process Area in any CMM level.

The above are a few of the related areas that covered by both ISO 9001 and CMM-SW. There are many other areas (or clauses in ISO 9001) can be mapped between these two standards.

CMM or ISO, It is a Question

CMM and ISO 9001 are preaching the same goal, Delivery What You Promised. For both standards, documentation is considered the most powerful tool to reach this goal. Every aspect of processes and activities is required to follow documented instructions, policies or guidelines.

ISO 9001 is an umbrella quality system that guides the project life cycle. Comparing to CMM, it functions at more abstract level. ISO 9001 sometimes has been compared with preparatory system integration methodologies developed by large organizations, especially the ones from big consulting firms. While some consulting firms campaign ISO 9001 certification as a marketing tools, many also try to demonstration the superior of their own methodologies.

There is a dilemma when applying ISO 9001, especially for consulting-service-staff-extension type of companies. For the large management consulting firm that crafts large scale project as major revenue stream, the large amount of documentation required is sort of cumbersome. Besides, the ISO 9001 is from a independent standard organization, under certification, there is no way of flexibility that the company could adjust or adapt it to its own best practices. Therefore, they tend to develop their own quality system or some time, adapt certain simple and flexible methodology such as, the Extreme Project (XP). It’s different story for the staff extension type of company, there are more and more such companies are actively seeking ISO 9001 certification. It is said in the industry that if you are willing to commit enough of manpower to deal with the piles of paper works, you could be ISO 9001 certified. Such saying may sounds a bit of extreme, but indeed we could easily find consulting companies market the certification heavily and as staff extension type of business, there is actually no good use of it.

It’s not saying that ISO 9001 is lack of credibility or anything like that. The ISO 9001 is developed to cover no only the software development, but also can be applied to hardware or other system development practices. It could be one of the best reference and guideline when developing a quality system that fit into the organization’s very own business practice.

As quality system, there are significant similarities between ISO 9001 and CMM-SW. There are also academic and industry advocates trying to establish exchangeable certification or guideline between these two. Some says the ISO 9001 certification is equivalent to CMM Level 1, some says Level 2 and other up to 4. But in reality, they are different animals. CMM-SW is very much focusing on software development within a stable organization. The CMM quality system is evolving from Level 1 to Level 5. The CMM system is specific developed as the measure of maturity of the software development process. It’s hard to be applied or absorbed as a business practice or merely a marketing tool. If you want build a software factory, CMM is the guide and the way.

After all, ISO 9001 or CMM, it’s NOT a question. It’s an answer. And the question should be why in June 8, 2001, the NYSE (the symbol of the capitalism) was halt the whole morning by software bug that from a software upgrade introduced in the previous night.