With the economic slowdown being left behind, there is a lot that developers
and project managers can look forward to for their future growth. Considering
that India is one of the world's largest developer hubs, it's important for
developers and project managers here to stay ahead of the curve. This is only
possible if they can learn the latest technologies, development techniques, and
best project management practices. Only then can they grow in their own career
and in turn help the organizations that they work for grow as well.
It was with the quest to keep Indian software developers and project managers
stay ahead of the curve that PCQuest and CIOL collaborated to host a two day
mega-developers' conference, Spark IT 2010, on March 18th and 19th earlier this
year. The event was held in the prestigious Indian Institute of Science (IISc)
campus, Bangalore. The platform aimed to address the needs of software
professionals by bringing them face to face with eminent speakers and tech gurus
from India and abroad.
Spark IT indeed delivered that, and created that 'spark' in everyone's mind.
Over the two days, there were sessions on technology and project managements,
besides hands-on workshops. The various sessions on Agile development, Java EE,
Cloud Computing, SOA, project management etc. taken by renowned speakers like
Dr. Venkat Subramanium, Arun Gupta, S G Ganesh, Rohit Bhardwaj, Dr. M R Gopalan
amongst others, all of whom were well received by the audience.
Around 2000 developers and project managers attended the conference across
the two days. But for us that's not enough. We'd like to make sure that we can
update all the software developers and project managers in the country (and even
across the world through online) about the learnings from this event.
Presented here are the key takeaways from Spark IT
All about Project Management and Product Management
Kirthiga started off the session named ‘Project Management in a Global,
Cross-cultural Environment’ by laying the importance on the universal nature of
today’s enterprises, and explained how with the increasing globalization every
enterprise has touched the aspect of global team. She covered various aspects
like external perspective of project management, understanding the global
cross-cultural environment, role of project management and the common
challenges. According to her, various drivers of the teams are lower cost
structure, expertise, 24x7 consumer service and co-locations. These result in
faster time to market, increased response and greater customer satisfaction. She
emphasized that the role of project manager is to define value of the customer,
lead the team from the concept stage to application of the idea.
Kirthiga Reddy, VP & GM, FailSafe and Phoenix India |
Taking another session on “Product management Fundamentals”, Kirthiga quoted
that “Role of a product manager is to define product and services that create
value for the customer and profit growth for the company.” Further she
elaborated and said that product management is a journey that is in three parts
as concept, execution and delivery. She added that the companies slice product
management differently; product manager could be structured as CEO of the
product. It can also be sliced more narrowly like eBay that worked towards
outbound analysis.
Go KISS the Social Media
In past couple of years we have seen the surge of Social Media and it setting
the trends and also coming into enterprise scenario as well. Sachin Khosla while
speaking at Spark IT 2010 said that today when companies are looking for means
to reach out to customers, unlike the other way round, social media is promising
to be the platform for great potential in terms of customer support, especially
in this age of 2.0. Social media such as Twitter, Facebook etc. are fast, cheap,
give instant feedbacks, help in relationship building and also are the best
means of free advertising. He also cautioned to take a note that one has to keep
it (message) simple and short (KISS). The message should not be imposed upon
anyone, and it has to be the community to take the call. He also demoed how to
build applications around the APIs of the social media sites and how they can be
consumed by enterprises for better relationships with their customers. He also
talked about location awareness and what benefits are there for serving the
content through your web applications that is context based. or instance, if a
mobile user accesses your web application from his phone’s browser then
depending on his current location you can show relevant information to him. He
also took another session on HTML 5, where he talked about web workers and
programmable web that are leading towards Semantic Web.
Sachin Khosla, Founder, Digimantra.com |
It Could be heaven or It could be Hell
Dr. Venkat sparked off the proceedings of the event through his keynote
speech with the title, “It could be heaven or it could be hell”. Bewildering the
audience of the packed hall to think what’s he going to speak about, Dr. Venkat
took the audience on an informative trip about the nuances of software
programming. He advised budding developers to be unique and try to write their
codes differently. He urged programmers to change their method of coding in
primary languages and start developing applications using multiple languages.
He insisted on the necessity of becoming a good black swan amongst the common
white ones. With this he meant that the developer’s method of designing an
application is heavily influenced by the language he knows. Knowing just one
language limits the thinking possibilities, while getting hold of multiple
languages makes one think and perceive differently to a given situation. For one
programming language it is not easy to be effective in all areas. According to
him, people assume Java to be relentlessly hopeful as it was simpler than C++,
but Java features are becoming complex with less benefit. In the past six to
seven years there has been language explosion, and now there are more than 200
languages in Java virtual machine alone. He pointed out to developers that it
would be heaven for them if they took advantage and became polygot programmers
by using multiple languages for different layers of the language or layers
within the language. Else it would be hell, for restricting themselves to just
one language.
Dr. Venkat also took sessions on Agile Development and prudent practices,
powers and perils of JavaScript. Also he took a hands-on workshop on Groovy,
which had the audience who were keen to attend and not to miss out were seated
on the stairs also.
Dr. Venkat Subramanium, Founder, Agile Developer Inc. |
Java EE6 outgrows one size fits all myth
Arun Gupta while talking on the latest Java Enterprise Edition, Java EE6,
said that java EE is a monolith one size fits all, and Java EE6 has outgrown
that myth. He talked about the features of Java EE 6, which includes web
profile, converged technologies and extensibility. It also features a standard
way to define how to integrate frameworks, such as Struts, Spring, Apache Wicket
etc., unlike the earlier editions. Java EE6 also heralds ease of use as WebXML
and will also extend support to multiple languages, such as Django, JavaFx,
Scala, Groovy, Clojure, Jruby and COBOL. Java platform allows one to create
composite application, such as Enterprise Bus, service engine, Intelligent Event
Processing, XSLT, data mash-up, encoding etc. and has a wide range of adapters,
communications and databases. This new platform also has several offerings for
Ajax including Ajax Pulling, Ajax Push (Long Push), Ajax Push (Streaming) etc.
And also, there are several tool kits on Java, such as ICEFaces, RichFaces,
which offer Ajax integration. It also supports JavaFx. Java EE 6 will serve as a
platform for creating and deploying rich Internet application across all screens
of life such as TV, mobile laptop etc. soon. This allows a full spectrum of
technology wherein a Java developer can assume multiple roles, such as of
communication, enterprise, BPM, Web 2.0 etc. He also took another session that
was on improving engineering processes with Hudson, which is an open source
Continuous Integration (CI) server, and is already in use by big names like
EBay, Yahoo and LinkedIn.
Arun Gupta, GlassFish Evangelist |
SOA and SaaS are Complementary
Starting with explaining the context where SaaS moves on to the architecture,
and detailing the advantages, challenges and solutions, Yogesh More further
talked about SaaS in enterprise application scenario and also talked about the
complete architecture of SaaS with enterprise applications and SOA. He said that
when SaaS based applications work in enterprise scenario, the benefits are
application level integration, security for file exchange, user store and open
standard; however, the challenges come from funding, seamless integration and
performance aspects.
To showcase this, he used the example of Virtual Edge (VE), an application
track suite. The benefits from it were that there’s no coding required, has auto
upgrades, 24x7 availability and is accessible universally. While the challenges
lied with the customization, third-party application integration, multi-tenant
application and database and ensuring 24x7 availability.
Yogesh More, Manager, R&D, ADP Private Ltd |
He emphasized on the benefits from the complete architecture, which includes
SaaS based enterprise application integrated or laid upon SOA platform. This
ensures timeless implementation, sharing of utility services, shared
infrastructure services, re-use of the infrastructure and development of new
services in faster time. He cited challenges of the architecture to be the
timelines of a true SOA, seamless integration to fullest, single sign on,
integration and governance of support layers are major bottlenecks.
A Software Bug can Kill You, literally
SG Ganesh compared the software bugs to icebergs, as most of them are hidden.
What we see is just the tip, about 1/10th of all the bugs that are present in an
application. During his session on “Software bugs and Code Quality”, he
emphasized on the code quality and how essential it is for software development.
Since software usage is critical, software requires “Five Nines”, which means
only five minutes of downtime is allowed in a year. In his animate way he listed
examples from history where software bugs have been disastrous. In 1996, Ariane
5 rocket blasted within minutes of take-off due to software bug. There was error
because of conversion from float to int in Ada, which resulted in an overflow
exception. Similarly Microsoft’s Zune player froze on December 31, 2008. The
reason was that the code was written in such a way that it would never terminate
if the year happens to be a leap year and the day’s value is 366.
Bugs in software are a serious issue and to eliminate them and ensure
code quality is a difficult task. He said that the first thing that a programmer
needs to realize is the cost of code quality. He went ahead to say that though
testing is not the only solution for creating code quality. Testing does show
the presence of bugs, and not their absence. For 99.9% of inputs the bugs would
go undetected during tests. It’s not only the developer, but also the manager’s
responsibility in creating quality software.
The other session that S G Ganesh took was on “Google Go”. He got going in
this session by saying that “A language is not just for communication, but it
heavily influences one’s thought process as well. So when you know multiple
languages one tends to think and perceive things differently,” while addressing
the audience. He cited that there were no major programming languages created
during the last decade, while during the same period much has changed in this
ecosystem. In an era where language libraries are becoming bigger with lots of
developments, Internet and networking becoming pervasive and multi-core
processing becoming mainstream, the present system programming languages,
developed over three decades back, fall short of catering to the above mentioned
properties.
S G Ganesh, Member Technical Staff, Siemens (Corporate Technology) |
This is where Google Go enters into the picture. It’s a language created by
Robert Griesemer, Ken Thompson and Rob Pike. Google Go, takes the name after the
first two letters of its parent company, and is a dynamic language that has a
concise and clean syntax, where separation of interface and implementation is
possible, and Go routines is based on CSP, which is safer than lock-based Java.
This experimental, concurrent, garbage-collected system programming language,
launched in September 2009 and touted to be the next ‘C’ language is still in an
evolving stage, with tools and packages in development stages and being used by
only one per cent of programmers as of now. Ganesh sees there’s great potential
in Go and the probability that it being used in embedded systems as well.