Previous page Next page Bottom Top One level up Home
Home > Directory > Computers > Companies > Software Development

Software Development

Webpages concerning "Software Development"

1-50 [51-100] [101-148]
corsasoft is a team of software engineers from romania offering offshore software development services to customers worldwide.
http://corsasoft.tripod.com/
Keywords:
corsasoft, corsasoft team, offshore software development, offshore, software, development, services, software, talented software engineers, software engineers, experienced software developers, software development, quality, high quality, low cost, fast, economical, undertake software projects, romania, software projects, outsource, team, of, software, engineers.

http://corsasoft.tripod.com/

Orbital Technologies is a custom software development services company with extensive experience developing software for software companies.
http://www.orbitaltech.com/
Keywords:
software development services, file converters, file filters, application porting, porting, custom software solutions, cross-platform development, cross platform development, web integration, web development, software development, application development, custom software, custom software development, Smartphone solutions, Smartphone, wireless application, wireless, Windows, Macintosh, Mac, Unix, ...

http://www.orbitaltech.com/

DataHouse offers off-shore software development for your business, project management, consulting, system integration and implementation (ERP, SCM, CRM, OLAP), technical support and maintenance, all other types of IT outsourcing.
http://www.datahousecorp.com/
Keywords:
DataHouse, datahouse, Outsourcing, OUTSOURSING, IT outsourcing, e-Business, E-business, e-Business, Off-shore, Software, Development, offshore, software, development, Offshore, Custom, Programming, offshore, custom, programming, Project Management, project management, development, WEB, web, Applications, design, COM, DCOM, tune, database, integration, systems, Intranet, online, banking, bank, ...

http://www.datahousecorp.com/

IP Devel is a leader in the Romanian software outsourcing market. The success of this dynamic company relies on each team's capabilities to engineer some of the newest, most innovative, most challenging projects worldwide. IP Devel helps clients build, integrate, and support their mission-critical applications, delivering cost-effective solutions with established quality standards at its offshore ...
http://www.ipdevel.ro/
Keywords:
about us, IP Devel, Romania, romanian, software, outsourcing, innovative, offshore outsourcing, leader, software solutions, strategic outsourcing, IT services, succes, dynamic, outsourcing market, WHY OUTSOURCING, UNIQUE, AT, IP, DEVEL, Home

http://www.ipdevel.ro/

A full-service custom sofware development company that designs, develops, implements, manages, and maintains custom client/server applications, databases, and database-driven web applications.
http://www.leventisenterprises.com/
Keywords:
client/server, database, SQL Server, Oracle, ASP, software development, application design, application development, web development, database-driven web applications, Visual Basic, VBScript, Java, JavaScript, SQL, stored procedures, database development, database design, Macromedia, Dreamweaver, Microsoft Access, computer consultants, implementation, installation, software testing, ...

http://www.leventisenterprises.com/

Service Oriented Architectures SOA. The emergence of SOA promises to provide a flexible structure for IT governance.
http://www.logiclibrary.com/
Keywords:
service oriented architectures, service oriented architectures, service oriented architectures, soa, soa, soa, logiclibrary, logiclibrary, logiclibrary, it governance, it governance, it governance, it governance, it governance model, information technology, business development, financial statements, systems information technologies, information tech, edp, proffesionals, cobit, annual reports, ...

http://www.logiclibrary.com/

miraplacid.com: outsourced design, development and programming team, high quality, reliable software for reasonable cost and terms, freeware, free downloads
http://www.miraplacid.com/
Keywords:
Printer Driver, Raster Driver, Image Driver, Graphic Driver, Freeware, 2D Engine, software outsourcing company, telecommuting team, web programming team, software development, reliable software, ASP, Perl, C++, JavaScript, VBScript

http://www.miraplacid.com/

A software development company based near Oxford in the UK.
http://www.sente.co.uk/
Keywords:
software, development, computers, computing, delphi, windows, screensavers, screen saver, label software, labelling solution, sente ltd, sente limited, nik allday, read only, readonly, flagrash

http://www.sente.co.uk/

SmartData a leading IT solutions and services provider in application development, system integration, product implementation and consulting services. Also provides software design services and product design services, web services. We are offshore software development company, outsourcing software development, E-commerce Website, .net migration, cms, content management system, .net products, java...
http://www.smartdatainc.com/
Keywords:
offshore, software, development, company, smartdata, outsourcing, software, development, E-commerce Website, .net migration, cms, content management system, .net products, java, web, design, and, development, software development, Flash Animations, Action scripting, Action-scripting, software development, outsourcing software development, E-commerce Website, .net migration, cms, ...

http://www.smartdatainc.com/

gnomedia, programming and design - providing well designed programs and well programmed designs.
http://www.gnomedia.com/
Keywords:
gnomedia, gnomatic, programmer, programming, applications, object oriented, design, architecture, bug free, bbghCDttz, C++, C, PERL, PHP, Java, Javascript, REXX, XML, HTML, MySQL, Cold Fusion, Spectra, xBase, FoxPro, MS Access, Visual Basic, Windows NT, Linux, OS/2, CSS, Dreamweaver, Photoshop, Illustrator, Fireworks, ImageReady, X-Press, MacOS, webdesign, onlineproduction, websolution, ...

