Cloud Software Program
By 2015 the Finnish software industry will substantially increase the value of its software assets due to it’s world-class capability and know-how to efficiently and competitively develop, deliver and use software competencies with a focus on defining, building and utilizing software assets and new ecosystems that have the largest sustainable value add for the global business.
Lean and agile
RSS Channels
leanandagile
panuliiratext
Lean and agile - By Ari Turunen

In software design, it is essential to have an understanding of the factors hindering project progress. Trust between the production team and the customer can be improved through team work that aims at openness, transparency and interim results that are quick to attain. This leads to a can-do spirit and improved results. The Cloud Software project is creating best practices for lean and agile software development.

Lean and agile methods aim at eliminating unnecessary steps and establishing clear ownership of tasks. Both lean and agile methods consider face-to-face communications more important than the drafting of written documents. First and foremost, the methods allow the team itself to affect its work practices; the people and teams involved develop their operations within a certain framework and according to commonly agreed principles with the support of the organization’s management. Highquality product development is achieved through cooperation and constant interaction.

The proliferation and specialization of cloud services will increase connections between software suppliers and customers. This is referred to as the information technology ecosystem, in which intelligent applications operate together and complement each other in a way that is invisible to the user. The capacity for rapid and cost-efficient development is decisive from the point of view of service functionality and competitiveness. Lean and agile software development methods are one potential solution for this.

Finnish software development company Reaktor has years of experience in software development using these methods. Agile Coach Panu Liira is involved as a Reaktor expert in the Cloud Software project aiming at combining lean and agile methods and cloud services.

“The entire way of doing things is iterative, involving learning and participation. Those performing the work get to plan it themselves. This allows the team to lead its own growth, which is conducive to committing them to common goals and working methods,” Liira explains.

“Operating practices can be adjusted to suit the situation, and any flashing red lights are quickly spotted.”

Liira is keen to be involved in developing expertize in coaching these methods, so that Finland can be forged into the best country in the world in exploiting them.
 
“Training is an efficient way of disseminating information, but actual learning and expertize are created and spread through work, as it is only by doing that you can apply knowledge to practice.”

TRUST AND OPENNNESS GURANTEE GOOD END PRODUCTS


Choosing his words succinctly, Panu Liira makes a clear point: everything is based on openness and trust, which give rise to creativity. Liira noticed very early in his career how agreements and clauses and the division of tasks on paper killed a fair share of joy and creativity.

Liira’s first employer, a software company in a promising growth phase, fell because of agreements with excessively strict terms: the agreements bound the company to something it could not deliver. The bitter experience set Liira off to reflect on how good software could be designed with solid cooperation. He began studying the history of software development. Liira analysed the types of software methods that had been formalized and what the relationship between the customer and supplier had been.

“When services are outsourced, the companies involved rarely realize the importance of establishing trust between them. Instead, there is an attempt to formalize the relationship in a lawful form defining its nature, content and operating practices. This eliminates flexibility and, if anything, serves to create conflicts between the parties, even when they have the same objectives. By making it impossible to change direction during the project, even where this is necessary, tightly defined agreements kill creativity. Few companies have the ability to start changing what has once been agreed,” Liira claims.

Liira became horrified of traditional efficiency thinking.

“An excessively mechanistic approach kills creativity. We talk about innovation and creativity, but we don’t anticipate what it is that we should be innovating. If anything, this demonstrates a lack of confidence.”

Liira is critical of mechanical tendering processes, especially if the selection criterion is the cheapest price regardless.

The supplier’s ability to provide services and further development is typically weakest following an intensive round of tendering. Studies show that some employees in the sector can be as much as thirty times more efficient than others. Experience and competence are the only guarantees of high quality.”

In 2004 Liira found his place when he transferred to software house Reaktor.

“Reaktor was the first company in Finland to employ agile software development methods in their customer projects.”

artosaariIxonos is another company that has a long history of using agile methods in the software development of products ranging from mobile applications to enterprise backend systems. Ixonos Business Development Manager Arto Saari succeeds Panu Liira as the head of agile software developmentin the Cloud Software project.
Saari says that the relationship between the supplier and customer can be assessed as two dimensions: first as the degree of criticality of the assignment and second as the degree of trust between the parties.

“As a rule, the customer cannot give the supplier an assignment that exceeds the degree of trust between the two. The agreement terms are used to compensate for the lack of confidence in the supplier’s ability which often leads to a set-up that limits instead of secures the success of both parties, as general agreement models are based on sourcing of services and goods instead of cooperation.”

According to Saari problems with agreement models are especially encountered in projects in which the objective is to develop the customer’s business operations with the help of IT. The reason behind this is that such projects require continuous and open interaction between the parties.

