Wednesday, April 30, 2008

DotNetNuke Development

DotNetNuke is a popular open-source Web Application Framework based on Microsoft Technologies. DotNetnuke can be used as a web application framework for building content based and database driven websites.

Portals built with DotNetNuke use proven practices that have been tested on thousand of websites around the world. DotNetNuke incorporate many of the proven practices and patterns of building Web client applications and it provides a very reliable and tested modular based architecture. DotNetNuke contains a collection of reusable components and libraries, as well as a large catalog of third party Dotnetnuke modules.

By using the DotNetNuke as a framework for building web based applications, architects and developers can focus their efforts on business opportunities and create Web client applications that effectively address the needs of their organizations instead of spending there valuable time on other common web applications development challenges (such as logging, validation, data access, exception handling, and many others) since these functionalities are available through dotnetnuke.

DotNetNuke also helps architects and developers build modular systems. A DotNetnuke module is a functionally complete and independent component. Modularity allows independent teams to work on different aspects of the application - there own DotNetnuke module - and also improves security and testability.

Dotnetuke also have a growing echosystem of programming professionals, service providers, DNN module developers, and DNN skin designers. The number of Dotnetnuke modules available for sale is growing rapidly as more and more .Net developers are starting to use DNN as a framework for building there websites.

DotNetNuke is provided as open-source software, licensed under a BSD agreement. In general, this license grants the general public permission to obtain the software free-of-charge. It also allows individuals to do whatever they wish with the application framework, both commercially and non-commercially, with the simple requirement of giving credit back to the DotNetNuke project community.

Symbyo Technologies provides Custom DotNetNuke module development services as well as DotNetNuke Skin customization. for more information about our custom DNN module development services please contact us.

Outsourcing To Egypt

Evidence in favor of Egypt as an offshore outsourcing location is compelling. Investors from Western Europe and North America are likely to be impressed with Egypt’s opportunities on several fronts, including:

Workforce: Egypt’s labor pool is ample and it is educated. It is clear that young Egyptians are enthusiastic employees, westernized in the commercial outlook and value the ability to speak numerous languages. This provides Outsourcing companies with an excellent opportunity to recruit the type of employees with whom they can be confident of serving foreign clients effectively.

Business culture: Egypt possesses a commercial atmosphere that is decidedly westernized, and that has attracted numerous multinational corporations. Management level executives are
multilingual, and foreign workers are commonly found. Such an atmosphere helps facilitate confidence in foreign investment in contact center services and an understanding of what clients and end-customers expect.

Stability: In the middle east, Egypt is a hallmark of economic and political stability. As discussed earlier economic growth has been consistent and inflation has remained low. As well, elections are regular and democratic. Combined with efforts to strengthen transparent business practices, Egypt’s stable investment climate should build confidence among prospective offshore software development investors.

Industry development: With the establishment of a local industry association, and support from the government, Egypt is rapidly gaining a reputation for quality infrastructure that is reliable and modern in terms of software outsourcing providers.

These key reasons are the foundation for growth in the Egyptian offshore outsourcing business. Given the enthusiasm shared by existing players and customers, it is very likely that this industry will continue its already rapid growth.

Tuesday, April 29, 2008

The Future of IT Outsourcing in Egypt

Although Egyptian IT industry is between 15 and 20 years behind India in its development cycle and its outsourcing IT services. However, there is growing interest from Middle Eastern countries in BPO and Software outsourcing to Egypt instead of India or Europe; this is particularly the case in the Gulf countries.

Indian companies even acknowledge that the skill base of Egyptian IT engineers meets the technical standards demanded by their Indian counterparts. Furthermore, Egyptian IT engineers are multilingual. This gives them an advantage over India, because India has primarily English speakers. The lack of multilingual capabilities in India makes it difficult for the EU countries to send some outsourcing work to India, which could make Egypt look appealing.
So, Egypt is off to a good start. However, there are structural problems in need of urgent attention before Egypt can leverage the progress it has made to date or before it can be a top five location for IT outsourcing during the next 5 to 10 years.

What Egypt Needs to Maintain Momentum

The Egyptian pitch is currently too focused on Cairo, which is one of the most polluted cities in Africa. Like Los Angeles, Cairo has its own smog problem, but Cairo also suffers from infrastructure problems such as a half-completed Ring Road. Although, the smart village outside Cairo has state-of-the-art infrastructure and has attracted a number of global IT players, it is only one location, whereas India offers at least six or seven different locations.

