Docstoc

Agile Software Development - AgileIreland

Document Sample
Agile Software Development - AgileIreland Powered By Docstoc
					Agile Software
Development
A study of the Northern Ireland software
                industry

            This report was prepared for the
          International Investment Division of
                 Invest Northern Ireland
              by academic staff from both
 The University of Ulster and Queen’s University Belfast.



                       March 2010

                  CASE STUDIES
Invest Northern Ireland                              Agile Software Development in Northern Ireland


                                          Case Studies

Five case studies are presented in this section. Good case studies could have been developed using
many local companies so those shown are just an illustration of the variety of experiences possible in
adopting agile practices. These companies are quite diverse and it is hoped that most other
organisations, whether indigenous or multi-national will be able to identify with at least one study.
Each study has been restricted to two pages of text. Companies were given a suggested outline
structure but were also given editorial control over what was written. As a result, there is inevitably
some variation in both the level of technical detail and style in what follows.




                                                                                              Page | 2
Invest Northern Ireland                                  Agile Software Development in Northern Ireland

                                             Andor Technology

                                             Mission Statement – To be the global leader in
                                             pioneering and manufacturing high performance
                                             light measuring solutions.

Key Points
Andor Technology is recognised as one of the world leaders in the development of high performance digital
cameras and light measuring systems. This is a fast paced global market and the key facets of Andor’s success
are the ability to rapidly develop high quality innovative products whilst always maintaining a customer focus.
Andor also offers a wide range of software applications which are extremely important since they are used to
configure and control these products and for data analysis. Therefore the software has always been regarded
as the primary user interface. Andor realised that there was a lot of synergy between Agile development
methods and the demands made on the software team and their applications. This led to the adoption of Agile
techniques with the following aims:
         Improving software quality leading to an enriched customer experience and reduced maintenance
         and support costs.
         Regular software releases with the primary goal of delivering features and improvements with the
         highest business value.
         The ability to react quickly to changing business requirements to maintain a competitive advantage.
         Providing more visibility of progress to project stakeholders during software development cycles.
         To invest in the software engineering team by providing a more structured framework for personal
         development.
Company Overview
Andor Technology is based in Belfast, Northern Ireland and operates at the high-
value end of the global scientific digital camera market. Andor was setup in 1989
out of Queen's University Belfast, and now employs over 210 people in 15 offices
worldwide and distributes its products to 10,000 customers in 55 countries.

The founders of Andor, working in the Physics department of Queen's University
Belfast, found that the cameras then available were inadequate for their
demanding applications, and so developed their own. After using them in various
imaging and spectroscopic applications they found they were being requested by
researchers in other departments in Queen's and other universities. Andor was
formed in 1989 to take advantage of these requirements.

As portrayed in the company mission statement, the principal business of Andor
is the development and manufacture of high performance digital cameras. Andor
also uses its expertise to develop the best solutions for a range of light measuring problems, distributing
products to a customer base encompassing both the scientific research and industrial communities. Andor has
grown organically and today is the fastest growing manufacturer of high performance digital cameras.

Andor currently employs 16 software engineers (based in Belfast and the US). This team is responsible for the
development and support of a number of Windows applications and a Software Development Kit (SDK)
developed in Windows and Linux which allows control of all Andor products. The software development team
works extremely closely with other technical teams during product development (e.g. Electronics, FPGA). All
development is governed by a New Product Introduction process (NPI) which is a stage-gate process. This
process includes prototyping, implementation and release phases all of which are directed by the project
manager. The implementation phase cannot begin until detailed requirements gathering and planning has
taken place. The plan is used to oversee and prioritise tasks during the implementation phase as well as
articulating a product release date to other departments within the business and the customer market.

Motivation
Andor has experienced rapid expansion over the last several years and this has resulted in a need to change
the framework for software development, which had previously been an informal process. Key factors in this
decision were:
         High maintenance and support overheads due to increasing code complexity.
                                                                                                     Page | 3
Invest Northern Ireland                                  Agile Software Development in Northern Ireland


        Demand from some customers for higher quality and stability for some software applications.
        Unpredictability of software release dates, reduced confidence in the ability to meet release dates.
        An organisational perception that new features always took a long time to become available.
        Project managers finding it difficult to measure progress of software development.
        The previous process had resulted in a project structure which meant that very often developers
        worked on small projects by themselves and were often isolated by not having anyone to assist with
        the design of their software.
        Little customer (or proxy customer) involvement during software development.