“The building of project cooperation solely on agreement terms is the worst possible starting point, as it is generally the best way of ensuring that procurement practices will kill any interaction between the parties. When both parties focus on minimising their own risks, they both end up losing.”

MUDA AND KANBAN : A JAPANESE APPROACH TO LEAN THINKING

Lean thinking is a management philosophy aiming at streamlined operations by minimising waste. In the Toyota Production System, waste is described using the Japanese term ‘muda’, which includes all unnecessary work, such as conveyance, inventory, motion, waiting, over-production, over-processing and deficient products.

One of the methods for eliminating unnecessary work is Kanban. Applications of Kanban in software development have included the use of a whiteboard illustrating the various phases of software development. The layout of the columns on the board is designed to limit the amount of incomplete work in each phase. Limitations prevent the build-up of incomplete work and allow the software to be completed at a steady pace – bit by bit, one feature at a
time. Limitations also serve to develop the team’s ability to cooperate to overcome challenges, as work on new parts is not begun until all incomplete work has been completed together. Limiting the amount of work in progress at any given time also leads to faster and more frequent results and success. This generally translates directly into improved motivation for the teams using the method.

According to Arto Saari the methods are being applied to several projects within the Cloud Software project. Their coordination is a prerequisite for success.

“Changing the approach to design, agility is in several respects similar to complexity management. The common objective of lean and agile approaches is shortening development and release cycles.”

According to Saari the lean approach is particularly well-suited to the business models of cloud services. The change in the service interface forces organizations to re-examine the production and value delivery models.

“Examination across organizational boundaries will lead to an even greater overall understanding of the value chain and the service interface between the organizations.”

SOFTWARE SUPPLER AND CUSTOMER WORKING TOGETHER


Panu Liira feels that the efficiency of software design depends on the structure of the organization and, particularly, its organizational culture. These decide the employees’ ability to learn and cooperate in reaching shared objectives. Efficient software development requires commitment by both customer and developer.

“Skilled employees are useless if they just sit in their own sandboxes. If the customer who owns the end result does not show an active interest and the team does not get feedback fast enough, the project will fail. Very few people pay attention to this.”

Liira says that the way in which organizations and people work together is decisive.

“The best projects I have been involved with have been projects in which you would not have been able to tell where anyone was working on the basis of the division of roles."

SCRUM: LIKE PLAYING RUGBY

One of the most popular agile methods is Scrum. ‘Scrum’ refers to the starting formation of a rugby team. Scrum is similar to a rugby match: the software development team quickly adapts to various situations and is constantly on the move, steering itself towards completion through phases determined by the team. The Scrum methodology aims at obtaining feedback as early as possible.

“This leads to confidence through actions. Scrum enables the production of something tangible much faster than with traditional methods.”

One of the team members is the Scrum Master, who does not have direct decisionmaking power over the team. Acting as a coach, the Scrum Master supports the team in using the method and in developing its own mode of operation. The objective is to make the team self-monitor compliance with the rules it has set up while also questioning and developing them. The Scrum Master also helps the team to identify and remove obstacles and external factors hindering the team’s work, but in the role of coach, not as project manager or team secretary.

“The problem in software development is expectation management: what can be realistically expected,” Panu Liira says. “Little by little the software becomes more and more complete during several implementation rounds, which are called sprints and which usually last between one and four weeks. Each sprint ends with a demonstration of the next software version, for example.”

Arto Saari points out that the basic idea of project work is often lost amid various opinions and views. In the end, it is all about the proper mix and application of predictability and the capability to change.

However, Saari says that the question is not one of complete freedom of choice between these two, but that the applicability is determined by the project’s operating environment.

“In order to succeed, new and innovative development projects require an approach that accepts change, whereas complex but predictable delivery projects benefit from detailed task-level plans. Since the world is rarely this black-and-white, the best models are combinations: created as a
result of long-term expertize and continuous improment, it’s a matching game of predictability and ablility to change in the right proportion and at the right levels.”

INCOMPELETENESS NOT A SIN

An aspect of the Scrum philosophy is that you should only do what is absolutely necessary.Scrum aims at achieving product improvements with each sprint; complete features, forming part of a functional system, are created one by one.

“The ability to demonstrate part deliveries in an atmosphere of trust is extremely valuable, as it allows for immediate feedback to be received. It is of primary importance to get feedback on whether the feature in question is what was desired. If something is unclear, it needs to be cleared up immediately.”

The team creates its own understanding with the customer, which makes transparency paramount; everyone has an understanding of how tasks can be completed successfully.

The Scrum methodology involves certain ceremonies and rules. Actions and methods need to be thought of through principles: the way of working is owned by the people involved. Excessive formalization destroys this. This is why the team has a daily session for planning its work; outsiders are allowed to listen but not to comment. After successive iteration rounds the team showcases the results of its work, giving others the opportunity to comment.

