Transcription

Software DevelopmentCurrent and Future TrendsJagdeep Singh Bhambra, [email protected] June 2012

AGENDA *IntroductionThe Changing WorldAgile, A LifestyleAgile, What is Required?Search & DiscoveryDigital PublishingSummarySoftware Development, Financial Times

INTRODUCTIONSoftware development must support a wide variety of delivery models, with increasingly demanding businessrequirements and expectations.Agility is key; and the world of Agile has matured.We have moved on from asking 'why', but are now focused on the 'how'.*Software Development, Financial Times

THE CHANGING WORLDA variety of developments have accelerated the need for businesses to be Agile: *software development is highly accessibleincreasing change cyclesrapid feedback and analyticsinnovation through collaborationsocial media / social CRMfast adaptationshort timeframes to exploit opportunitiesinformation consumption and exchange is continually evolvingSoftware Development, Financial Times

THE CHANGING WORLD CONT’DThe backdrop, and ever-increasing relationships and dependencies: *development platforms and architectures, e.g. package applications, SaaS, PaaS, IaaSmultiple development languages (functional and imperative) - each with advantages and disadvantages‘drag and drop’ development prevalent (custom development is still a prime focus)rapid evolution of mobile and tablet platformsresourcing is now global and multi-skilledcontinual changes in governance, compliance, certifications and standardschallenges around securityprogrammes and projects become increasingly diverse and complexApplication Life-Cycle Management (ALM) processes and toolsSoftware Development, Financial Times

AGILE, A LIFESTYLEAgile affects the entire process, not only development!Is the team (including the Stakeholders) ready for Agile? define and assess current Agile capabilitiesdevelop metrics to measure benefits of Agiledevelop frameworks to support Agile, e.g. programme and portfolio management, governance, etc.utilise KPI formats to measure realised benefits“Agile is still seen as an issue for Governance” (Gartner, 2012)*Software Development, Financial Times

AGILE, WHAT IS REQUIRED?What do we need to be Agile? *Agile advocates, i.e., the team itself and the businessallowing for self-management and self-organisation, but managing the dependenciesfocusing on cross-skilling and training everyonekeeping team structures simple and aim for short iterations (1 - 2 weeks)communication and collaboration is frequent and unhindereddeveloping a culture that enables adaptability and copes with rapid changeselecting technologies that advocate and promote Agility amongst teamsa strong ‘Agile’ SDLC infrastructure, e.g. app and build servers, source repositoriesSoftware Development, Financial Times

AGILE, WHAT IS REQUIRED? CONT’D enforcing of solid engineering principles: Continuous IntegrationAutomated unit testingAutomated acceptance testingPush-Button ReleasesRefactoringPair programming, TDD, BDD, etc.monitoring progress through dashboards, and management through good softwareAgile project management throughout utilising ALM toolsin the case of larger development initiatives, centralised governance is keyensuring governance is able to be highly responsive (with sufficient controls) - enabling effective and efficient use ofIT in achieving business goalskeeping everything visible!Gantthead (Shriver, Ryan., April 26, 2010, “Hyper-productive Agile”) - “Scrum-by-the-book is less productive than Agileteams”*Software Development, Financial Times

SEARCH & DISCOVERYProgramme focuses on improving search across platforms, metadata, API development, SEO, etc.Team: 10 membersMethodology: Kanban lack of clearly defined backlog, and inability to commit to sprintsdelivery requires fast feedback and burning visibility of objective dataRealised benefits: increased visibility of story flowbetter understanding of bottlenecks and dependenciesimproved cross-functional teamsHurdles to overcome: *improving the visibility of the inventory and prioritiesimprove the management of bottlenecksimprove collaborationSoftware Development, Financial Times

DIGITAL PUBLISHINGProgramme focusing on enhancing FT’s digital capabilitiesTeam: 30 members (incl. offshore teams)Methologies: Mixture of Scrum, XP and Kanban XP - Development and testingScrum - Reporting, i.e. velocity tracking, burnups, 2-week cycles for retrospectivesKanban - Workflow management, i.e. organisational, workflow, "just in time" planningRealised benefits: *Product Owners are able to change their mind quite late with minimum costenhanced ability to react to change and critical defectsthe team can pull work when demand is presentlimiting ‘work in progress’ improves focus on completing work that has been startedmixing methodologies ensures the shortcomings of each methodology (when used on their own) is overcome.historically, testers were a bottleneck, but this has been mitigated as developers can begin to write functional andautomated tests (NB: This is done by default now)Software Development, Financial Times

DIGITAL PUBLISHING CONT’DHurdles to overcome: initial buy-in from Product Owners (as they still think in ‘Big Bang’ releases for their initiatives)retrospectives lack the ‘human element’ when dealing with remote teamsstruggles with access to provisioning of environments due to dependencies on key systemsUnique perspectives:Working with geographically teams works very well providing: *remote teams have technical leadership locallyuse of collaboration and video conferencing is made use of activelycreation of ‘opt out’ meetings on Skypecollaboration tools such as Google Docs / Drive, Wikis are utilisedSoftware Development, Financial Times

SUMMARYThe key objective is on continuous improvement across FT TechnologyDrive to focus on enabling Agility *technologies: FTCloud, SalesForce, Heroku, Amazon AWS, Google App Engine, Big Data, etc.architecture, development and testing: Utilisation of pragmatic Agile principlesresourcing: Multi-skilling and cross-skilling across (geographically dispersed) teamsteams: Nurturing talent by providing mentoring, supporting, training, guidance, etc.community: Developing and contributing to communities/forums, including funding projects and initiatives, hackdays, etc.analytics, reporting and metrics: Enabling the measurement of realised benefitsprogrammes and portfolio management: ALM and tracking deliverablesstandards: Continuous focus on compliance, certifications, standards, governance, security, etc.Software Development, Financial Times

THE ENDJagdeep Singh Bhambra, PhDHead of Software DevelopmentFinancial TimesEmail: [email protected]*Software Development, Financial Times

* Software Development, Financial Times THE CHANGING WORLD CONT'D The backdrop, and ever-increasing relationships and dependencies: development platforms and architectures, e.g. package applications, SaaS, PaaS, IaaS multiple development languages (functional and imperative) - each with advantages and disadvantages 'drag and drop' development prevalent (custom development is .