Issuu on Google+

SSL HELPI NG YOU TO GET OPTIMUM RE S ULTS AN D VALUE FRO M IT

SOFTWARE ENGINEERING AN EFFORT TO STRIKE A SENSIBLE BALANCE R i z v i L a t i f f, F e b r u a r y 2 0 1 1

www.softwareservIceslanka.com


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Copyright The entire contents of this document are subject to copyright with all rights reserved. All copyrightable text and graphics, the selection, arrangement and presentation of all information and the overall design of the document are the sole and exclusive property of Software Services Lanka.

Software engineering > an effort to strike a sensible balance

Page 2 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

To begin with â—?

Software Engineering cannot be an after thought

â—?

'Engineering' is defined as follows

'the discipline, art, and profession of acquiring and applying scientific, mathematical, economic, social, and practical knowledge to design and build structures, machines, devices, systems, materials and processes that safely realize improvements to the lives

Wikipedia http://en.wikipedia.org/wiki/Engineeri ng

of people.' 'The creative application of scientific principles to design or develop structures,

The American Engineers' Council for

machines, apparatus, or manufacturing processes, or works utilizing them singly or in

Professional Development - Wikipedia

combination; or to construct or operate the same with full cognizance of their design; or to forecast their behaviour under specific operating conditions; all as respects an intended function, economics of operation and safety to life and property.' Engineering is the application of science to the needs of humanity. This is accomplished through knowledge, mathematics, and practical experience applied to the design of

http://www.wordiq.com/definition/Eng ineering

useful objects or processes. Software engineering > an effort to strike a sensible balance

Page 3 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Why do we get it wrong ? ●

There can be many a reasons ●

Requirements (misses, misinterpretations, over emphasis, etc.)

Expertise and resourcing

Planning and execution

Technology

Engineering, etc.

The exact one(s) depends on the context under consideration

Software engineering > an effort to strike a sensible balance

Page 4 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

A common symptom ●

A more common grouping of reasons points to engineering. ●

Not being able get the right balance for the task at hand

Too little

Too Much Ideal point/amount of engineering required depends on the requirements and overall context (business, IT, expertise, etc.)

A question of 'How much to engineer' than 'How to engineer'

Software engineering > an effort to strike a sensible balance

Page 5 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Whats the difficulty A closer analysis points to ●

Dynamics of software

Choice and impact of marketing

Technology influence on user requirements

Software engineering > an effort to strike a sensible balance

Page 6 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Dynamics of software ●

Software is intangible (not having a physical substance)

Makes it unique especially from an engineering perspective ●

Other fields of engineering deals with moulding of physical property which consumes longer time & effort making innovation to take place at a much slower pace Today it is an established norm to test and evaluate design integrity and performance through software to minimise the physical forms of testing to save time and money. e.g. Design and construction of the A380.

Unqueness makes innovation on software to be fast paced , constant, progressive and distruptive Todays solution stack comprises many technology components from different quarters ●

Creates a interdependent stack

Each of these components has its own cycle and pace of innovation

These cycles will have a knock on effect on referenced components

Creates an environment which is unpredictable and fluid

Software engineering > an effort to strike a sensible balance

Page 7 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Dynamics of software Innovation cycle Innovation cycle

The diagram illustrates the constant innovation cycle a software is subjected to ●

Progressive - Backward Compatible innovation mainly referes to progressive releases of software functionality which does not have a fundamental change impact on the existing versons the software. Progressive Backward Incompatible innovation refers to progressive change which has an impact on the existing platform. The roll out of Microsoft .NET framework 2.0 which mandated all code compiled on the previous version of the framework to be recompiled with amendments. Distruptive innovation refers to fundamental change on the existing software where the innovation breaks all that is established. e.g. Microsoft's move from Visual Studio 6.0 to the .NET platform – a fundamental change in its direction. The roll out of XML based technologies (including web services) as a mechanism for intergration and interoperability – A fundamental change in itegration