http://www.gnomedia.com/

We specialize in creating corporate web sites and cost-effective voice, telephony, internet, and database software with a focus on end-user productivity.
http://www.zimmermantech.com/
Keywords:
internet, security, streaming, video, software, network, database, programming, voice, caller id, telephone, TAPI, telephony

http://www.zimmermantech.com/

Zircon Software Limited is a software and systems company providing bespoke development and consultancy services to clients throughout industry.
http://www.zirconsoftware.co.uk/
Keywords:
Software Engineering Software, Systems, Zircon, Bespoke, Real-time, Realtime, Development, Consultancy, Service, Rail, ITS, Defence

http://www.zirconsoftware.co.uk/

CodeCraft Consultants Ltd. provides custom .NET and Java software development on Windows and Unix.
http://www.codecraft-canada.com/
Keywords:
CodeCraft, snort, barnyard, windows, win32, poolmanager, Calgary, software, consultants, consulting, microsoft, .NET, unix, linux, java, C++, C#, VB, visual, basic

http://www.codecraft-canada.com/

ABPC Ltd - World class software development and worldwide support. PC manufacture, repair and upgrade services for the UK.
http://www.abpc.co.uk/
Keywords:
Computers, Software Development, Support, PC, Notebook, Laptop, Consultancy, Thirsk, North Yorkshire, UK, Ripon, Northallerton, Easingwold, York, English, Leeds, Middlesbrough, British, Teesside, Stockton, Darlington, Hull, Humberside, Scarborough, Newcastle, Manchester, Bradford, Skipton, Wetherby, Huddersfield, Sheffield, England, Britain, City of London, Edinburgh, Sunderland, Harrogate, ...

http://www.abpc.co.uk/

Access Softek provides custom software development including file format conversion, email plug-ins and extensions, biometric security, wireless file transfer, and OFX server development. Access Softek is the software development partner of choice for many major software and financial services organizations.
http://www.accesssoftek.com/
Keywords:
Access Softek, access softek, accesssoftek, custom software development, Custom Software Development, software development, outsourced development, outsourcing, outsourced software development, onshore outsourcing, offshore outsourced development, onshore/offshore development, contract software development, contract development, bespoke software development, custom, software, development, ...

http://www.accesssoftek.com/

Engineering consulting firm located in Rochester Hills, Michigan, specializing in the development of custom software applications and manuacturing intelligence solutions
http://www.acetechnologies.net/
Keywords:
ace, active-X, activex, applications, automation, basic, businesses, c, c++, .NET, companies, company, computers, consultants, consulting, contracts, corporate, corporations, customized, databases, dataabse, designers, designs, developers, development, engineering, engineers, EMT, equipment, factory, graphical, gui, hardware, help, hosting, html, industrial, information, installation, ...

http://www.acetechnologies.net/

Your custom software development team
http://www.apexsoftware.ca
Keywords:
apex, software, solutions, development, platform, macintosh, windows, linux, c++, java, perl

http://www.apexsoftware.ca

Apteryx, Inc. - a company that specializes in design, development and support of custom software from OEM products to custom software applications
http://www.apteryxware.com/
Keywords:
custom, computer, software, support, development, engineering, custom software, computer software, software development, custom software development, software support, x-ray, xray, xrayvision, radiology, digital radiology, dentistry, dental, dentist, image packages, telecommunications, teleconference, Face2Face, AIM, inventory, inventory management, ADA, FDA, tigerview, televere, ArchiveIT, ...

http://www.apteryxware.com/

automatizarea fortei de vanzari, sales force automation, CRM, software pentru dispozitive mobile, aplicatii soft pentru turism, localizare gps, ARoBS Transilvania Software, aplicatii soft pentru agentii de turism, travel agency softwarePocket PC, Palm, Microsoft, Java, J2EE, SFA, offshore software development, Optimall, Soft-Expert, Optima, Transart, Wizrom, Romania, Cluj
http://www.arobs.ro/
Keywords:
Microsoft, automatizarea, fortei, de, vanzari, aplicatii, soft, pentru, turism, travel agency software, dispozitive mobile, localizare gps, ARoBS Transilvania Software, Soft-Expert, Optima, Transart, Romania, Cluj, Java/J2EE, SFA, Optimall

http://www.arobs.ro/

We are custom software developers. Full-service software design, development, & consulting company since 1991.
http://artlogic.com/
Keywords:
custom software developers, custom software development, software designers, web developers, software development services, software development

http://artlogic.com/

Outsource your Microsoft application development needs relying on Baroc's disciplined development methodology and proven knowledge.
http://www.baroc.co.in/
Keywords:
outsource web design, outsource web development, outsource, client, server, development, web design india, web development india, india software development, basic programmer, .NET programmers, VB programmers, india