The Solution
Andor is gradually introducing Agile practices and there are currently several
teams at various levels of engagement. Initial efforts were aimed towards
introducing an iterative Scrum framework to manage requirements and to
provide focus to the teams on a weekly basis. Already the product maintenance
teams are seeing the benefits that this provides with a focus on business value
and rapid release cycles. Product development teams have also introduced
collaborative programming and Test Driven Development (TDD) methods which
have provided a safety net of quality from which other practices have been
added. The next phase involves improving management visibility of the work in
progress, with respect to the prioritisation and estimation of future work. As well
as these high level approaches to Agile, Andor has also benefited from other less well known but high impact
practices such as: “Done Done”, “Emergent Design”, “Zero Tolerance of Bugs”, “Optimise Last” and “Collective
Code Ownership” and a focus on high quality design using Design Patterns which have greatly enhanced the
development process.

Benefits
Even though Agile adoption at Andor is still at an early stage (introduced 3 years ago), all software projects
have felt a positive impact from the use of these methodologies. The notable benefits are:-
         An improvement in software quality - for one product the number of defects reported each month
         has steadily decreased for over 2 years.
         Frequent and regular software releases during development and also for established legacy products.
         This has improved confidence in the ability to meet planned release dates.
         All software applications have adopted incremental release strategies based on burndown of
         prioritised features. These releases have been characterised by low defect rates and steady progress
         of feature implementation.
         Automated daily builds have resulted in quick resolution of code repository issues.
         Collaborative programming has resulted in live reviewing of code and shared ownership of complex
         areas.
         Continuous integration allows the team to develop more cohesive software.
         Using open-source software has allowed the team to trial new tools and technologies where
         previously cost was often an obstacle.
         Developers feel more involved in all stages of the development – from requirements gathering to
         weekly sprints.
         A framework where junior developers get the opportunity to work more closely with, and learn from,
         experienced team members.
         Increased customer involvement during development – this is often in the form of proxy customers
         but achieves the same goal.
As the use of Agile expands in the software department, the interaction with other engineering teams and the
NPI process will become more and more important to its success. Some Agile practices such as daily stand-up
meetings and weekly sprints have been extended to other project teams after they observed the benefit
provided to software development. The disciplined practices that Agile provides means that Andor is always
ready to expand its software development effort to support an ever increasing customer base.

For more information contact Kevin Cowan k.cowan@andor.com or Barry Smyth b.smyth@andor.com.



                                                                                                    Page | 4
Invest Northern Ireland                               Agile Software Development in Northern Ireland


British Telecommunications
                            “To excel at providing world class solutions to BT’s customers, delivered
                            right first time, whilst driving efficiencies, reusability and
                            standardisation.

                            We will be recognised by our customer base through continuous
                            improvement that will be driven by the integrity, collaboration and
innovation of our people in delivering customer satisfaction.”
Being agile means moving quickly and easily and BT has adopted this approach to “keep ahead of the
game”. In particular, BT considers it essential to react to customer needs and demands as quickly as
possible.
Key Points
BT is recognised as an influential leader in the adoption of agile delivery practices, which it has now
fully embedded in its processes. Specifically:
        BT was one of the first large UK companies to embrace agile delivery practices
        The rollout of agile delivery took over 3 years beginning in 2005
        It was championed by its IT division, aiming for 100% agile adoption by December 2008. In
        practice, adoption had progressed so well by September 2008 that the rollout was judged
        complete as further measurement costs outweighed any perceived benefit
        Agile delivery is now company-wide and integral to BT’s new Operating Model