Therefore, the Egyptian government needs to replicate the ICT infrastructure of the smart village in other parts of the Egypt. To do so, the Egyptian government needs to tackle the following:

  • Quality of life: When compared with the quality of life in the Gulf states, the quality of life in Egypt is significantly lower. Therefore, to attract foreign nationals to come and live in Egypt and work in the developing IT industry, the government needs to demonstrate that the quality of life in Egypt is on a par with Kuwait City, Saudi Arabia or Dubai. This includes convincing foreign nationals that they are safe walking along Egyptian streets.
  • Development of road and rail infrastructure: According Egyptian government statistics, only 78% of roads in Egypt, are paved (2003 figure). Most main roads are adequate; however, local routes tend to be in a poor state of repair. A number of major routes are incomplete (e.g., the Cairo Ring Road). The Egyptian government has estimated it needs to spend $1.7 billion on major road construction and expansion projects (including $258.0 million on the completion of the Cairo Ring Road). Cairo also suffers from heavy congestion on its road, which prioritization of the third Cairo metro line (the Egyptian government has estimated the cost of phases 1 and 2 at more than $1 billion) may ease. Egypt’s railways have suffered from long-time neglect and under-investment for the last 50 years. According to the Egyptian government, only 47% of the railways’ locomotives are serviceable, and only 15% of the rail network is electrified. The number of fatalities also illustrate the dangerous state of the Egyptian railways; in the last decade, more than 500 people have died in accidents on the Egyptian railways. All this adds up to a dire need of investment required in the Egyptian rail infrastructure. The Egyptian government plans to invest more than $2 billion on the rail infrastructure. Prioritizing investment in the road and rail infrastructure will not only assist internal transportation, but it will also make life easier for the outsourcing industry. However, the Egyptian government must exploit private financing methods such as build, operate, transfer (BOT) if it is going to meet its ambitious targets.
  • Data and building security: There are some concerns about terrorism and geopolitical stability in the region. For companies considering sending sensitive work such as BPO, convincing them that their data would be protected is extremely important. Of course, there are concerns about sending BPO work and even ITO work to India because of data and other security concerns as well. For instance, in 2005, four former workers of outsourcing provider MphasiS BFL Group were arrested for stealing more than $426,000 from Citibank customers. However, this and other security lapses have led Indian companies to enact stringent security measures such as closed-circuit cameras watching employees and data-masking technology. Egypt would do well to tackle the reality of data and building security needs, as well as the perception problems that exist in some parts of the West.
  • The education system: Ensuring an adequate educational system that will turn out well-trained employees—at a high rate—should be a paramount concern for the Egyptian government and business groups. If the outsourcing market continues to grow, pressure will build on companies to hire faster. In addition, the labor market will tighten, wages will go up and attrition will rise—just as has happened in India. Broadening educational access and ensuring high quality will help Egyptians by raising the standard of living and will provide an adequate worker pipeline for outsourcing service providers.

Egypt in 5 Years: Two Possible Scenarios

A broad range of factors will come into play in Egypt’s development as an outsourcing locale, but one test of Egypt’s ambitions is its ability to learn from the mistakes made by the Indian IT outsourcing market during its development. Symbyo Technologies believes that there are two main paths by which Egypt can develop in the IT outsourcing market:

Learning from Indian mistakes: Egypt has similar challenges in workforce creation and infrastructure to those of India. But if Egypt keeps in mind the spectacle of India wrestling with these problems after its outsourcing market exploded, and attempts to rectify these problems as it builds its market before the market takes off, it could succeed. And it could essentially succeed at a faster rate, potentially leapfrogging India in some areas. By focusing on its infrastructure woes, educational system and security issues, Egypt could become a significant player in the outsourcing world.

Not heeding the lessons learned in India. Egypt’s pool of technical graduates is starting to come under pressure because of the success of the Egyptian government in attracting global IT players. Staff attrition rates are rising as the talent pool cannot meet demand. This is the start of the upward spiral of rising staff and business costs. Poor planning in India means electricity and water supplies are inadequate, there are road construction delays and badly designed roads create traffic snarls and hours-long commutes. If Egypt fails to heed the lessons learned in India, it will be the end of any opportunity Egypt had of threatening India’s dominance.

Based on its current efforts and plans, Egypt appears on track for the first scenario, learning from India’s mistakes. However, the Egyptian government needs to continue to focus on its primary goal and to learn the lessons from countries with more developed IT service industries.

Monday, April 28, 2008

The Egyptian Business Environment for Software Outsourcing Businesses

Egypt’s relative familiarity with Western culture and business values makes it a viable location for outsourcing growth.

However, success in the software outsourcing market will depend—at least in part—on overcoming some perception problems, especially in the North American market. Although US-based companies have grown increasingly comfortable with software outsourcing and offshore development (often more so than European-based companies, where labor laws are stronger and controversies about offshoring can be more intense), they still hesitate to send their
work—especially the highly sensitive data inherent in BPO work—to untested offshore locations. BPO, which includes human resources (HR) data and finance and accounting work, is something many North American companies still want done in nearshore locations—or at least in a company with a nearshore presence as part of its global delivery network.

Two of the biggest multinational service providers, IBM and Accenture, say they currently do not see Egypt as part of their BPO delivery networks because they are not seeing a need for such from their customers.

Egypt has a much better shot at building momentum with European-based companies. And it is taking steps to remove other impediments to growth as well. Reforms of the labor laws in 2003 created a very powerful, flexible workforce and removed many of the previous impediments to recruiting staff in Egypt. Reforms have focused on creating a balance between employees’ and employers’ rights. Specifically, the reforms address areas such as the right of an employer to
fire an employee and the conditions pertaining to this, and also grant employees the right to carry out a peaceful strike according to controls and procedures.

One of the biggest worries facing investors in an emerging market such as Egypt or China is the protection of intellectual property. In Egypt, intellectual property protection was introduced in 2002 under Law 82, indicating the Egyptian government’s commitment to protecting investors’ intellectual property.

In December 2004, the Egyptian government amended the investment Law 8 of 1997 by introducing Law 14/04. This made the General Authority for Investment and Free Zones (GAFI) the sole authority to which investors have to turn to have their proposed projects approved, making it a one-stop shop. The one-stop shop encompasses delegates from different governmental agencies under a single roof.