http://www.baroc.co.in/

The Camets Group specialises in acoustic engineering, software and internet development and IT education.
http://www.camets.com.au/
Keywords:
acoustics, computing, education, camets, noise, sound, vibration, software needs analysis, software, development, life, cycle

http://www.camets.com.au/

Outsource custom software development to India. We have been in the business of custom software development for over six years and served more than 250 global clients
http://www.stylusinc.com/VirtualBusiness/CustomWebsites/Development.php
Keywords:
custom software development, outsource, bespoke software development, custom, software, development, services, custom software

http://www.stylusinc.com/VirtualBusiness/CustomWebsites/Development.php

Software development, custom browser helper objects, plugin and toolbar development. ActiveX, MFC, ATL, BHO,IE, VC,VB,C++ dynamic toolbars.
http://www.gigasoftdevelopment.com/
Keywords:
toolbar, toolbars, ie toolbars, internet explorer toolbars, task bar, Deskband, desktop toolbar, Internet Explorer development, Internet Explorer toolbars, custom toolbars, custom software development, custom browser development, COM, Chicago, Javascript, utilities, custom ie toolbar, programming, HTML, html, SDK, database, Visual Basic, VB, Visual C, VC, C++, shareware, freeware, free, ...

http://www.gigasoftdevelopment.com/

Solutions of Extended Data Solutions - a provider of enterprise personalization and business intelligence software platforms and services
http://www.extendeddata.com/
Keywords:
SalesAnalyzer.com, Votilogy, Voter Relationship Management, VRM, CRM, SalesAnalyzer, Sales Analyzer, Sales Analysis, Sales Analytics, Sales Reporting, Business Intelligence, XML, PocketPC, Custom Software Development, Windows CE, Visual Basic, Visual Studio, .NET, dot net, C Sharp, C#, Business Objects, C++, Access, Microsoft, database, Oracle, Pocket Access, Windows NT, Windows 2000, ...

http://www.extendeddata.com/

e-Zest : Offshore Software Development, Offshore Software Outsourcing and Offshore Software Programming, and IT Consulting services company from Pune India. e-Zest offer services such as custom offshore software development, Offshore Software Programming, Web Development, Portal Development, e-Commerce Development, Wireless Development, Internet consulting.....
http://www.e-zest.net/
Keywords:
Offshore, Software, Outsourcing, and, Offshore, Software, Programming, Software Development, Mumbai, India, Customised software solution, SOFTWARE DEVELOPMENT, OFFSHORE, INDIA, offshore development, Consulting, CRM, ERP, Portal, E-Commerce, Application Development, ebusiness, e-business, ecommerce, e-commerce, Offshore Software Development

http://www.e-zest.net/

Providing custom application development consulting services, with expertise in legacy migration, enterprise application integration, business intelligence, office automation and software remediation.
http://www.greystone.com/
Keywords:
microsoft, gold, certified, partner, custom, application, development, software, enterprise, application, integration, solutions, consultancy, service, biztalk, consultant, microsoft, .net, framework, consulting, ms, access, database, design, sharepoint, customization, business, intelligence, system, integration, data, transformation, services, access, sql, conversion, migration, ecommerce, ...

http://www.greystone.com/

HCL EAI Services Inc. is a global solutions company providing IT solutions, product development, and outsourcing services.
http://www.aalayance.com/
Keywords:
HCL EAI Services, EAI, BI, wireless, solutions, services, offshore development, solutions provider

http://www.aalayance.com/

child support enforcement system software
http://www.cseresources.com/
Keywords:
child, support, enforcement, system, software, family support, domestic relations, contract programming, arrears calculator, debt collection, case management, financial management

http://www.cseresources.com/

Kiev Software Factory offers offshore software development services (outsourcing, development of custom desktop and client-server solutions including Web-applications, GIS-based solutions, customized Web design).
http://ksfltd.com/
Keywords:
Kiev Software Factory, KSF, Ukraine, offshore, software, development, company, software company, offshore outsourcing, offshore development, offshore software, outsourcing companies, offshore outsourcing, intranet, Web, based, solutions, software development, company offshore, custom software outsourcing, Mapping Solutions, corporate, project, B2B, and, B2C, applications, projects, services, ...

http://ksfltd.com/

Eyered Transcription Services - Medical Transcription and General Transcription Services, Data Processing from India
http://www.eyeredinfotech.com/
Keywords:
India, delhi, Medical Transcription, medical transcription, medical transcription India, data processing, general transcription, transcription

http://www.eyeredinfotech.com/

Mosaic Network makes Grant Evaluation and Management Software for Systems of Care
http://www.praninfotech.com/
Keywords:
Mosaic Network, mosaic, network, World, Wide, Web, for, Less, not-for-profit, offer, SCVO, Santa, Barbara, Children, &, Families, Commission, SIRCAMS, Brighton, &, Hove, Council, software, development, software development, web, services, information, management, first five, evaluation, solutions, consultancy, Edinburgh, Santa Barbara, Brighton, Prashant Rajvaidya, Professor Michael Furlong, ...

