Upload
ssl
View
548
Download
1
Embed Size (px)
DESCRIPTION
Software Engineering - An effort to strike a sensible balance
Citation preview
Page 1 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
w w w . s o f t w a r e s e r v i c e s l a n k a . c o m
S E N S I B L E S O L U T I O N S
SOFTWARE ENGINEERINGAN EFFORT TO STRIKE A SENSIBLE BALANCE
Page 2 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
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
of people.'
Wikipedia - http://en.wikipedia.org/wiki/Engineering
'The creative application of scientific principles to design or develop structures,
machines, apparatus, or manufacturing processes, or works utilizing them singly or in
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.'
The American Engineers' Council for
Professional Development - Wikipedia
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
useful objects or processes.
http://www.wordiq.com/definition/Engineering
Page 3 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
Why do we get it wrong ?
● There can be many reasons ● Requirements (misses, misinterpretations, over emphasis, etc.)● Expertise and resourcing● Planning and execution● Technology● Engineering, etc.
● The exact causes depend on the context under consideration
Page 4 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
A common symptom
● A more common grouping of reasons points to engineering.
● Not being able get the right balance for the task at hand.
● A question of 'How much to engineer' than 'How to engineer'
Too little Too Much Ideal point/amount of engineering required depends on the requirements and
overall context (business, IT, expertise, etc.)
Page 5 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
What are the problems ?
A closer analysis points to● Dynamics of software● Choice and impact of marketing● Technology influence on user requirements
Page 6 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
Dynamics of software● Software is intangible (not having a physical substance)
● Makes it unique especially from an engineering perspective● Other fields of engineering deal 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 disruptive
● 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
Page 7 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
Dynamics of software – The Innovation cycleThe 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.
● Disruptive 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
Innovation cycle
Progressive Disruptive
Backward Compatible
Backward Incompatible
Existing and related software assets mandated to be re-engineered
Minimum or no alterationsto accommodate
Page 8 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
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 offers 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
Page 9 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
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 often the industry is exposed to technology / product release cycles which are marketted as 'THE ANSWER' panacea for all evils.
– 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
Page 10 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
Technology on user requirements● Engineering is undertaken to deliver on customer requirements and
expectations● Customer's expect value, bears 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
Page 11 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
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
Page 12 - 12C:\Users\Rizvi\Google Drive\Public Documents\15bd22ce-1200-41d9-8684-756928788a53-SSL-SE.odp
Contact detailsWebsite www.softwareserviceslanka.com
Email [email protected]
Phone +94 72 559 8983, +94 77 347 0531
Address 40/6B Swarnadisi Place, Koswattha Road Nawala, Rajagiriya, Sri Lanka CO 10100