GAFI’s one-stop shop has streamlined the number of procedures and has simplified the investment law. For example, it has profoundly reduced the time necessary to establish a new company from 4 months to a maximum of 3 days. However, reducing the time to establish a new company was just one of six steps: registration, tax card, industrial project approval, building permit, industrial registration and operating license. Previously, the International Finance Corporation (IFC, the private sector arm of the World Bank Group) says the whole process took 277 days; now it’s 135 days and four steps. Soon it will be only 45 days and three steps: pre-approval and land assignment, final approval and building permits, and industrial
registration and operation licensing.

Since 2004, the Egyptian government has worked hard to increase the attractiveness of Egypt’s business environment. This includes the introduction an anti-trust law and a unified tax law. The latter increased the transparency of the Egyptian tax system and reduced corporate and personal taxes by half.

Within the ICT sector, the Egyptian government also offers incentives to attract international companies to set up call/service center and BPO-type operations in Egypt. These incentives include the Egyptian government (via the Ministry of Communications and Information Technology [MCIT]) paying for the training of staff to bring them up to the required standard to deal with the clients from the multinational companies they support. Orange Business Services is an example of a company that established a major service center that has received support in training its resources.

Egyptian Government Initiatives for the Outsourcing Market

To compete with China, India and other outsourcing destinations, Egypt needs to create a pipeline of highly skilled and trained, business-savvy graduates who will enable the country to compete successfully against the outsourcing giants.

The MCIT has a number of initiatives in partnership with the United Nations Development Programme (UNDP) under the banner of the ICT Trust Fund. These initiatives are backed by some of the global players in the ICT market, including:

• Egyptian Education Initiative (EEI): The EEI is to looking to use ICT as a vehicle to improve
education throughout the country via a public-private partnership model. It aims to benefit trade and industry by improving the standards of information and communications technology in the country’s schools and colleges through partnerships with private firms. CA, Cisco, HP, IBM, Intel, Microsoft, Oracle and Siemens each signed a letter of intent supporting the initiative. Phase 1 targets 820,000 students at more than 300 colleges.

• E-Learning Competence Center (ELCC): The ELCC was established in 2004 as a partnership between the MCIT and the Cisco Academy Program, a nonprofit arm of Cisco. ELCC is focusing on delivering elearning to universities and public and private (particularly SMEs) sector companies. Microsoft and Oracle have already signed agreements with ELCC.

• Illiteracy Eradication Initiative (IEI): The IEI is looking to create easily accessible digital media
(accessible via CDs or the internet) to teach written Arabic (both words and characters) and basic mathematics. The aim it to make this digital media available at Egypt’s numerous IT clubs. The ICT Trust Fund has partnered with the National Council for Women, several nongovernmental organizations

and the General Authority for Literacy and Adult Education (GALAE) for this project.
• Mobile IT Club: The ICT Trust Fund kicked off its Mobile IT Club project initiative to serve
communities in remote and rural areas in October 2005. The Mobile IT Club is a bus or a caravan equipped with a generator, air conditioning and satellite internet access, plus digital cameras, printers and a scanners. On average, the mobile units can accommodate 10 to15 visitors at a time and are accommodating between 40 and 150 visitors per day, depending on whether the unit is a bus or caravan.

The MCIT is implementing the National Telecommunications and Information Technology Strategic Plan aimed at building a strong IT industry in Egypt. This includes a number of initiatives focusing on developing the necessary high-quality human capital needed to drive the IT industry forward.

Key to this plan was the establishment of the Nile University (NU), which opened in early 2007. NU is focusing on applied IT research, looking to create solutions to industry challenges via strong linkages between the university and industry. NU has three main centers specializing in research and development (R&D), entrepreneurship and incubators, and innovation and intellectual property. These centers act as catalysts to drive and harness the technological capabilities of local industry, thereby improving Egypt’s international competitiveness.
In addition, the Egyptian government is constructing “smart villages”/technology parks as part of its efforts to entice ICT companies, targeting the Middle East market, to base their operations in Egypt. The first smart village was constructed outside Cairo.

Although Egypt is competing with other established centers of outsourcing such as India and China, the Egyptian government is setting up a number of intercountry initiatives. These cover education, assistance in building ICT workforce capacity and knowledge exchange.

Examples of these initiatives include pacts signed by the Information Technology Institute (ITI) of Cairo with NIIT (Asia’s largest IT trainer) in November 2006. NIIT will provide IT education programs to assist in building a pipeline of skilled ICT professionals. In September 2006, Cairo University signed a letter of intent with a Chinese educational delegation to set up a Confucius Institute to promote Chinese language and culture.

Most of the initiatives focus on creating the basic knowledge platform that will sustain the technology graduate pipeline supplying the IT sector. Yankee Group sees the important part as the specialist centers established within the Nile University to nurture R&D, incubators and innovation; these centers should lead to a sustainable IT industry.

However, what appears to be missing is the ability to teach business or IT process development, in which Egypt has no history. These skills should come from the links with NIIT and the Indian government, but the Egyptian government should not be overly reliant on external sources to assist with its IT capacity-building initiatives.

There is a dangerous overreliance of the Egyptian government to develop initiatives. The Egyptian government must ensure that bureaucracy and red tape do not strangle these initiatives. Therefore, it is imperative for the Egyptian government to encourage increasing levels of private sector involvement, which is one area where India is extremely successful.

Wednesday, April 23, 2008

What you need to be a Successful Architect

Being an system architect isn’t just about baffling people with unusual diagrams that only make sense when the author is in the same room. No longer can an architect wave a hand judgmentally and dismiss an idea as being ”inconsistent with the prescribed architecture.” These days, an architect has a lot of diverse responsibilities: to the business, the team, the vision, the technology, and even the wider world.