http://www.praninfotech.com/

Azurite Software is a company that provides software development related services, ranging from requirements analysis and software designing to offshore programming and maintenance.
http://www.azuritesoft.com/
Keywords:
Offshore Programming Russia, Offshore Programming, Offshore Software Development, Custom, Software, Development, Service, Remote Programming Russia, Remote Development Russia, Outsourcing, Corporate Web Development, Computer Consulting Russia, Online Applications Development, Web Design

http://www.azuritesoft.com/

Pacific Crest Technology (PCT) manages both application maintenance and software development projects for IT departments looking to improve productivity and lower costs by outsourcing. And we assume responsibility for delivery. Period.
http://www.pcthome.com/
Keywords:
Pacific Crest Technology, Information Technology, Application Maintenance, Software Development, Acquisitions Conversions Migrations, Quality Assurance, Global Sourcing Office, Consulting, CMM Level 3, Onshore Outsourcing, Offshore Outsourcing, Pacific, Crest, Consulting, Division, PCT

http://www.pcthome.com/

PWI provides specialized software technologies and advanced solutions in IT security, enterprise messaging, analytics and custom software development. Led by client and project management operations in the US, and fueled with Russia's finest programming resources, PWI expands IT capabilities, stretches IT budgets and delivers sustained ROI, innovation and competitive advantage.
http://www.pwicorp.com/
Keywords:
security information analysis, security information intelligence, Intrusion Detection, IDS, firewall, Anomaly Detection, enterprise security, threat management, anomaly intelligence, security information management, SIM, event correlation, Fuzzy clustering, artificial intelligence, Russia, analytics, adaptive security engine, neural networks, genetic algorithms, Software Development, ...

http://www.pwicorp.com/

Developers of bespoke software for business, based in the UK (East Midlands). Designs web/windows sofware and database solutions to recruitment consultants, financial advisers, key account developmers and solicitors.
http://www.seagrasssoftware.com/
Keywords:
business software, bespoke development, database, design, solutions, recruitment, cv search

http://www.seagrasssoftware.com/

Seavus
http://www.seavus.com/
Keywords:
seavus, success story, success stories, business cases, case study, case studies, parking system products, parking system services, parkyng system solutions, offline surveillance, online surveillance, parkering Malmö, Seavus, Seavus, Mission, and, Vision, Seavus Products, Seavus Project Viewer, Seavus Callisto CTI, Seavus Parking System, Seavus Globsy, Seavus Multi 3D, Seavus Services, ...

http://www.seavus.com/

Softonomy - Builders of Software Solutions
http://www.softonomy.com/
Keywords:
softonomy, software, development, solutions, services, products, PackProf, MessageClarity, SMS, messaging, service assurance, telecoms, Dublin, Ireland

http://www.softonomy.com/

Stellar Systems has a fifteen-year track record for developing quality software applications for our clients.
http://www.ssinet.com/swdev/
Keywords:
Software Development, Software Developers, Custom Development, Embedded Systems, Windows Applications

http://www.ssinet.com/swdev/

Offshore Software Outsourcing, We are Offshore Software Outsourcing, Offshore Software Development Outsourcing Company in New York NY, we create customized Software and web applications such as online retail webstore,application development outsourcing, B2B Ecommerce, Portal sites, Online Marketing, e-Finance and e-Business etc. Contact us for the best Offshore Outsourcing and Software Outsourcing...
http://www.a1technology.com/
Keywords:
software outsourcing Company, software outsourcing, Software Development Outsourcing, Software, Offshore, Software IT Outsourcing, Outsourcing, Offshore Software Development, Offshore development, software outsource, Offshore, Software, Outsourcing, IT, Offshore, Outsourcing, Services, India, Offshore software outsource, application development outsourcing, outsourcing software, IT outsourcing, ...

http://www.a1technology.com/

Tartor Software provides custom software development and consulting services.
http://www.tartor.com/
Keywords:
programming, outsourcing, Smartphones, Symbian, Linux, Nokia, Series 60, Series 90, Series 80, Technical consultancy, Software platforms, Communicators, Mobile devices, Mobile phones, embedded, SMS, MMS, J2ME, J2SE, J2EE, Java, C++

http://www.tartor.com/

Teknokraaft is an IT company based in Kerala,India providing quality website design and development,custom software development,customized software applications,offshore software development,computer education
http://www.teknokraaft.com/
Keywords:
Custom, software, development, Kerala, Computer education India, Customized, software, applications, Kerala, ., NET, Programming, Kerala, Offshore, software, development, Kerala, Custom, software, development, India, Computer education Kerala, Web, Design, and, Development, Kerala, Software for Airlines, DOT, NET, Programming, India, Customized, software, applications, India, Travel, Agents, ...

http://www.teknokraaft.com/