BT recognises that as change is inevitable it should be embraced rather than resisted. Agility works
to minimise the cost of such change, which requires BT to get ever closer to customers,
understanding their lifestyles and businesses, and establishing long-term working relationships. In
essence, this means meeting customer needs today and innovating to anticipate their needs
tomorrow. BT argues that by being agile they enable their customers to “adapt more quickly to
changing market forces in order to thrive and, in today’s tough economic conditions, even more
importantly, to survive!”
Company Overview
BT is the oldest communications company in the world,
directly descended from the first commercial
telecommunications     organisation,  the     Electric
Telegraph Company. It pioneered electrical
communications and within ten years of its
establishment in 1846, had developed an international network, making communications possible
within “minutes and hours instead of days and weeks”. This had profound consequences for how
people interacted both professionally and
socially.
Today, supporting mobility, virtual markets,
electronic commerce, and superfast broadband,
technology is central to BT's business. Its
principal activities include networked IT services,
local,      national        and      international
telecommunications services, and higher value
broadband and internet products and services.
It is made up of four principal lines of business: BT Global Services, Openreach, BT Retail and BT
Wholesale, all underpinned by IT innovation, delivery and operating services.


                                                                                              Page | 5
Invest Northern Ireland                              Agile Software Development in Northern Ireland


BT operates in more than 170 countries with headquarters in London. It has a number of Global
Development Centres throughout the world, one of which is located in Belfast. The Belfast Centre
was formed in 1981 and has a strong reputation within the company for innovation and consistent
delivery. It currently leads on three key enterprise wide platforms—‘integration’, ‘data mastering’
and ‘billing and payments’ as well as other high profile innovative projects.

Business Challenges - The Motivations for Adopting the Agile Approach
The rollout of agile delivery was recognised as a means of addressing some of the key challenges BT
was facing:
        Long running projects with heavyweight requirements capture and high level design phases
        that failed to meet the needs in an ever changing market
        Project risks and failures not recognised soon enough to respond accordingly
        The undervaluing and off-shoring of key development skills resulted in designers losing
        touch with the latest technologies and trends in the industry
        Slow cycles of design, implementation, test, fix, retest often meant missed short term
        opportunities
        Painful manual testing and quality gate procedures
        Contract negotiation and defensive costing and estimating between the lines of business
        within BT and IT developers, resulting in poor working relations.

                                                    The agile delivery practices of Customer
                                                    Collaboration,   User     Stories,  Iterative
                                                    Development, Continuous Integration and
                                                    Automated Testing were all part of an
                                                    approach introduced to address these
                                                    challenges. As well as transforming the way
                                                    parts of the business worked together and
interacted with external companies, it meant revolutionary changes to the day-to-day practices of
developers.
This massive culture change was a challenge in itself. Relationships of trust had to be established to
get buy-in from all sides of the business. Roll out was mandatory and all employees were set
objectives to drive up the adoption of key agile practices. Agile champions and coaches were seeded
in projects to introduce these new practices and provide mentoring support during the initial phase.
The most significant challenge was to ensure “whole-hearted embracing not just tick-box
compliance”.
Benefits Realised from the Agile Solution
The main benefits realised through agile adoption have been:
       Rapid prototyping and live deployments have resulted in earlier feedback and cost savings
       Direct customer involvement in prioritisation has meant better working relationships and
       more effective products
       An increased focus on onshore development has led to a re-valuing of local, skilled
       developers
       Active participation in developer-led community forums and knowledge share events has
       increased awareness and use of the latest open-source tools and practices
                                                                               Further Information
                                                                         Nick Orr - nick.orr@bt.com
                                                        Stephen Rogers – Stephen.2.rogers@bt.com
                                                      Gareth McKittrick – Gareth.mckittrick@bt.com


                                                                                             Page | 6
Invest Northern Ireland                              Agile Software Development in Northern Ireland


Consilium Technologies
Company Overview
Consilium provides IT solutions exclusively for Local Government and Housing Associations. The
company was founded in 1985 by former Local Authority executives.
Their direct understanding of the sector led to the development of
housing, finance and mobile systems that are tuned to the needs of
their customers, helping to reduce costs while increasing efficiency, productivity and customer
service.
Consilium owns and develops TotalMobile, an enterprise-wide mobile working system designed
specifically to help Local Authorities and Housing Associations to control
their costs and performance. It can be used by all departments to raise
efficiency, cut energy usage, encourage joined-up working and increase
compliance. TotalMobile is distributed through a range of channel partners including Consilium,
Capita, AT&T and Fujitsu.

Business Challenges – the motivations for adopting an agile approach
There were several drivers for the introduction of agile techniques. The first was that Consilium’s
business environment was often unpredictable. “In our business, requirements change constantly.
You could be working furiously on one thing when suddenly priorities would change!”
Also micromanagement was a problem, with considerable time spent on managing development
activities.
       “Our old approach was very much ‘top-down’. Senior staff developed the ideas and
      the ways to do things. This then filtered down to more junior developers for
      implementation. The person doing the work lost out on a lot of the context of that
      work.”