Here we will provide you with a handy A-Z guide to being an architect. Good luck, and may all your architectures be ”n-tier,” which, given that ‘n’ can be any value from 1 and ”tier” is just a metaphor for lumps of similar code, seems quite likely...

A Is for Advocate

“I think you’ll find that you really don’t want to do it like that.”

System Architects have to explain and advise on technical issues to business stakeholders. They also have to be able to advise delivery teams on how to build. This advice is the currency of an architect; invested wisely, it will return goodwill and trust. The architect is asked for advice because it is the architect’s job to “see the whole.”

See also: Abstraction, Agile, Acrobat, Availability, Analysis, Applications

B Is for Balance

“A little more to the left. Keep going. A bit more. Not that far. Sorry.”

All decisions involve trade-offs — for example, adding a security measure may hurt performance. It is the architect’s lot to make the right trade-off. Architecture may be a zero-sum game, but knowing what the system is intended to achieve enables the architect to choose the trade-offs that make the system successful. Of course, where there are competing objectives, it falls to the architect to explain the issue and seek resolution through prioritization of the objectives.

See also: Best Practice, Benchmarks, Building Blocks

C Is for Coach

“Work through the pain!”

With so many choices for the implementation of a solution, architects cannot simply dictate to software development teams their notion of the “architecture.” They are now called upon to coach development teams. Softer skills are needed: asking how and why rather than instructing “do this” and ”do that.” This is a Good Thing. Development teams who understand the reasons for the architecture are more likely to commit to it and are likely to do a better job of implementing it. Architects can also begin to spot talent within development teams and offer useful career progression opportunities.

See also: Communication, Champion, Context, Collaboration, C#

D Is for Dependencies

“What happens if I unplug this? Oh!”

The relationships among the components that make up anarchitecture are of fundamental importance. Dependencies are inevitable but should be as few and as manageable as possible. Draw a diagram and map the dependencies. Circles, whether direct (A depends on B and vice versa) or indirect (A depends on B which depends on C which depends on A) are a Bad Thing. If many things depend on D, then D needs to be stable because changing it will have a significant effect.

See also: Design, Development, Delivery, Domain, Documentation

E Is for Evangelist

“Let me show you something really cool.”

Architects need to be advocates for the choices they have made; others need to believe in the ideas, frameworks, and guiding values of an architecture. Evangelism is about telling stories to different people. A simple segmentation may be a technical versus business audience, but there are really many differing audiences within that. The architecture needs to have a compelling story for each. An evangelist is able to synthesize and simplify complex scenarios for the benefit of common understanding.

See also: Enterprise, Engineer, Enthusiast

F Is for Frameworks

“How do I get there?”

Creating the architecture for a solution may be difficult. Creating the architecture for multiple solutions is harder—especially, given time pressures and the integration between solutions. An architecture framework is a structure that removes some of the wheel reinvention that would otherwise occur. It provides tools, methods, and a common vocabulary for the process of creating an architecture. An architecture framework can be considered to address the how of architecture.

See also: Facts, Functionality, F#, Firewall

G Is for Governance

“It is the opinion of the subcommittee...”

There comes a time, as they say, when you have to put on the suit if you’re serious about doing business. Control is an important part of realizing an architectural vision. Regardless of the model of IT—centralized, decentralized, or federated—there will be competing requirements of equal value. A good software architecture needs to be able to flex to differing needs, but not so much that the values of the architecture are lost to the immediate, possibly short-term, must-haves of the business. Equally, good governance can give a positive, dashboard-style view on technology for the business. Common understanding is always a Good Thing.

See also: Generative Programming, Generalist


H Is for Human Dynamics

“The system would have been a success if it hadn’t been for those pesky users!”

Understanding how people interact with each other and the systems that support them is crucial to delivering successful solutions. The dynamics of each project and team will be different; the stakeholders’ relationships and motivations may be unique to a given project. Knowing how to navigate human relationships is a key skill of good architects and good leaders.

See also: Heterogeneous Environments, Heated Debates, High Performance Computing

I Is for Innovation

“The lifeblood of any organization”

Most products can be viewed as a cycle of invention, innovation, commoditization, and redundancy. Invention is costly, slow, and can require luck and big leaps in thinking. By commoditization time, the game is up, and harnessing the work of others is probably the best option. Typically, therefore, it is the innovation space where advantages—efficiency, competitive differentiation, and so forth—can be achieved through perhaps smaller, but no less valuable evolutions and revolutions of existing ideas and solutions. Small teams can push for innovation constantly and take chances to make their name. Larger groups and organizations may not be able to move as quickly, but they need to enable innovation to percolate from individuals and teams and develop mechanisms for making the best of this inspiration and imagination. Architects can be the mouthpiece for the technical teams, and the ears of the business for innovation.

See also: Integrity, Inspiration, Infrastructure

J Is for Judgment

“With great power comes great responsibility.”

When the discussion is done and a technical decision must be made, then an architect is going to have to exercise judgment. The team entrusts the architect to make these judgment calls, and the architect’s good judgment gives confidence to the team. For better or for worse, a series of good or bad calls may be seen to characterize the architect: conservative or wise, impulsive or prescient, biased or brave. Exercising good judgment is vital, but in practice, even good judgment will sometimes turn out to be wrong. Don’t worry about making a mistake; worry more about not doing anything.

See also: Java, Just In Time

K Is for Knowledge

“If only I knew then what I know now.”