A software development, web application development, custom website development, and technology consulting company. Symantec, Microsoft, Hewlett-Packard, Adobe, Nokia and many other technology companies outsource to Thuridion for meeting their time-to-market requirements and we help them bring mission-critical products to market fast. Thuridion is committed to your success and we will exceed your ...
http://www.thuridion.com/
Keywords:
email integration, Microsoft Outlook, Microsoft Exchange, Flash, Shockwave, InstallShield, Salesforce.com, software development, outsourcing software development, software development outsourcing, enterprise application development, custom website development, web, based, software, development, software development services, software, development, outsourcing, software, development, ...

http://www.thuridion.com/

The Tonec corporate home page. The home of Tonec products, professional offshore programming, cost-effective custom programming, offshore software development, and design services to implement your projects quickly and and with an excellent quality
http://www.tonec.com/
Keywords:
offshore programming, europe, offshore development, Internet Download Manager, Active Image, IESnap, WebPageSnapShot, Acoola, custom programming, programming, software development, company, web, design, offshore, outsourcing, java, perl, asp, web, tonec

http://www.tonec.com/

VSL has proven capability and ever evolving methodologies in IT services to provide technology solutions that are aligned with the clients' business strategy.
http://www.vglsoftech.com/
Keywords:
VGL Softech, VSL, ISO 9001:2000, Microsoft Certified Partner, Jaipur, New York, USA, Offshore, Outsourcing, to, India, Application Development, Application Maintenance, Integration Services, Programming, Coding, Client server, Web technologies, .NET Framework, Web Services, Software, IT Services, Quality Assurance, Testing, Staff Augmentation, Home Building Solutions, Distribution Solutions, ...

http://www.vglsoftech.com/

Hutchinson Software custom software development and consulting, agri-scientific applications, web database systems. Armidale, NSW, Australia.
http://www.HutchinsonSoftware.com/
Keywords:
Australia, New South Wales, NSW, Armidale, Uralla, Guyra, Tamworth, Inverell, Glenn Innes, bioinformatics, consulting, agribusiness, agriscientific, scientific software, agriculture, e-commerce, e-business, web development, database development, perl, apache, cgi, python, windows programming, c++, NT, IIS, linux, HTML::Mason, foxpro, microsoft access

http://www.HutchinsonSoftware.com/

RevMedia helps web development companies expand the range of technology products and services to their existing or prospective clients, compete for jobs with complex technology challenges, and win new types of business.
http://www.revmedia.com/
Keywords:
offshore development, offshore programming, boston, web components, cms, asp, php, mysql, .net

http://www.revmedia.com/

Enterprise óïðàâëåíèå íà ðåñóðñèòå (ERP), ïðîèçâîäñòâîòî è àâòîìàòèçèðàíå í&agra...
http://www.websystems.bg/
Keywords:
óåá ñàéò, ñîôòóåð, ERP, CRM, ÑÒÌ, e-commerce, ÑÒÌ, åëåêòðîííà òúðãîâèÿ, ïîðòàëè, ...

http://www.websystems.bg/

Everlasting Technologies, Inc. is a global provider of low-cost software outsourcing services and cost-saving offshore (off-shore) software development. Our outsourcing programming services, on Windows NT, 98, 2000, XP and Unix, Linux platforms, includes C, C++, Java, C#, Delphi, PHP, Java Script, SQL and Microsoft Visual Studio .NET, Microsoft Visual Studio 6, C++ Builder IDE's, as well as databa...
http://www.everlastingtec.com/
Keywords:
Software Development Outsourcing, outsourced programming services, low-cost, cheap programming solutions, C, C++, .NET, Java, Delphi, PHP, C# Java Script, SQL, Microsoft, Visual, Studio, .NET, Microsoft, Visual, Studio, 6, Windows 95, 2000, NT, Windows 98, Unix, Linux, .Net Framework, STL, MFC, OWL, ATL, VCL, QT Crystal Report, PGPsdk, WIN API, MSSQL Server, Oracle, Sybase, InterBase, ...

http://www.everlastingtec.com/

Providing contract programming services for firms like Microsoft and programming tools for Windows developers. Specialists in Visual C++, MFC, COM, ATL, ActiveX controls, assembly language.
http://www.witzendsoft.com/
Keywords:
contract programming, Visual C++, Visual Basic, MFC, ActiveX control, ATL, Windows NT

http://www.witzendsoft.com/

1-50 [51-100] [101-148]
Help building the largest human-edited directory of the web
Suggest URL - Open Directory Project - Become an editor
directopedia.org uses links and structure from dmoz Open Directory Project.
The contents has been generating using technology developed by scientec.

Wikipedia-Article "Software Development"

Software engineering (SE) is the profession that creates and maintains software applications by applying technologies and practices from computer science, project management, engineering, application domains, and other fields.

Software engineering, like traditional engineering disciplines, deals with issues of cost and reliability. Some software applications contain millions of lines of code that are expected to perform properly in the face of changing conditions, making them comparable in complexity to the most complex modern machines. (The Boeing 777-200 has about 132,500 engineered and unique parts. Including rivets, bolts and other fasteners, the airplane has more than 3 million parts. Included is approximately 1400 data processing units and 5 million lines of code.)