Software engineering > an effort to strike a sensible balance

Progressive

Backward Compatible

Minimum or no alterations to accommodate

Disruptive

Backward Incompatible

Existing and related software assets mandated to be re-engineered

Page 8 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Choice and impact of marketing ●

Software solutions are stiched together with technologies which are packaged and made available through software products. ●

Relational database technologies are made available through products such as Oracle DB, SQL Server, MySQL, PostGres SQL, etc. HTML with browsers (Chrome, FireFox, IE, etc.). Implementation of a specific technology can include deviations from the standards (substractions and additions which are vendor specfic as per their technology and product strategies) Can include other non related technologies HTML comes packaged with web browsers. IE by microsoft also includes silverlight, .NET framework, etc. technologies plus HTML standards conformance will vary at the pheriphary.

Today's technology landscape offeres many alternatives (from open source to commercial) for putting together a technology stack. ●

Spoilt for choice

There can be many right alternatives for a particular requirement

Each alternative comes with its strenghts and weaknesses

Trying to make sense can be a real challange

Software engineering > an effort to strike a sensible balance

Page 9 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Choice and impact of marketing ●

This is futher complicated by the influence of marketing hype

Marketing hype is a very visible entity in IT.

While marketing has it merits in terms of creating the visibility for sales it also influences and blinds a well thought out and researched decision making process. ●

A product vendor will always try to push through his proposition sometimes overlooking the actual merits, shortcomings and scope Very oftern the industry is exposed to technology / product release cycles which are marketted as 'THE ANSWER' to all aches and pains. –

Releases of Visual Studio 6.0, XML and web services, enterprise service bus, RIA, Silverlight, etc. ●

Has it lived up to expectations (promise(s))?

But when the dust settles one eventually figures outs its practical scope and application

And by then there may some other thing or things to be 'Gung Ho' about

Software engineering > an effort to strike a sensible balance

Page 10 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Technology on user requirements ●

Engineering is undertaken to deliver on customer requirements and expectations ●

Customer's expect value, bares the bills and consequences

There are instances where technology overwhelms customer requirements.

Results in

Drive for technology perfection

Complexity and bugs

Project delays

And at the end user rejection and lack of buy-in due to usability and value

The reasons for such technology influence can be traced to ●

Technology marketing hype/influence, overpromise, immaturity and blind passion of technologists and technology providers –

Projects driven and influenced by technologists

Lack of focus, priority and drive on user/business requirements, value creation and usability

Software engineering > an effort to strike a sensible balance

Page 11 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

How do we cope ●

Software engineering cannot be an after thought ●

It has to be a well thought out and researched approach

There is no magic pill

Following guidelines can be cosidered as a start ●

Customer value, requirements and expectations are NO 1 priority –

Technology is only a tool and a platform for delivery

Relevence, Intiutiveness and usability are key to winning the customers

Don't aim for perfection specially on a platform that is fluid and disruptive –

Everything as we know today will change tomorrow if not day after tomorrow

Minimum or optimum as opposed to maximum engineering

Layers of decoulping or abstraction to cope with change

Consider all alternatives of its merits and short commings in detail prior to selection –

Don't go simply by the marketing bull

Don't know ask or get help

Don't re-invent the wheel

Be sensible and practical

Software engineering > an effort to strike a sensible balance

Page 12 of 14


HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT

Contact Details Telephone

+94 1 2889090

Mobile

+94 1 07555 98983

Email

info@softwareserviceslanka.com

Google Maps

http://goo.gl/maps/dyoH2

Address

40/6B Swarnadisi Place, Koswattha Road, Nawala, Rajagiriya, Sri Jayawardenepura, Sri Lanka

Website

www.softwareserviceslanka.com

Linkedin

http://www.linkedin.com/company/software-services-lanka

Software engineering > an effort to strike a sensible balance


SSL HELPING YOU TO GET OPTIMUM RESULTS AND VALUE FROM IT


Software Engineering