Knowledge is a key architectural tool. Of course, being aware of the boundaries of your knowledge is a Good Thing. Areas that are known unknowns are ripe for proof-of-concepts and other knowledge-building exercises. Unknown unknowns, on the other hand, are Bad Things: They are the architectural equivalent of gremlins. Knowledge of technology is only one, albeit important, domain that an architect needs to command. An architect also needs to know about the nontechnical factors that will be in play, such as organizational structures, enterprise strategy, business processes, and development methodologies.

See also: Kernel, Keyboard

L Is for Leadership

“I’m behind you all the way.”

Leadership is vital for an architect and typically takes two forms: thought leadership and team leadership. As guardian of the architecture and the values behind the architecture, the architect is thought leader: The architect continually reevaluates the vision and re-presents the “newer, shinier” vision, with comment on competing visions and emerging technology. As team leader, an architect may not be required to perform line management duties, but may be called upon to be an icon for the rest of the team, providing confidence, insight, motivation, and inspiration.

See also: Lean, Linux, Latency, Load Balancing

M Is for Modeling

“So, to help us visualize how this might work, I made this model using nothing but twigs and guitar strings.”

A model is a representation of something—for example, a business process or computer system. Views of a model provide a way to communicate and understand ideas about the problem and the solution. Different views address different concerns—overloading one view in an attempt to address multiple concerns will either lead to an overcomplicated view or an oversimplified understanding. Having a shared notation for representing these views of a model can simplify conversations about the model—although if the notation becomes too complex, this benefit is soon lost.

See also: Management, Maintainability, Messaging

N Is for ‘N-tier’

“A house of cards”

Data Layer, Business Logic Layer, User Interface Layer. Job done. Well, not quite. N-tier is a vague term at best, and doesn’t really say anything more than pointing to the idea that there should be some kind of separation of concerns between various chunks of code. With Service-Oriented Architecture (SOA), and most recently, the explosion in cloud services—either as back end (cloud storage for example) or front end (such as Facebook)— actually describing the architecture can be harder than building it. We’re fans of the ”Petri dish” approach: concentric circles usually containing square boxes as if suspended in agar jelly.

See also: Needs, Networks, Nonfunctional Requirements, .NET

O Is for Object Orientation

“Encapsulate this!”

Object Orientation (OO) is a programming paradigm that rose to prominence in the 1990s. It can be thought of as a way to conquer complexity by dividing a big problem or program into bite-size, digestible and, of course, logically coherent chunks. Object orientation is often referred to as OO and sometimes as OOP (Object Oriented Programming), which is only a letter away from sounding like a mistake. To ensure acronym coverage, we must also mention OOAD (Object Oriented Analysis and Design.) Object orientation is as much an analysis technique as it is a programming paradigm, although translation is often required from an analysis, or conceptual, model to a design, or logical, model—just as there is between the design model and the implementation, or physical, model. An object —the entity at the core of OO — has both behavior and data, and the functionality of a system is achieved through the interaction of objects. Objects, which are instances of Classes, expose their abilities via Methods. There are, predictably, some key concepts and terms to be learned in order to grasp OO—the most important being: Inheritance, Polymorphism, Encapsulation, and Abstraction.

See also: Operations, Object-Relational Mapping, Operating System, OLAP

P Is for Patterns

“I think I see something emerging from the chaos. Is it a zebra?”

Patterns are everywhere it seems. Where there was the Gang of Four and their original Design Patterns, now there are many resources and books dedicated to patterns across many disciplines. Some are stronger than others and probably some judicious pattern-weeding is necessary for a well-maintained architectural garden. Patterns provide both a template for the implementation of a particular concept but also a common language to discuss abstract and complex concepts without the need to resort to a full description, or a diagram—although we’d probably do that, too.

See also: Principles, Platforms, Politics, Performance, Process

Q Is for Quality

“Good enough isn’t good enough.”

Quality is often understood as a synonym for good. Good is hard to define and measure. Quality should be defined and measurable. What quality is really about is ensuring that the solution meets the requirements and all the applicable standards (as defined by the enterprise, industry, statutory authority, and so forth). By defining and specifying the metrics and standards, a solution can be judged—and, if necessary, improved.

See also: Qualifications, Queries, Quantification, Quantum Computing

R Is for Road Maps

“You take the high road, and I’ll take the low road.”

Where architecture and real life sometimes come unstuck is in the difference in times between the production of concepts and the subsequent realization of the vision. Many obstacles stand in the way of a beautiful architecture: differing views, changing product strategy, short-term tactical needs. A road map can help to maintain the original vision, providing a view on the now, the soon and the later of the implementation. A road map can provide the business with a view on the plans and targets of the technology teams. A road map can sometimes help you remember just what it was that you were trying to do in the first place.

See also: Requirements, Realization


S Is for Strategy

“What are we trying to achieve?”

Strategy sets out how to achieve your goals. Architectural strategy is derived from the enterprise strategy—it should enable the enterprise to achieve its goals. The word “strategic” should be used with care and caution—many before you have used it to justify costly, long-term investments with ill-defined benefits. A strategy, like a good military plan, should be adaptable—otherwise it will collapse upon contact with reality. Strategy is often confused with—and sometimes mistakenly thought to be in opposition to—tactics. Tactics are the specific actions that, by achieving objectives, are the implementation of your strategy.

See also: Services, Software, Standards, Security, Scalability

T Is for Thinking

“I think, therefore, I clearly have too much time on my hands.”