Developers often spent too much time developing product, but without a clear end to focus on. As a
result, the visibility of progress and the appropriateness of developed product were not always clear
until late in the process. Some developers had a tendency to be quite insular and non-
communicative and the order of priorities was not well understood by all concerned.
The final driver was that Consilium was embarking on a new class of application whose issues could
not be fully appreciated initially. Building this new product with a new team presented a good
opportunity to start afresh. The key challenge for Consilium was to deliver precisely what was
needed, and on time. The agile approach seemed to meet that need.
The Agile Solution to meet these Challenges
Consilium adopted the SCRUM approach and began its rollout with the start of the TotalMobile
project in 2005. The focus was to improve the management of projects rather than the engineering
practices. The Principal Developer started by introducing daily stand-up meetings. “This really helped
with the communication issue. We also found that it greatly assisted less seasoned staff and created
more of a team-based environment.”
The next agile component to be introduced was the short iteration. Consilium experimented with 3
and 4 week iterations. After a while the team felt that the agile approach was not providing the
value they had expected. Sprints were overrunning which was demoralising for staff. The solution
was to build in even more discipline – ensuring, for example, that stand-up meetings happened
absolutely every day and sprints were never allowed to overrun. Better, more detailed planning was
needed. Planning started to take multiple days and became difficult to sustain. Shorter sprints of 2
weeks were introduced to allow quality planning to be completed in a single day. The combination
of strict discipline and shorter iterations meant that the team started to see real improvements
sprint by sprint.
                                                                                           Page | 7
Invest Northern Ireland                               Agile Software Development in Northern Ireland


Prior to sprint planning, the team complete ‘backlog planning’, compartmentalising task effort into
4, 10, 25, 60, 150 or 400 hour blocks of work. The backlog is prioritised with no two items allowed
the same priority. Then, within sprint planning, effort is estimated in blocks of 1, 2, 4, 8 or 16 hours.
The idea of “story points” which is part of the SCRUM method, has not been implemented, as the
teams prefer to deal in person-hours of effort. Some tasks, by their nature, tend to be very open-
ended. Such tasks are timeboxed and the team lives with whatever they are able to achieve during
the timebox.
           “The key is to look at the burndown chart regularly. If the chart is relatively
           smooth, then the visibility into progress is good. Otherwise, if the chart is
           stepped, this suggests that tasks are not sufficiently well monitored or
           decomposed.”
The Consilium managers measure team ‘velocity’ on projects and now have a very clear
understanding of staff effectiveness.
Consilium has a remote development site in Manilla. This group also participates in Scrum and
Stand-up meetings. It can be difficult because agile approaches force a high level of communication
which needs even more work when there are distance issues. In the past, the remote teams were
used to receiving specifications of requirements which they would work through and deliver against.
However, with the introduction of agile techniques, those remote teams are beginning to come to
terms with “working to a product’s needs rather than a specification’s needs”.
Team retrospectives are essential for identifying opportunities to improve process and engineering
practices. Retrospective items are selected for action in every sprint. Integrating the testers into the
Scrum has been more challenging, particularly since there is a need to maintain a level of
independence in the testing process.
Benefits realised from the Agile Solution
        Improved predictability in performance – now meeting many more release dates. Also issues
        are visible earlier in the process which helps decision making and has been particularly
        useful for Consilium’s customer-facing teams.
        More seamless knowledge and skills transfer, particularly for developing more junior staff.
        This has reduced reliance upon individuals and is providing a supportive framework for
        everyone.
        Testers have better visibility and more integration with the development team. There is no
        longer a separate test team and this has enabled better utilisation of test staff – they begin
        testing earlier, as product becomes available. Developers get feedback sooner and this helps
        ensure products meet release deadlines more frequently.
        Team members feel more empowered, their contribution is more visible and they engage
        with projects more fully. They have an enhanced understanding of the context of decisions
        and product features which adds to their job satisfaction. The insistence on having a product
        demonstration at the end of each sprint helps people to see the fruits of their labour quickly
        and this has been more fulfilling.
        Agile management has greatly helped in understanding team velocity and overall
        effectiveness. Team members now find that their ability to estimate tasks has improved.
        Finally, Consilium has found that the use of sprint retrospectives has proved to be very
        important for establishing team cohesion.