At the same time, the team and the customer define together what constitutes ‘complete’. The so-called “Definition of Done” is another aspect of the Scrum philosophy; since the people involved constantly work in close interaction, they know when the software is ready.

“When the users are constantly involved in determining the direction of development of an online application, the release cycle is considerably shorter than that of a physical product, for which a new version means an entirely new production series. It is worth remembering, however, that releases can also take place on a smaller scale using prototypes, which also allows increased learning opportunities regarding products that are otherwise difficult to adapt,” Arto Saari points out.

Saari says that the lean approach has a great deal to offer in the development of mobile products in particular, a process in which consideration has to be given to hardware, platform and user services. In such cases optimisation is managed across development departments in a coordinated manner from the end-product perspective.

METHODS FOR BREAKTHROUGHS

Panu Liira is confident that lean and agile methods can lead to breakthroughs. The large companies in the Cloud Software consortium have begun adhering to these principles. For example, Ericsson Finland has set up twenty software development teams and completely reshaped its organization of the way of doing things and making software.

“Many organizations have tried agile methods and implemented them in product development. However, few organizations have introduced them as a comprehensive value chain, in which case the problem is often the lack of clear ownership.”

Liira says this is a problem facing large companies in particular. The excessive fragmentation of management leads to uncertainty over ownership of and responsibility for the service or product being developed.

“Large companies often divide responsibility into small segments which are not attributable to a single owner. Chopping up product development eliminates employees’ opportunities for influencing the product. This also means that no one owns the big picture and makes it difficult to put the pieces together. There is no passion; people get stuck in a rut and lose their sense of achievement in the absence of immediate feedback.”

This results in visibility over the product being lost. Clear responsibilities and the availability of immediate feedback contribute to a passionate approach.

“The idea is to instil confidence within the company: instead of micromanaging your subordinates, you trust them. In the lean philosophy the manager is a facilitator who encourages learning and independence.”

Arto Saari says that an organization is something like a football team. However, instead of playing as a single team, the different parts of an organization are playing their own game.

“It’s similar to defenders merely passing the ball to each other and always trying to shoot for goal from their own half. This is why lean thinking is a breath of common sense for operational development: it focuses on maximising value for all stakeholders and puts the entire organization to serve this single purpose. For many organizations this is a dramatic change, as they are not used to extensive, open and collaborative development efforts outside their
own product or responnsibility area. Moreover, the customer is often fairly distant and poorly understood, which sounds almost absurd when you think that it is the customer that should form the basis for business. This is what makes lean an excellent approach for organizations looking to reshape their business operations.”

Saari says that lean thinking should not only be examined pragmatically, as models, “The real value is in its motivating and
transforming force, which gives a muchneeded boost to the development of the organizational culture, an area that is often undervalued but easy to lose and difficult to establish. A culture cannot be imposed: it can only be created byt the organization itself. This is connected to the development of creative work management, an area which is still a fairly new concept for many organizations and managers.” tools and processes.

TIVIT Oy a Finnish Strategic Centre for Science

Owned by 46 companies and public corporations, Information and Communication Industry Research TIVIT Oy is one of the Finnish Strategic Centres for Science, Technology and Innovation (SHOK) funded by the Finnish Funding Agency for Technology and Innovation. The centres provide top research units and companies exploiting research results with a new way of engaging in close, long-term cooperation. Cloud Software is one of TIVIT’s programmes.

Cloud Software member organizations


Aalto University School of Science and Technology, CSC – IT Center for Science Ltd., Digia, EB Elektrobit Corporation, ECE (European Communications Engineering), Ericsson, Exfo Nethawk, F-Secure, Gearshift Group, IP SS (Intelligent Precision Solutions and Services), Vaadin / IT Mill, Ixonos, Movial, Nokia Siemens Networks, PV (PacketVideo), Reaktor, Tampere University of Technology, Tekes, TeliaSonera, Tieto, University of Helsinki, University of Jyväskylä, University of Oulu, Vincit, VividWorks, VTT – Technical Research Centre of Finland, Åbo Akademi University

More information:

http://www.cloudsoftwareprogram.org/
http://www.cloudsoftwareprogram.org/lean-sw-enterprise
http://agilemanifesto.org/

Reports:

Vähäniitty, Heikkilä, Rautiainen & Vlaanderen: Towards Agile Product Portfolio Management, Aalto University
Kuusela, Huomo, Korkala: VTT Research Summary: Lean Thinking Principles for Cloud Software

Cloud Software

http://www.cloudsoftwareprogram.org/

Read the article in PDF format by clicking on file below:

Click here to read the Article in Finnish.
Files
lean-and-agile-en lean-and-agile-en  (1.88 MB)