As a skill, thinking is typically not a problem for developers and architects. Finding the space and time to think is a little harder. In these days of a constant bombardment of information from the blogosphere—good, bad, and ugly—it can sometimes be hard to find the inclination to think for oneself. Such a crucial activity needs to be given focus and an architect should be prepared to make the space and time and defend it. Think about thinking: What works for you? Long train journeys? Music? A hot bubble bath? It might be hard to install a bathroom suite in the office, but you never know.

See also: Technology, Transparency

U Is for Understanding

“I do believe you’ve got it.”

Understanding is complementary to knowledge. Understanding people, systems, and processes makes a significant difference to the outcome of a solution. It is the antithesis of assumption. Some nefarious types will present assumption as understanding; this is undoubtedly a Bad Thing and will not lead to the Promised Land of Good Architecture. Questioning is a key technique for reaching understanding; used well, it can puncture assumption, myth, and other forces that could derail a project.

See also: UML, Unix

V Is for Values

“Explain to me again why we’re doing this...”

The values of an architecture are best expressed as principles—the value system that guides decision-making and architectural practice is made up of these values. Principles are, therefore, the foundation that underlies architecture. To be effective there should be no more than a handful of enterprise-level principles and they must have the support of senior leaders. A good principle is clear, consistent, relevant, appropriately focused, adaptable, and stable.

See also: Virtualization, Visualization, Views

W Is for Whiteboard

“It’s probably easier if I just draw a picture.”

Good whiteboarding skills are a true art: It is easy to become an apprentice, but achieving mastery is always elusive. On the evidence of our own careers, we suspect that many great ideas have never been implemented simply because of a ”bad gig” on the whiteboard. In the future, if the original pioneers of computer technology are to be remembered (that’s you, by the way) then the most fitting monument would be a huge statue of a whiteboard in pristine white marble, with just a few tell-tale signs of the accidental use of a permanent marker.

See also: Workflow, Wikis, Windows, Web

X Is for XML

XML has become a universal markup language; thus, providing a nonproprietary format for data storage and a means to integrate systems and applications. While it has its detractors and there are rival markup languages (such as JSON and YAML), there is, as yet, nothing that can rival the reach of XML. While some may think of XML as the Esperanto of the Web, it is really nothing more than the basis for a shared language. Think of XML as providing the letters and the punctuation, but not the words or grammar. XML Schema (XSD) provides a means of defining XML documents that can be shared and used to validate documents. And while there are alternatives, such as RelaxNG, XSD, like XML, has sufficiently broad reach that it is likely to be understood by partners and customers.

See also: XSD, XPath, XQuery, XAML, XOML

Y Is for YAGNI

“Stay on target! Stay on target!”

Great designs are often not grand designs. Using good judgment to decide when to build new features, or reuse prior work, or skip the features is all part of the architectural game. Still, it can be appealing to just keep building new stuff just in case it’s needed in the future, because “you never know.” Of course, you do know—not much software lasts for all that long these days owing to new techniques, channels, and even languages that can be exploited. If you’re not sure, then more than likely, You Ain’t Gonna Need It.

See also: YAML, Yottabyte

Z Is for Zeitgeist

“All the cool people are doing it.”

Zeitgeist or “spirit of the age” is an important aspect of thinking and values and leadership. It’s magnified with the rate at which ”ages” manifest themselves. We’re already on Web 2.0 after all. Understanding how to react to the zeitgeist ensures that the right steps are taken to respond to changing circumstance: “Let’s reinvent ourselves as Facebook tomorrow.” Typically, for an architect, it is not so much the manifestation of new thought—those are just implementations—as the underlying memes and their importance in the technology landscape. Everyone else sees ‘”social networking” where an architect sees ”the semantic Web.”

See also: Zeal, Zettabyte, Zero Day Exploit

In Closing

When we set out to compile this A-Z, we wondered how much of a challenge it would be to construct. In fact, we were inundated with possibilities, and spent a lot of time debating the merits of any given entry.

For us, the list has been an affirmation that architecture is as much about softer skills: good judgment, balance, and other wisdom, as it is about understanding the broad technical landscape, or the skills required to design and implement an architecture.

We’ve had a lot of fun writing our version of this A-Z, but would love to hear of your own alternatives. We wouldn’t be architects if we all agreed on the same list!

Symbyo technologies provides software architecture service and offshore software architects for your enterprise application development needs.

Monday, April 21, 2008

Egypt: A Rising Star of an Outsourcing Destination

Since the inception of its "technocratic" government in 2004, Egypt has been ranked as the number one global economic reformer in two out of three years as an investor-friendly environment by the World Bank. The new government has set about making changes to attract more foreign direct investment into the country.