For further information, contact info@totalmobile.co.uk.




                                                                                                Page | 8
Invest Northern Ireland                              Agile Software Development in Northern Ireland


CyberSource




The World's First Payment Management Company
CyberSource is one of the world’s leading providers of electronic payment, risk management, and
payment security solutions. CyberSource’s competitive edge is its hosted system that allows
companies to automate and streamline payment operations management from start to finish—even
across sales channels and multiple banks and services providers. By actively managing payments
from the point of payment acceptance and order screening, through billing and reconciliation,
companies can optimize business results and reach new customers faster. Headquartered in
California’s Silicon Valley and with offices in Japan, Singapore, and the United Kingdom, CyberSource
provides payment services to merchants and organizations worldwide.

Enterprise Solution Heritage and Prominence
From the very beginnings of eCommerce, CyberSource has
been a provider of electronic payment technologies and
services. Today, with a customer list that includes such leading
brands as British Airways, Hertz, and Nike, CyberSource is a
proven provider of global, enterprise eCommerce payment
management solutions.

Small Business Solution Expansion and Leadership
With the acquisition of Authorize.Net on November 1, 2007, CyberSource leadership extended to
the small business market. Today, the company serves over 250,000 small businesses, supported by
a network of resellers and reseller affiliates, including independent sales organizations, financial
institutions, managed service providers, and shopping cart providers.

Business Challenges – The Motivations for adopting an Agile approach
CyberSource was looking for a product development process that could more effectively serve the
increasing demands of a rapidly expanding customer base and product array. The growing
organization had a need for scalable enterprise development processes and practices that could be
used across multiple products and multiple geographic locations.

Reducing time to market, without compromising quality, was also a key motivation for the adoption
of Agile.

The Agile Approach Meets Challenges

CyberSource Product Development teams have been using the Agile method since 2006. Over the
last few years there have been many refinements to the process and the teams have developed a
strong culture of continuous improvement.
Cross functional teams closely aligned with business needs were created as part of the transition to
Agile. Within CyberSource, Agile gives high visibility and control over the project progress, and has
empowered product owners to make effective decisions to steer the project toward the goal. The
adaptive nature of Agile allows CyberSource to react quickly to changing business needs and enables

                                                                                            Page | 9
Invest Northern Ireland                             Agile Software Development in Northern Ireland


alignment between product development and the rest of the CyberSource community. Agile
contributes to the reduction of product and process waste through value-driven processes.
CyberSource has implemented the Scrum approach to Agile development. Within CyberSource, this
is characterised by the following key elements:
       Iterative, incremental development
       Short development cycles with rapid product delivery
       Transparency, with feedback mechanisms to support continuous improvement
       Close collaboration with product management and corporate stakeholders
       Efficient requirements management practices
       Processes and tools to support cross Scrum team collaboration
       Adoption of “test first” QA practices
Central to this approach is the role, and close collaboration of, the product owner, scrum master and
the development team.


Benefits Realised from the Agile Solution

In adopting Agile, CyberSource achieved the step change that it was looking
for. Through the use of Agile, CyberSource has empowered, motivated, self
organising teams. The teams are supported through the adoption of
process, tooling and automation improvements rolled out as part of the
transition to Agile/ Scrum. This helps to harness the natural creativity and
innovation of the team members. Now both the team and product owners
have a clear understanding of the release and iteration goals, and what is
expected of them to reach these goals.
Key measurable benefits for CyberSource have been:

        Improved product quality
        Reduced time to deliver new functionality
        Increased productivity and delivery of business value
In more abstract terms, there have been benefits in having the tight Quality Assurance
/Development/Product Management Integration provided by the Scrum teams.
Teams feel a sense of accomplishment and recognition as success is clearly defined. Teams focus on
getting working software delivered. Finally, CyberSource has realised cost/time savings due to waste
elimination and efficiency, and has improved product quality.


                                                                               Further Information

                                                                        niadmin@cybersource.com




                                                                                           Page | 10
Invest Northern Ireland                                  Agile Software Development in Northern Ireland


