Analytical Point of View on Technology Trends
A few weeks
ago (just before Oracle Open World 2013) I had the pleasure to interview with Caroline
de Lacvivier. Interviewing with Caroline was a fantastic experience as her
questions were spot on but most of all it felt like an open conversation in a
topic I am really passionate about rather than a formal interview with some
reporter. After the interview I took notes of her questions and decided that I should elaborate more on my answers by creating this blog post.
The
original articles produced after the interview can be found in the following
links:
http://searchsoa.techtarget.com/feature/Mobile-developers-agree-HTML5-and-JavaScript-apps-fall-short
Following further elaboration on my answers:
1.
What new service/innovation is
HCL Tech particularly proud of? Why?
Technology is evolving at
the fastest pace ever seen before. We are starting to see CIOs shifting towards
the adoption of flexible platforms and frameworks that promote a lower TCO,
reduce time to market, and offer innovative products. But most
importantly that will allow them to embrace the new trends such as mobile, bid
data and cloud to improve business and become more competitive. We believe that
our Fusion Offerings and our Accelerators can deliver that.
Our end to end Oracle Fusion offerings combine with our Fusion
Accelerators, and our Cloud Offerings can deliver just that. Our offerings look
at the complete Oracle stack, from Fusions Apps, Fusion Middleware, Engineer
Systems (Exa Systems) and Cloud deployments and options. Then based on customer
needs we select the right components of the stack to assemble solutions,
capable of supporting our client requirements but must importantly deliver the
desired business outcome. We also ensure that these solutions are designed to
support the adoption of new technologies such as big data, cloud and mobile in
the short, mid or long term.
Last but not least, I am particularly proud of our Integration capability
and offerings. We have a very mature and robust integration center of
excellence. The average skill level is very high that allow us to come up with
solutions offering that are very innovative and diverse (for example our smart
config solution which will be demo at open world).
2.
How are Agile development methods
being used in your work or projects?
We always introduce an element of agile into our projects. Even in our
day to day work activities we try to adopt elements agile. For example, daily
scrum standup meetings are a fantastic way of keep communication flowing, get a
quick view of project status and understand impediments.
For the execution of projects, especially on Integration, we often adopt
Scrum. Or shall I say a flavor of it. I say a flavor of it because we usually
work in distributed and onshore/offshore models so having standups with teams
that are geographically distributed is not really possible. Also physical
whiteboards wouldn’t work in this model. Instead we have daily or by-daily
calls that follow with a similar structure of the daily scrum meeting and
instead of white boards with use cloud tools such as JIRA / Greenhopper that
can be accessed and updated from any location.
Why is Agile a fit?
In reality Agile in its pure way is not always a fit. Agile is
undoubtedly a perfect fit for product development. This for many reasons, such
as focus on quicker results, better ability to change, focuses customer
experience and also improved quality. Also for the execution of small or medium
size projects where certain amount of unpredictability is acceptable, Agile is
also a good fit.
However for larger, multi-million dollar programmes of work, where
commercial negotiations are unavoidable it becomes more challenging to use
agile. What I usually see instead is a combination of some of the agile
practices (as earlier said) underpinned by the use of traditional methods such
as Rational, two towers, model office or even Sachimi (flavor of waterfall). I
don’t necessarily agree with this, however I do understand that when several millions
of dollars are at stake having a clear understanding of the scope, effort of
work, costs, and deadlines becomes a critical factor.
Nevertheless, in these large programmes of work, even though at a
programme level the holistic delivery approach might not be agile, I have been
able to introduce agile at the project level.
What are the challenges?
I think one of the main challenges when implementing agile is the
cultural change required on the teams that will adopt it. When people are used
to do things in a certain way, it’s not always ways easy to make them change.
Teams need to be educated on what Agile is, its benefits and practices before
actually expecting them to adopt it. Sometimes this step is skipped. This
becomes even a greater challenge for very large organizations. Being Agile a
disruptive innovation it requires a cultural and mind shift.
Also agile requires a team with discipline as member of an agile team
are expected to be more independent and proactive. It’s about actively
completing tickets and if you have finish an activity, it should move on and
complete another activity whilst always keeping the whiteboard updated. This is
also related to the previous point.
Benefits and results?
For me the main benefits are quicker outcomes, improved tolerance for
change and better product quality. All of these leading to fastest time to
market and improved customer satisfaction.
3.
What do you see as the big career
or technology opportunities for developers and architects this year and in the
next few years?
I would say Mobile apps, Cloud Integration and SOA, API development, BPM,
Information Management (mainly MDM, Big Data and Analytics), and Embedded Java
(for Device to Device) are or will be all major trends.
Mobile Apps for obvious reasons. Use of smarts phones is growing
extremely fast. At present surveys suggests that mobile device users prefer to
use of apps rather than a browser to access information.
API’s are critical to for applications either on the cloud or on premise
to made key functionality and information available. SOA also plays in
important role here as APIs can be exposed as services but also adopting SOA
governance and principles around API management ensures that both consumers and
providers are getting the best out of these APIs.
Cloud Integration is a big one. Integration but must particular SOA is
key enabler for cloud adoption. Going cloud doesn’t mean that the data will be
automatically migrated to the Software as a Service system or it will be
automatically integrated with other cloud or on-premise systems. To prevent
ending in “accidental cloud integration” it is strongly recommended to define a
cloud integration strategy and define how the use of SOA architects and other
integration approaches can enable and accelerate cloud adoption.
BPM because companies are looking for creative ways to optimize and
automate their business processes.
Robust BPM tools are required as it is proven that maintaining vast
amount of process models in decks, or Visio diagrams is impractical and at the
end it only creates confusion and misalignment. Robust tools BPM tools allow to
centrally create, maintain, consolidate and promote processes. Tools like
Nimbus are quite good at this. Other BPM tools like Oracle BPM Suite are
excellent for actual execution of BPM processes, like for example processes
that involved human workflow.
Introducing Data Governance, data quality processes and Master Data
Management like for example Customer Data Hubs and Products Hubs, help
organizations gain a much better understanding of their customers and products
to mention a few. Having better understanding of the customer allows gaining
competitive advantage as products and offerings can be tailored to what the
customer really needs.
For the next few years, in addition to the already mentioned, I would
add Big Data and Security. Data is being
produced at larger and faster rates than ever before. Having Information
Strategies that support the introduction of platforms that allows to the
consumption and exploitation of large amounts of structured and unstructured
data coming from different sources and then being able to analyze this data and
use it to improve product and services can put companies in a unique position.
Another point is about data migration. Whilst more and more companies
move to the cloud, data migration will be a critical activity. So I also see a
growth in this sub-set of information management.
Security, on the other hand, is like a silent monster that in my opinion
hasn’t yet awoken. I don’t think companies yet realized the importance of
security and the investments that are needed in order to secure the information
against external and most important internal threads. Cyber-crime is growing as
fast or fasters than the mentioned trends. Very soon CIOs will realize how
vulnerable their information assets can be if the right level of security
across the entire stack is adopted. I think this will happen soon. You can
already see in the newspapers an increased amount of reports around
cyber-crime.
Last but not least, I foresee embedded Java development to gain a lot
more popularity especially as the “internet of things” gains more and more
popularity. I think the growth we can expect in data derived from Device to
Device (or Machine to Machine) integration will be huge in the coming years.
4.
Where do you see as the less or
declining career opportunities for developers and architects this year and
in the next few years?
Platforms that don’t naturally support cloud deployments or provide a
development framework for supporting multi-channel will become less popular by
default. I think for example web development purely focused on PC browsers is
naturally becoming less popular and there are no many opportunities there.
However if the same web developer upskills a bit and transitions in to mobile or
enterprise app development certainly more career opportunities will arise.
In general I think technologies that are too tight or thought only to
work in the PC era are becoming less popular.
In the Oracle space I would say that any product that is now a “dog”
(using Boston Matrix terminology). Products that are being actively superseded
by new offerings such as Fusion CRM, Fusion HCM and others.
In the Oracle space we still see opportunities in the traditional Oracle
Apps and its platforms. However in the years to come there we expect a shift
from these traditional platforms towards Fusion Middleware related solutions
like Fusion Apps and other new technologies and platforms such as Apache Hadoop
/ Cloudera. Also any technology that enables trends such as Cloud, Mobile,
Social, Big Data and the “internet of things” (Device to Device) I expect to
become very popular.
5.
How much of your organization’s
development is done in Java? What other languages are used?
We are a 90.000 people organization with revenue of 6.3 billion. We do a
lot of development in many Languages and for many platforms. Java of course is
a key one but I couldn’t possibly tell how much of our development is done in especially
in Java. Java is now by default embedded in many of the systems and we
implement. Sometimes we don’t even have to write the Java code even when the
platform is a Java platform. Instead we use GUIS and IDEs that abstract code
writing. Other example is for example use of scripting languages based in Java
such as GROOVY on grails (or simply grails)
and frameworks on top of it such as GRAILS. They ultimately run in a
java platform but we write Groovy scripts. We of course write hard-core java
code using frameworks such as Oracle ADF, ADF mobile or open source like JSF,
Spring or even Struts or Jersey for REST web services.
We also
support many other platforms such as Microsoft .NET and C#, ABAP for SAP, and
even other popular open sources languages such as PHP and Ruby-on-Rails.
6.
What is/are the best development
tool(s) you've started using or continued to use this year? Why?
Being in the Oracle business, we use JDeveloper and SQL Developer a lot.
We used it in the past and will continue using especially as it keeps being
extended with more add-ons and tools to support new solutions and languages. For
SOA in addition to JDeveloper, we also use Eclipse, SOAPUI for testing web
services, JMeter for performance test,
Jenkins for continuous integration. We also use CCI (Code Compliance
Inspector) to improve our code quality
during the lifecycle and also Oracle Enterprise Repository (OER) to provide
visibility over the assets available for reuse.
We have now built a new offering called smart config using Poppet Labs
to automate provisioning and automatically deploy and build.
We
also use Jira and Greenhopper to manage our agile projects. These tools are
very useful when adopting agile when teams are located in several different
locations.
7.
On which cloud platform
are you developing? What factors played into the selection?
What were the results, pro and con? What would you do differently?
We are
working actively in the delivery of a full red-stack cloud platform. Our vision is to offer simple pricing
models such as bronze, silver and gold.
Also as we implement
very large scale Oracle based solutions, we are also using Oracle On-Demand
cloud platform. With Oracle On-Demand environments it is possible provisioning Oracle
software very quickly. This is a key benefit as it mitigates risks and
accelerates the delivery of the actual project as we can focus more on the
solution rather than infrastructure dependencies. Having Oracle itself managed
their own software is also beneficial as they can use their own best practices
and recommended tools to monitor, troubleshoot, config manage, provision, troubleshoot
and patch their own software.
Comments
Post a Comment