Authors' perspectives around software factories. Discussion points - What are the realities, how software development has evolved and how will the future look. Will software go the factory way - a la the manufacturing industry? Or is it closer to the construction industry? Was presented to an audience of college students and faculty.
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Perspectives on software factory
1. Copyright of Thinking Hut IT Solutions Pvt LtdCopyright of Thinking Hut IT Solutions Pvt Ltd
Next Generation Outsourcing:
The Software Factory
A Perspective
Uday Bhaskarwar & Naveen S Jain
Jan, 2011
uday.bhaskarwar@thinkinghut.com
naveen.jain@thinkinghut.com
2. Copyright of Thinking Hut IT Solutions Pvt Ltd
Dipstick
• Factory approach can be taken for software
development
– Software development is no different from producing cars
(or equivalent)… the difference lies in the level of maturity
• Software factories are already a reality
• We are too late / “missed the bus”…
• Software factory is a myth
2
Note: Bulk of the statements, assessments and observations made in this discussion are with
Indian IT Services industry in mind
3. Copyright of Thinking Hut IT Solutions Pvt Ltd
Couple of LOUD statements…
• There is nothing “next generation” about
software factories…
• Success of Software Factories would be
detrimental to our future…
3
Note: Bulk of the statements, assessments and observations made in this discussion are with
Indian IT Services industry in mind
4. Copyright of Thinking Hut IT Solutions Pvt Ltd
Evolution of IT outsourcing / offshoring…
4
Staff augmentation
Staff augmentation –
offshore (T&M)
Managed projects (FP)
Strategic outsourcing
(portfolio of
applications)
Integrated (ADM,
support & BPO)
5. Copyright of Thinking Hut IT Solutions Pvt Ltd
Key challenges/realities in the industry today…
• End of “unlimited demand”
• Escalating manpower costs
• Diminishing profits
• Stagnant revenue productivity
• Limited talent pool
– Of 5-6 lakh engineers produced per year, “cream” is 1 lakh people
– Top 5-6 companies need more than 1 lakh people / year
• Clients expecting “more maturity” from a “mature” industry –
– Better quality
– Higher productivity
– Continuous improvements (better, faster, cheaper)
5
6. Copyright of Thinking Hut IT Solutions Pvt Ltd
Evolution of outsourcing / offshoring…
6
Staff
augmentation
Staff
augmentation –
offshore (T&M)
Managed projects
(FP)
Strategic
outsourcing
(portfolio of
applications)
Integrated (ADM,
support & BPO)
What’s next?
7. Copyright of Thinking Hut IT Solutions Pvt Ltd
What industry needs to do….
7
•Improve TTM(time-to-market)
•Increase productivity
•Consistent / improved quality of output
•Lower CoQ
•Increase the size of the pie
•Reduce cost per unit of output
Innovate
•Better use of tools (design, build & testing)
•Improve reusability – DBT
•Further classification/specialization of work
•Increased use of ready components (libraries,
classes, design patterns)
•Make do with people with generic / lower skills
Means
8. Copyright of Thinking Hut IT Solutions Pvt Ltd
Definitions…
• Factory
– any place producing a uniform product, without concern for individuality
– a building or group of buildings containing a plant assembly for the manufacture of goods
(Source: Dictionary.com)
• Software factory –
– Dictionary.com - NA
– Wikipedia - an organizational structure that specializes in producing computer software applications
or software components according to specific, externally-defined end-user requirements through an
assembly process. A software factory applies manufacturing techniques and principles to Software
Development to mimic the benefits of traditional manufacturing. Software factories are generally
involved with outsourced software creation.
– Softwarefactories.com - The industrialization of software development.
A Software Factory is a software product line that configures extensible development tools like Visual
Studio Team System with packaged content like DSLs, patterns, frameworks and guidance, based on
recipes for building specific kinds of applications. For example, we might set up a Software Factory for
thin client Customer Relationship Management (CRM) applications using the .NET framework, C#, the
Microsoft Business Framework, Microsoft SQL Server and the Microsoft Host Integration Server.
Equipped with this factory, we could rapidly punch out an endless variety of CRM applications, each
containing unique features based on the unique requirements of specific customers. Better yet, we
could use this factory to create an ecosystem, by making it available to third parties, who could
extend it to rapidly build CRM applications incorporating their value added extensions.
– Microsoft.com - A Software Factory is a development environment configured to support the rapid
development of a specific type of application. Software Factories are just a logical next step in the
continuing evolution of software development methods and practices. However, they promise to
change the character of the software industry by introducing patterns of industrialization.
8
9. Copyright of Thinking Hut IT Solutions Pvt Ltd
Concept Modeling
Prototype
development
Manufacturing
process design
Mass production
Traditional Manufacturing vis-à-vis Software Development
7/11/2010 9
Business idea
Business
requirements
PoC Design Build Test
Roll out
•Virtual media -
•Physical media -
Note: The focus here is on core manufacturing. There are other aspects like market research, user feedback and so on which are important for the
development of the product but are not part of the core manufacturing process.
Factory
Software Factory
10. Copyright of Thinking Hut IT Solutions Pvt Ltd
Observations
• Observation #1 –
– The factory paradigm in traditional manufacturing and software
development are very different.
• Observation #2 –
– The maturity level required for software factory is higher
because unlike a traditional factory, software factory does not
churn out the replicas of an item
10
11. Copyright of Thinking Hut IT Solutions Pvt Ltd
Good questions to ask…
• Are we actually talking about “factory” in the traditional sense?
• Is it prudent to draw a parallel to the traditional manufacturing?
• Or is software development closer to something like construction
industry?
• Construction –
– Every product is different
– Every product needs to be composed from “scratch”
11
12. Copyright of Thinking Hut IT Solutions Pvt Ltd
What industry needs to do….
12
• Improve TTM(time-to-market)
• Increase productivity
• Consistent / improved quality of output (lower CoQ)
• Increase the size of the pie
• Reduce cost / unit of output
Innovate
• Better use of tools (design, testing & build)
• Newer ways of building applications
• Improve reusability – DBT
• Further classification/specialization of work
• Increased use of ready components (libraries, classes,
design patterns)
• Make do with people with generic / lower skills
Means
13. Copyright of Thinking Hut IT Solutions Pvt Ltd
Good questions to ask ourselves….
• Lack of investment?
• Lack of Vision & Leadership?
• Lack of focus & commitment?
• Lack of culture of innovation?
• Satisfied? Too comfortable? Lack of incentives?
13
14. Copyright of Thinking Hut IT Solutions Pvt Ltd
Where is the world moving today?
14
Bespoke Packages
SaaS (Convergence of
h/w, s/w & services)
Relevanceofsoftwarefactories-->
Bespoke Packages SaaS
15. Copyright of Thinking Hut IT Solutions Pvt Ltd
What does that mean?
• Get ready for a more SaaSed world –
– Invest in creating IP
– IP creation has a direct relevance to factory approach as well (ready
components is a function of IP creation)
• Having said that, a large %age of Indian IT industry’s revenue still
comes from bespoke development for their clients –
– Create traditional “software factory” for this shrinking segment
15
16. Copyright of Thinking Hut IT Solutions Pvt Ltd
Conclusion
• Software factory is the next logical step in the journey of software
development
– There is nothing special about software factory. It’s right there on the normal
path of evolution.
• In concept, a software factory is closer to construction industry than
traditional manufacturing
• The journey has been on for over 10 years now
• Indian IT industry and industry leaders need to do more to achieve the
final goals
• Software factory is not the panacea of all the issues being faced by the IT
industry
– IP creation needs to become mainstream
16
17. Copyright of Thinking Hut IT Solutions Pvt Ltd
Q & A
Q & A
uday.bhaskarwar@thinkinghut.com
naveen.jain@thinkinghut.com
17