We have - setcon

Download Report

Transcript We have - setcon

From engineering to
consulting...
On engineering
Artak Oganesyan
Ilya Kochetov
JANUARY 1, 2015
1
2
SUMMARY
There are many ways to engage with the client. Most of you spend time working on a part software project, in
business analysis, coding, testing or even management. But there something else you could do to both improve
the relationship with the customer, make the life for you and your team easier and better, break out of routine
and to help deliver your project in smoother and more productive way:
3
WHAT AM I TALKING ABOUT?
WHAT DO WE HAVE THAT THEY DON’T
• We have more than 20 years of continuously developing, improving and optimizing our software
development process and methods.
• We have processes and methodologies are mature and ever evolving in all areas, including business analysis,
development, testing and support.
• We have hands-on knowledge of more tools and practices than most people even heard of.
• We have unmatched understanding of the IT projects complexity and pitfalls with a range of clients from new
web gurus to green-screens dinosaurs.
• We have thousands of successfully delivered projects for all kind of customers: from tech-savvy software and
internet companies and start-up, to conservative and old-fashioned banking and insurance people, to funky
entertainment and youth fashion people, to mammoth oil & gas and government companies.
4
WHAT AM I TALKING ABOUT?
WHEN DO THEY NEED WHAT WE HAVE WHAT THEY DON’T
• Solving problems with using outdated or obsolete software development processes
• Solving problems with low IT maturity level leading to overheads and wasted effort
• Solving problems with no or little experience of specific kinds of products or technologies and
are unable to pick the right one or are not even aware of their existence
• Solving problems with inadequate understanding of importance of software development
process
• Solving problems with miscommunication and misunderstanding between the customers and
development team, or customer business and IT
5
WHY IS IT SO IMPORTANT: EVOLUTION
• Software development is evolving at amazingly fast rate.
It is almost impossible to keep up unless you are
constantly trying to be on top of the current trends and
best practices
• Companies not in software development business do not
have time and resources to invest in staying up-to-date.
For them innovation usually has to come from external
consulting and sometimes from new people coming on
board, not from internal IT teams. Your past
• Stagnation in even the best teams and products is a sure
way to obsoletion and decay the only way to keep up is to
move forward and improve.
6
WHY IS IT SO IMPORTANT: RELATIONSHIP
• Top-down consulting is never easy: to listen to an
advice, even a good one. External consultancy coming
to you with a list of suggestions for a perceived issue
would not be able to gain enough traction if there is
no established trust.
• Consulting from the trenches is better: If you already
have the customer trust they will be more willing to
listen even if they do not yet appreciate the problem
themselves
• Successfully implemented suggestions are creating a
strong foundation for the partnership which will be
more efficient and fulfilling for both parties
7
CASE TO THE POINT: SOFTWARE TESTING
• EPAM has one of the most mature software testing practices in the world, which include automated
testing and load testing which are almost never
• Most companies have functional testing practices which are below average
• By educating our customers about software testing we could reduce the number of conflict
situations, speed-up user acceptance testing, receive better and more informative feedback
• Our customers will gain better understanding of the software development process it and its results
and will be able to manage their expectations better
8
CASE TO THE POINT: ODC PROJECTS
• NDC/ODC engagements are the lifeblood of EPAM. They
have their own unique set of challenges but they are
ideal for ‘consulting from the trenches’ approach.
• We have examples of small teams with 3-5 members
growing to the 50-100 people strong ODC relationship
which last for years due to the fact that we actively
advised our customer on their IT strategy
• Good relationship is important not just for getting new
projects but also for keeping existing ones alive. If the
customer don’t trust us to do a great job they will
start to look for alternatives and in general will make
our lives more difficult
9
WHAT COULD WE OFFER?
THERE IS A TON OF THINGS WE KNOW BETTER THAN MOST
•
•
•
•
•
•
•
•
•
SDP Hygiene: Filling timesheets like brushing your teeth
Collecting Metrics: We know how to quantify project status
Requirements and change request management to make sure that they don’t become disruptive
mess
Cost allocation: How much did this feature did really cost? And who should pay for it?
Documentation: We can teach the customer how to write docs which will be not be obsolete
overnight
Continuous integration: We have the tools and we are not afraid to use them.
Repositories and Distribution centers: We know how to make sure that the code is always available
and always works
Code reviews and automatic code quality metrics: we can prove that our code is better than yours
Better processes all around: from functional testing to business analysis we have a lot to offer. See
if you could find something yourself
10
AND THIS HAPPENS RIGHT HERE AND NOW
•
•
•
•
•
•
•
•
•
•
•
Continuous Integration
Project tracking Jira set-up
Resources cost allocation and reporting set-up
Change Management portal
Status Dashboards
Full QA Automation
Audit of IT infrastructure
Code Repository set-up
Performance testing
Automatic reports
Best practices advice
Estimations methods advice and trainings
Agile trainings and implantation
Work model transformation
IT department structure advice and
consultations
• Timesheets and time reporting advice
• Working together with ‘business’ consultants
•
•
•
•
11
AND THIS HAPPENS RIGHT HERE AND NOW
COULD YOUR
CUSTOMER BE NEXT?
12
WHY IS IT SO IMPORTANT: YOUR CAREER
• At some point just typing one line of code after another will
not cut it.
• To move forward and challenge your current situation and start
expanding your area of expertise
• The way to better yourself IS NOT just through learning a new
framework or a new programming language
• Communication skills are as important as anything else if you
want to be a team leader, an architect or even move to the
management career path. A lot of problems could be best
solved by a simple talk between the parties
13
WHERE TO START? SOME ADVICE
1
Be concise – explain exactly what is the problem, why it is a problem and what do you propose to do about it.
2
Come well prepared – if you want to propose something do some homework. Research and bring hard facts,
figures, and examples from other companies
3
Evaluate feedback carefully to see if you need to approach from another angle, provide more compelling
arguments or even drop the issue altogether
4
Don’t be afraid to ask EPAM community most issues already popped up at least a couple of times and you could
get useful insight from these cases
5
It’s better to move forward in small steps. Try to suggest gradual path to innovation, instead of a ‘big-bang’
approach
6
Never push the issue too hard – if the customer is not ready to listen now, it is best to find another time.
7
Consider applying for the Mentoring program if you need additional advice
14
WHAT IS IN IT FOR YOU?
• Improve your market value
• Brag about it during your next assessment
• Looks good on CV
• Try something new on your project
• Break out of boring routine
• Next step on your career advancement path
[THE CAKE IS A LIE]
• Improve your communication skills
• Better understand your customers
• More meaningful engagements
• Challenging and meaningful work every day
15
WHY IT IS SO IMPORTANT: EFFICIENCY
From Steve McConnell’s ‘Professional Software Development’
100%
Percentage
of Effort
0%
Thrashing
(unplanned work and other wasted effort)
Visible progress (e.g. coding)
Planning and management process
Lucky projects
finish here
Unlucky projects
are stuck here
Time
16