As of 2002, the U. S. Bureau of Labor Statistics counts 675,000 computer software engineers holding jobs in the U.S., and there are estimated to be about one-and-a-half million practitioners in the E.U., Asia, and elsewhere; these figures are about 60% of the number of practitioners engaged in traditional engineering. SE pioneers include Barry Boehm, Fred Brooks, C. A. R. Hoare, and David Parnas. There is extensive debate about what SE is, who qualifies as a SE, who sets the standards, etc.

See also List of software engineering topics (thematic) and List of software engineering topics (alphabetical).

Contents

Terminology

Origins

The term software engineering was used occasionally in the late 1950s and early 1960s, though some argue that software engineering was coined by F.L. Bauer. It was popularized by the 1968 NATO Software Engineering Conference held in Garmisch, Germany, and has been in widespread use since.

Meanings

The term software engineering has been commonly used with a variety of distinct meanings:

  • As the usual contemporary term for the broad range of activities that was formerly called programming and systems analysis;
  • As the broad term for all aspects of the practice of computer programming, as opposed to the theory of computer programming, which is called computer science;
  • As the term embodying the advocacy of a specific approach to computer programming, one that urges that it be treated as an engineering profession rather than an art or a craft, and advocates the codification of recommended practices in the form of software engineering methodologies.
  • Software engineering is "(1) the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is, the application of engineering to software," and "(2) the study of approaches as in (1)." – IEEE Standard 610.12

Software engineering is practiced by software engineers.

Debate over who is a software engineer

Some people believe that software development is a more appropriate term than software engineering for the process of creating software. People like Pete McBreen (author of "Software Craftsmanship: The New Imperative" (ISBN: 0-201-73386-2)) believe that the term Software Engineering implies levels of rigor and proven processes that are not appropriate for all types of software development. McBreen goes on to make a strong case for craftsmanship as a more appropriate metaphor because it focuses on the skills of the developer as the key to success instead of the "manufacturing" process.

Some people dispute the notion that the field is mature enough to warrant the title "engineering". In each of the last few decades, at least one radical new approach has entered the mainstream of software development (e.g. Structured Programming, Object Orientation, Agile Development), implying that the field is still changing too rapidly to be considered an engineering discipline. Other people would argue that the supposedly radical new approaches are actually evolutionary rather than revolutionary, the mere introduction of new tools rather than fundamental changes.

There are currently no widely accepted criteria for distinguishing someone who is a software engineer from someone who is not a software engineer. In addition, the industry is in the midst of a complex debate on the licensing of practicing software engineers.

Levels

For the localities that do not license software engineers, some hiring classifications are made based on education and experience. Classification levels may include: entry-level, mid-level, and senior.

Typical entry-level software engineers have a bachelor's degree and zero to five years of experience. Typical mid-level software engineers have a bachelor's or master's degree and have five to ten years of experience. Typical senior-level software engineers have an advanced degree and have ten or more years of experience. Note that these are only guidelines that are trends seen in hiring practices and that many exceptions exist.

Software engineering today

Software engineering affects economies and societies in many ways.

Economic
In the U.S., software drove about 1/4 of all increase in GDP during the 1990s (about $90 billion per year), and 1/6 of all productivity growth (efficiency within GDP) during the late 1990s (about $33 billion per year). Software engineering drove $1 trillion of economic and productivity growth over the last decade. Around the world, software drives economic growth in similar ways, though reliable statistics are hard to find.
Social
Software engineering changes world culture, wherever people use computers. Email, the world-wide web, and instant messaging enable people to interact in new ways. Software lowers the cost and improves the quality of health-care, fire departments, and other important social services.

Successful projects where software engineering methods have been applied include Linux, the space shuttle software, and automated teller machines.

See also software engineering economics.

Room for improvement

In spite of the enormous economic growth and productivity gains enabled by software, persistent complaints about the quality remain.

Deficient software engineering is often blamed for project failures when the blame might more properly be placed with business managers who ignore lessons already learned by Software Engineers.

See also Debates within software engineering and Criticism of software engineering

Technologies and practices

What is the best way to make more and better software? SEs advocate many different technologies and practices, with much disagreement. This debate has gone on for 60 years and may continue forever. Software engineers use a wide variety of technologies and practices.

Practitioners use a wide variety of technologies: compilers, code repositories, to word processors.

Practitioners use a wide variety of practices to carry out and coordinate their efforts: pair programming, code reviews, daily stand up meetings.

Education

People from many different educational backgrounds make important contributions to SE. The fraction of practitioners who earn computer science or software engineering degrees has been slowly rising. Today, about 1/2 of all software engineers earn computer science or software engineering degrees. For comparison, about 3/4 of all traditional engineers earn engineering degrees.