"Egypt is a rising star of contact center offshore destinations. Comparative analysis has shown that it has good potential to become a location of choice for European companies, as well as an interesting alternative for companies based in the U.S." (Frost and Sullivan 2007, Whitepaper) Many experts have analyzed Egypt in the past few years, and they have stated that, according to economic indicators, Egypt's GDP has been growing over the past five years and its inflation has been kept at stable levels. Egypt's telecommunications infrastructure is very well developed, and the international long-distance rates have been lowered in an effort to promote the contact center industry. Egypt is rapidly emerging as a world-class hotspot for the outsourcing and offshoring sectors, and is proving attractive to international investors. With stiff regional and international competition, this burgeoning country on the cusp of Africa, Europe, the Middle East and Asia is gaining steam. "Offshore software outsourcing has become one of the keys to lowering operating costs, increasing the focus on core competencies and improving customer relationship management While it provides companies with substantial benefits, there are a number of pitfalls. These can be avoided by diligent location and provider selection process." (Frost and Sullivan 2007, Whitepaper) Since the inception of its "technocratic" government in 2004, Egypt has been ranked as the number one global economic reformer in two out of three years as an investor-friendly environment by the World Bank. The new government has set about making changes to attract more foreign direct investment into the country that boasts a favorable cost structure, skilled labor force and an enviable location. There is much speculation about which region could be the next "in" destination for outsourcing. Many candidates are on the starter blocks: The Philippines, South America, China, North Africa, and Eastern Europe. Each destination boasts a wide spectrum of offers and a variety of advantages: cost, proximity, scalability, quality, language diversity and accessibility. Will any of these regions loosen India's grip on the global outsourcing market? With a sustained 55 to 65 percent CAGR over the past few years, Egypt is one of the fastest-growing countries that should be evaluated in comparison to other destinations, as part of a larger region: North Africa. Regional companies in North Africa are in a unique position and have great potential to be among the top global players. Symbyo Technologies is a fast-growing global provider of high quality IT and business process outsourcing services, offering offshore software development service and offshore programmers to global corporations. Symbyo run a state of the art offshore software development outsourcing center in Cairo Egypt.

H1B Visa for Software Developers

Last Friday the House Republican Study Committee sent a letter to Nancy Pelosi and Steny Hoyer, the Speaker of the House and Majority Leader, respectively, requesting an increase in the current H1B visa quota of 65,000 per year to 115,000. They also request a 20% yearly increase in the cap every year, assuming the previous year’s quota was met. The letter is embedded below.

The current H1B program, which allows companies to bring highly skilled foreign software developers to the U.S. for up to three years. It is a primary way for Silicon Valley firms to get enough technical employees and software developers, and there is almost always demand far outstripping the artificial quotas. The 1999 and 2000 quotas were already at 115,000. 132,000 H1B visas were approved in 2004 and 117,000 in 2005. But the cap was lowered again, and the 2007 quota was reached in just two months. The 2008 quota was exhausted before the end of the first day on which applications were accepted, April 2, 2008.

The letter discusses the absurd situation where U.S.-educated foreigners are unable to work here after graduation: “As a country, we are effectively handing these highly-educated, extremely desirable individuals a diploma and a plane ticket. The message we are sending is “You can learn here, but you have to work in another country.”"

The letter also mentions that Microsoft opened a facility in Vancouver, Canada in 2007 exclusively to put to work foreign-born employees that could not obtain work visas. These employees would otherwise be working in Washington.

Intel Chairman Craig Barrett, which has 2,000 employees with H1B visas, is quoted in the letter: “With Congress gridlocked on immigration, it’s clear that the next Silicon Valley will not be in the United States.”

As I’ve written before, it would be really super nice if Congress could just sort of get out of the way and quit screwing around with Silicon Valley - one of the most important economic assets in the United States. I hope this letter and associated Bill - HR 1930 - is acted on (you can give your direct feedback on the Bill at that link).

Saturday, April 12, 2008

Top Software Outsourcing Companies

Out of the Top software outsourcing companies in India 3 has been listed with the market capitalization. Infosys Technologies Limited one of the Top Software Outsourcing Services providers in the World said it added 14,200 employees last year, bringing its total workforce to 49,422. That represents a 40% increase in the number of workers at the company. This is a clear indicator that the use of Offshore software development services is growing and more companies are looking to partner with a Top Outsourcingf Provider for offshore development of there applications.

Market capitalization is a measurement of corporate or economic size equal to the share price times the number of shares outstanding of a public company. The Top Software Outsourcing Companies in India are TCS,Wipro, Infosys are just below that of multinational companies like IBM and Accenture. So as we are discussing regarding Top software outsourcing Development firms in India lets look at Tata Consultancy Services, with a turnover of more than $1.8 billion, as on December of previous year with market capitalization of $18.14 billion; Infosys with annual revenues for the fiscal year 2006-2007 exceeded US$3.1 billion with a market capitalization of over US$30 billion.; and Wipro, posted a net profit of Rs. 7.3 billion and growth of 17% in the Q1 2007-08. In 2004 Wirpor Becomes 4th largest company in the world in terms of market capitalization in IT services

While consideration of the growth for years in-between 2005 to 2006, the market capitalization goes up by 29.5%, 42.6% and 20.1 % respectively for all these three MNC in the software development field. Since If one consider the total revenues, multinational companies such as EDS & CSC are in-between three to four times bigger than combined capacity of the Infosys, TCS and Wipro, but in market capitalization terms three, Top Software Outsourcing organization in India are together four times as bigger than Electronic Data System or Computer Science Corporations.With theboo of the software industries at this time one can say markets are rewarding top Software Outsourcing Development firms in India more than their mnc peers can be gauged by the new R & D and methodologies with relative value of growth. Generally it suggests that Indian Information Technology companies like Infosys, Wipro, Satyam Computer Services and Tata Consultancy are the best among top five software outsourcing firms deriving market-capital of 80-85% from investor growth expectation.In one research, the expert has found that Top software outsourcing Development organizations in India were willing to invest in clients even after 3-4 years of the contract has been finished. When majorities of timeframe in outsourcing deal fall apart it makes deals. Services can eventually lead on an international basis and use the positions of global giants in Software Outsourcing Organizations.

