This presentation explains how teams with people who have a diverse set of skills, varied backgrounds, as well as different individual strengths, weaknesses deliver software and exactly why the productivity of software development teams is more relevant than the productivity of individuals.
Extentia® is a global technology and services firm that helps clients transform and realize their digital strategies. With a unique Experience Centric Transformation approach, our ground-breaking solutions are in the space of mobile, cloud, and design. Our team is differentiated by an emphasis on excellent design skills that they bring to every project. Focused on enterprise mobility, cloud computing, and user experiences, we strive to accomplish and surpass their customers’ business goals. Our inclusive work environment and culture inspire team members to be innovative and creative, and to provide clients with an exceptional partnership experience.
Expand your digital horizons with us. We will help you transform your business and surpass your goals.
Write to us at inquiries@extentia.com
2. www.extentia.com | Confidential
What It's All About!
• Productivity of software development teams is more important than
productivity of individuals
• Software is delivered by teams – made up of individuals with diverse
skills, backgrounds, and strengths as well as weaknesses
• Too many channels of communication lead to miscommunication
• Attributes of software and processes deteriorate – bugs, test cases, and
general complexity grow at an increasing rate
3. www.extentia.com | Confidential
Measuring Productivity
Metrics to measure individual productivity Metrics to measure software team’s productivity
• Lines of tested, production-ready code
produced
• Due to reasons ranging from the difference in
verbosity of languages and varying quality of
code per individual, this metric doesn’t work
well
• Techniques counting Functions Points, Feature
Points, COCOMO, and more – are no longer in
use
• The new metric is ‘Velocity’ which is the team’s
productivity, calculated by measuring the
number of story points delivered to production
during a ‘sprint’
5. www.extentia.com | Confidential
FACTORS THAT AFFECT THE EFFECTIVENESS OF
SCRUM/AGILE SPRINT-BASED PROCESSES
Software development is not about being efficient but being effective
6. www.extentia.com | Confidential
Interruptions
Problem
• Teams and individuals can be interrupted for various things – status
requests from multiple stakeholders – technical leads, project managers,
manager's managers, product owners/customers, account managers,
and so on
• Group meetings tend to disrupt the flow of thought and efficiency rate
• Team members interrupt each other for clarifications
Solution
• Teams should ideally regroup at the end of the day to re-assess the
status and communicate with the clients.
7. www.extentia.com | Confidential
Scope Changes During a Sprint
Problem
• Scope changes hit productivity twice over – some team members need
to stop working on what was planned, switch the context, and learn the
new requirement/change
• Under pressure to deliver, developers might take shortcuts using poor
practices, which will add technical debt
Solution
• For Agile/Scrum models to work and be able to consistently deliver –
every sprint should be scope boxed – no changes to requirements and
no new stories
8. www.extentia.com | Confidential
Lack of Automation
Problem
• Despite the availability of automation tools, software development
teams and managers refuse to take this up seriously
Solution
• Adoption of a static code analyzer, automation unit and integration
along with system-level testing are most important technical initiatives
that can improve productivity
9. www.extentia.com | Confidential
Differences in Skill Levels of Developers
Problem
• No human can acquire every single skill, every person has their own
strengths and weaknesses
• Poorly skilled individual contributors reduce the productive time of the
skilled ones
Solution
• Removing an underperforming developer can increase the team’s
productivity
• This is so that they do not affect the performance of the other team
members
10. www.extentia.com | Confidential
Technical Unknowns
Problem
• Using multiple third-party libraries with potential poor documentation,
compatibility issues caused technical unknowns –the impact is
discovered late in the development cycle
Solution
• Developers should anticipate the risks, be prepared with alternatives,
and provide adequate buffers for POCs during estimation
• Developers must also upgrade themselves on a regular basis to avoid
technical unknowns
12. www.extentia.com | Confidential
Conclusion
To increase productivity, every organization must fine-tune its practices
ranging from hiring and engineering processes, communication, as well
as fostering a culture of excellence