Software degrees
About half of all practitioners today have computer science degrees, which are the most relevant degrees that are widely available. A small, but growing, number of practitioners have software engineering degrees. As of 2004, in the U.S., about 2,000 universities offer computer science degrees and about 50 universities offer software engineering degrees. Most SE practitioners will earn computer science degrees for decades to come, though someday this may change.
Domain degrees
Some practitioners have degrees in application domains, bringing important domain knowledge and experience to projects. In MIS, some practitioners have business degrees. In embedded systems, some practitioners have electrical or computer engineering degrees, because embedded software often requires a detailed understanding of hardware. In medical software, some practitioners have medical informatics, general medical, or biology degrees.
Other degrees
Some practitioners have mathematics, science, engineering, or other technical degrees. Some have philosophy, or other non-technical degrees. And, some have no degrees. Note that Barry Boehm earned degrees in mathematics and Edsger Dijkstra earned degrees in physics.

Graduate

Graduate computer science degrees have been available from hundreds of universities for several decades.

Graduate software engineering degrees have been available from dozens of universities for a decade or so.

Undergraduate

Undergraduate computer science degrees are available from most universities.

In 1996, Rochester Institute of Technology established the first BSSE degree program in the United States but was beaten to ABET accreditation by Milwaukee School of Engineering. Both programs received ABET accreditation in 2003. Since then, software engineering undergraduate degrees have been established at many universities. A standard international curriculum for undergraduate software engineering degrees was recently defined by the CCSE.

Secondary

Programming and coding are being taught to students at an increasingly earlier stage in secondary schools. However, software engineering is not always included in the curriculum. Many have the impression that students are adequately capable of managing projects. Development techniques beyond learning a programming syntax are required.

Employment

See also software engineering demographics.

Roles in industry

Some organizations have specialists to perform each of these tasks. Other organizations required software engineers to do many or all of them. In large projects, people may specialize in only one role. In small projects, people may fill several or all roles at the same time.

Specializations include: in industry (analysts, architects, developers, testers, technical support, managers) and in academia (educators, researchers).

There is considerable debate over the future employment prospects for Software Engineers and other IT Professionals. For example, an online futures market called the Future of IT Jobs in America attempts to answer whether there will be more IT jobs, including software engineers, in 2012 than there were in 2002.

Employers

Most software engineers work as employees or contractors. Software engineers work with businesses, government agencies (civilian or military), and non-profit organizations. Some software engineers work for themselves as free agents.

Certification

Certification is a contentious issue. Some see it as a tool to improve professional practice. Others point out that very few traditional engineers bother with any form of certification.

Most successful certification programs are oriented toward specific technologies, and are managed by the vendors of these technologies. These certification programs are tailored to the institutions that would employ people who use these technologies.

General certification of software practitioners has struggled. The ACM had a professional certification program in the early 1980s, which was discontinued due to lack of interest. Today, the IEEE is certifying software professionals, but only about 500 people have passed the exam by March 2005.

See Certification (software engineering)

Process and methodology

See also Software development process.

Comparing related fields

Many fields are closely related to software engineering; here are some key similarities and distinctions. Comparing SE with other fields helps explain what SE is and helps define what SE might or should become. There is considerable debate over which fields SE most resembles (or should most resemble). These complex and inexact comparisons explain why some see software engineering as its own field.

What is the nature of SE?

Software engineering resembles many different fields in many different ways. The following paragraphs make some simple comparisons.

Mathematics
Programs have many mathematical properties. For example the correctness and complexity of many algorithms are mathematical concepts that can be rigorously proven. Programs are finite, so in principle, developers could know many things about a program in a rigorous mathematical way. The use of mathematics within software engineering is often called formal methods. However, computability theory shows that not everything useful about a program can be proven. Mathematics works best for small pieces of code and has difficulty scaling up. Edsger Dijkstra has argued that software engineering is a branch of mathematics.
Science
Programs have many scientific properties that can be measured. For example, the performance and scalability of programs under various workloads can be measured. The effectiveness of caches, bigger processors, faster networks, newer databases are scientific issues. Mathematical equations can sometimes be deduced from the measurements. Scientific approaches work best for system-wide analysis, but often are meaningless when comparing different small fragments of code.
Engineering
Software Engineering is considered by many to be an engineering discipline because there are pragmatic approaches and expected characteristics of engineers. Proper analysis, documentation, and commented code are signs of an engineer. David Parnas has argued that software engineering is engineering.
Manufacturing
Programs are built in as a sequence of steps. By properly defining and carrying out those steps, much like a manufacturing assembly line, advocates hope to improve the productivity of developers and the quality of final programs. This approach inspires the many different processes and methodologies.
Project management
Commercial (and many non-commercial) software projects require management. There are budgets and schedules to set. People to hire and lead. Resources (office space, computers) to acquire. All of this fits more appropriately within the purview of management.
Art
Programs contain many artistic elements, akin to writing or painting. User interfaces should be aesthetically pleasing to users. Code should be aesthetically pleasing to programmers. Many goals of good design are NP-complete or worse (such as minimizing the number of lines of code, minimizing number of variables, etc.), meaning they are not decided objectively by either man or computer, so they must be decided by one's own sense of aesthetics. Even the decision of whether a variable name or class name is clear and simple is an artistic question. Donald Knuth famously argued that programming is an art.
Performance
The act of writing software requires that developers summon the energy to find the answers they need while they are at the keyboard. Creating software is a performance that resembles what athletes do on the field, and actors and musicians do on stage. Some argue that SEs need inspiration to spark the creation of code. Sometimes a creative spark is needed to create the architecture or to develop a unit of code to solve a particularly intractable problem. Others argue that discipline is the key attribute. Pair programming emphasizes this point of view. Both Kent Beck and Watts Humphrey have argued this emphasis. [This is not dissimilar to the argument over whether the water outside is freezing, because it is in its nature to do so or because the temperature outside is zero degrees Centigrade.]