The Top Software Outsourcing Companies growth is due to the the increasing number of outsourcing contracts being awarded to Top Offshore Development companies. The contracts include IT and business process outsourcing deals, both in the U.S. and overseas. However, Top Software Development Companies are facing shrinkeage in the total value of global software development outsourcing contracts. That drop was due to cost savings from contract restructuring, some contract terminations and smaller contracts

Symbyo Technologies is one of the Top Software Outsourcing Companies in World offering Software Development and outsourcing services to fortune 1000 companies.

Friday, April 11, 2008

Creating Killer Brands for your Outsourcing Business

In the Highly Competitive software Outsourcing Market companies are looking for ways to differentiate themselves in order to stand out from the crowd. When most IT outsourcing companies think of branding their business, they think about how to best appeal to their customers or target audience. The general goal is to create something that sticks in their minds and builds a relationship with the consumer. It is probably now becoming clearer that your brand will be just as important, if not more important, when approaching investors or banks to raise capital, hire and retain high preforming employees or when negotiating a deal with a vendor or a supplier since every one is looking to deal and associate himself with professional, secure, and stable companies. A strong brand can help you accomplish this and convey your stability in the marketplace.

Creating a Killer Brand

Creating your company's brand is one of the most important things that you'll do as a business owner. Whether you're starting a new company, or expanding an existing business, having a strong brand that represents what you do, conveys a professional and stable image, and builds a relationship with your target audience is essential to the success of your company.

When most people think of branding, they think of customers, but they fail to see the impact that a strong brand has on all of the other functions of their business. Having a great brand that conveys that your business is stable and professional can contribute positively to your company on so many levels.

Consider this: You're a banker or investor, and you get approached by two companies. The first sends you a pitch on plain paper, stuffed in a plain envelope and includes a business card that they printed on their home printer. The second sends you a pitch on company letterhead, has a unique logo, includes a business card that is well-designed and professionally printed, provides some professionally printed brochures and backgrounders on the company, and puts it all into a professionally designed and printed folder and envelope. Which company would you feel is more professional, stable, likely to engage successfully with consumers, and ultimately more likely to generate revenue?

It doesn't just stop with investors and banks, either. Potential employees are more likely to want to work for a company that connects with them through a strong brand. Even vendors, who are selling you something, are more likely to be willing to negotiate extended terms or special agreements with a company that appears professional, established, and stable.

Here are some tips for creating a killer brand for your small business or startup:

1) Find the right name for your company. A short name that conveys what you do is always the best. Try to find a name that allows you to secure its .com domain name. Also, always make sure to do a little bit of research to ensure that the name you want to use isn't already trademarked or in use by another person or company.

2) Have a logo professionally designed. Your logo is the centerpiece of your brand and will appear on everything from business cards and stationery, to apparel, to your building and signage, so it's not worth skimping here. An exciting trend in logo design is online logo design companies. In the past, it would cost thousands or tens of thousands of dollars to have an ad agency design a logo for you. Today, through the internet you can find several companies who offer logo design for less than $800. Before choosing a logo design company, look through their portfolio and make sure that you like their work, then contact a few previous customers to make sure that they were satisfied with the results.

3) Create brand guidelines. Most people have never heard of brand guidelines, but they are so important to a strong brand. For a small business, brand guidelines can be as simple as a 2-3 page document that describes what colors your logo should appear in, what fonts your company uses on documents, signs, and brochures, what size your logo should be with respect to its page, what tagline should appear with your logo and where, what format brochures should use, what signage should look like, how employees' e-mail signatures should appear, and other basic brand guidelines. The goal here is to create consistency across all of the different types of media your brand will be seen on.

4) Have stationery and brochures professionally designed. Many business owners are tempted to create their own stationery and brochures to save a few dollars. Most of the companies that do online logo design also do stationery and brochure design. This investment is well worth it and will really help to convey a unified and professional image for your business. I recommend creating your brand guidelines first because you can then send these guidelines to the designer working on your stationery and brochures so that they'll conform to your newly-created brand standards.

5) Get everything professionally printed. On a per-page basis, it is usually no more expensive for you to hire a professional printer than it is to print things yourself. However, the results are much different -- collateral printed by a professional printer looks, well, professional! This is very important to building a strong brand.

6) Get a web site and domain name. Have a web site professionally designed and hosted on your own domain name. Business has shifted from being done using phone books to being done online. Accordingly, your web site will in many cases be your first contact with potential customers. Invest in your web site accordingly.

7) Buy a phone system and get a phone line for your business. It used to be expensive to buy a phone system, often costing tens of thousands of dollars. Now, you can buy simple pre-configured phone systems with an auto-attendant for less than $1,000. Use the auto-attendant and have someone that you know (not yourself), with a professional-sounding voice, record the greeting and prompts for your phone system. This is another easy way to maintain a level of professionalism that your customers and investors will expect to see in a stable business.

8) Invest in public relations. One of the most important things that you can do to gain credibility for your business is to get third-party validation of your business or concept. The best way to accomplish this is through public relations. Once you get your company featured in a few articles, you can show these to potential clients, investors, and vendors, helping to further solidify your company's brand and position in the marketplace. Hiring a PR firm for a small business or startup can cost as little as $3,000 per month, and is well worth the investment.

9) Remember, it's never too late. If your existing small business doesn't have a stellar brand, remember that it is never too late for you to rebrand your business using the above advice. If you decide to rebrand, make sure that you try to roll out your new brand all at the same time instead of peice by peice. This will help to generate excitement surrounding your new brand and will avoid creating a disparetely branded company image, consisting of stuff with your old logo and stuff with your new logo.