Singularity
“A world populated by agile companies” – Singularity Company Vision statement

Singularity believes that agility is fast becoming the key attribute of
corporate success in the modern economy. Its view is based on
recognising that an increasing rate of change, brought about by
globalisation, the Internet, ever sharper competition and rapidly
changing economic circumstances now requires companies to pay
specific attention to organisational agility if they are to survive and
prosper.

Key Points
Singularity is distinctive in tackling three levels of agility in its own business and that of its clients:
       Organisational: the ability to sense or stimulate change, prioritise reaction to it and
        decisively act to profit from it
       Process: competitive advantage through ever better, faster and/or cheaper operational
        processes
       Delivery: business led project implementations through short, time-boxed delivery

The company has progressively and rapidly evolved its offerings and its operations in alignment to
these three tiers of agility. Its approach is heavily influenced by classic agile methodology principles
– short iterative cycles focussed on delivering business value.

Company Overview
Singularity has its headquarters in Derry, with offices in London, New York, Singapore, Hyderabad
(India) and Belfast. It has been in operation for 15 years and employs about 240 people. The
company is technically focussed, with approximately 150 software engineers engaged in projects for
a variety of sectors including Government, Telecoms and Finance. Its processes have ISO 9001 and
IiP certification in the UK and CMMI (Level 3) in India.

Organisationally, the company operates a “quarterly cadence, management by objective system” for
all its employees globally. Prior to each quarter the senior management agree five SMART
objectives for the company that are aligned with the company’s vision, mission, values and strategy.
The CEO then proposes and agrees his objectives with the executive management team. Each
executive manager then proposes and subsequently agrees their aligned objectives with the CEO,
and so on throughout the company.

In essence, Singularity is a Business Process Management (BPM) provider. It has a strong reputation
in this field, reflected in its Gartner Magic Quadrant ratings over the past 7 years. Its Process
Platform (SPP) is used to help its government, finance and telecommunications clients to develop
flexible, fast, knowledge worker-oriented operational processes; also, significantly, the same
platform supports its own performance management, customer care, administrative, financial and
delivery processes. The company has recently launched a SaaS version of its award winning
software, LiveAgility, to enable even faster implementations.



                                                                                                    Page | 11
Invest Northern Ireland                            Agile Software Development in Northern Ireland


Historically, Singularity began using agile software development methodologies for both its product
and client solutions development from the start of 2007. Product development is directed by the
company’s product steering committee that sets each quarterly release against the overall product
roadmap.

Customer implementations use Singularity’s agile Scrum variant, ASAP, that specifically builds on
BPM principles to tailor the company’s SPP product to the needs of its clients. In general, each
project has three phases covering scoping, hothousing, and iterative delivery. The implementation
phase is constrained to short 30, 60 or 90 days to ensure that working systems go into production
within a business quarter.

Business Challenges – The Motivations for adopting an Agile approach
                                   Business Process Management is a technology that is marketed
                                   on its business-led approach to technology implementation.
                                   Singularity found, however, that it was necessary to further
                                   enhance the delivery of projects with active business
                                   participation. Its research showed that agile development
                                   methodologies had evolved to meet that requirement precisely.
                                   By combining BPM technology and agile methodologies it found
                                   it had developed “a potent platform for ensuring business value
                                   could be unlocked quickly, visibly and often”.

The Agile Solution to meet Challenges
In summary, Singularity provides services designed to assist
clients in achieving greater business process agility through
process improvement and matching technology support. Its
rapid implementation services help deliver initial
improvements quickly, backed up by education and support
services that help clients become self-sufficient, through
“sensing, prioritizing and acting” effectively.

Benefits Realised from the Agile Solution
Singularity identified the following benefits in taking an agile approach:
        “Alignment with business value
        Adherence to the 80/20 rule, 80% of the value with 20% of the effort
        Infrastructural flexibility
        Frequent delivery of working software into production environments
        Appropriate application of automation
        Frequent assessment of the return on investment equation – tacking to value
        Continuous requirement prioritisation
        Upfront visualisation of objectives
        A dead stop when there’s no more value to be delivered!”

For further information contact Padraig Canavan (padraig.canavan@singularity.co.uk)



                                                                                         Page | 12

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:12
posted:12/21/2011
language:
pages:12