Branch of which field?

Is SE (or should SE be) a branch of programming, a branch of computer science, a branch of traditional engineering, or a field that stands on its own? There is considerable debate over this. This has important implications for professionalism, licensing, and ethics. Licensing is a polarizing issue: some fiercely advocate it while others staunchly oppose it.

Branch of programming
Programming emphasizes writing code, independent of projects and customers. Software engineering emphasizes writing code in the context of projects and customers by making plans and delivering applications. As a branch of programming, SE would probably have no significant licensing or professionalism issues.
Branch of computer science
Many believe that software engineering is a part of computer science, because of their close historical connections and their relationship to mathematics. They advocate keeping SE a part of computer science. Both computer science and software engineering care about programs. Computer science emphasizes the theoretical, eternal truths while software engineering emphasizes practical, everyday usefulness. Some argue that computer science is to software engineering as physics and chemistry are to traditional engineering. As a branch of computer science, SE would probably have few licensing or professionalism concerns.
Branch of engineering
Others advocate making SE a part of traditional engineering. This is especially true for people who want to emulate other elements of engineering, such as licensing. Both engineering and software engineering share many project management problems and solutions. But, they apply different technologies, they use different kinds of processes, and are driven by different economics. As a branch of engineering, SE would probably adopt the engineering model of licensing and professionalism.
Freestanding field
Recently, software engineering has been finding its own identity and emerging as an important freestanding field. Practitioners are slowly realizing that they form a huge community in their own right. Software engineering may need to create a form of regulation/licensing appropriate to its own circumstances. It is arguable that licensing (in the United States) is inappropriate because the creation of software represents a form of writing, and requiring people to be licensed in order to write computer programs may be a violation of the First Amendment. Requiring software engineers to be licensed would make persons who create software without a license into criminals, even if they give their software away, same as practicing medicine or law without a license, even for free, is a criminal offense. It could also be argued the requirement of licensing of programmers could be "prostituted" into an orthodoxy where those who create software in ways or using methods which are not approved by the licensing authorities may be subject to sanctions up to and including loss of license. Thus the licensing authorities could conceivably hold people to whatever "flavor of the month" of software engineering standards are considered a good idea at that time, under threat of loss of livelihood.

The U.S. Bureau of Labor Statistics treats Computer software engineers as a freestanding field. The general category of "engineers" includes computer hardware engineers, but not computer software engineers

See also Comparing software engineering and related fields.

History

Software engineering has a long evolving history. Both the tools that are used and the applications that are written have evolved over time. It seems likely that software engineering will continue evolving for many decades to come.

See also History of software engineering.

60 year time line

  • 1940s: First computer users wrote machine code by hand.
  • 1950s: Early tools, such as macro assemblers and interpreters were created and widely used to improve productivity and quality. First generation optimizing compilers.
  • 1960s: Second generation tools like optimizing compilers and inspections were being used to improve productivity and quality. The concept of software engineering was widely discussed. First really big (1000 programmer) projects. Commercial mainframes and custom software for big business.
  • 1970s: Collaborative software tools, such as Unix, code repositories, make, and so on. Minicomputers and the rise of small business software.
  • 1980s: Personal computers and workstations and an emphasis on process like the CMM. The rise of consumer software.
  • 1990s: Object-oriented programming and agile processes like Extreme programming gain mainstream acceptance.
  • 1990s: The WWW and hand-held computers make software even more widely available.
  • 2000s: Managed and interpreted platforms such as .NET, PHP, and Java make writing software easier than ever before.

Future directions for software engineering

Aspect-oriented programming and agile methods are important emerging SE technologies and practices. The 2005 ICSE had tracks on both of these topics.

Aspects
Aspects help programmers deal with ilities by providing tools to add or remove boilerplate code from many areas in the source code. Aspects describe how all objects or functions should behave in particular circumstances. For example, aspects can add debugging, logging, or locking control into all objects of particular types. Researchers are currently working to understand how to use aspects to design general-purpose code. Related concepts include generative programming and templates.
Agile
Agile software development guides software development projects that evolve rapidly with changing expectations and competitive markets. The heavy, document-driven processes (like