I think I was 14 or 15 years old, when I saw a documentary about Silicon Valley and its startup culture on German television back then. Being a young computer addict myself at the time already, hacking along on a Commodore VC64, I was completely fascinated by the innovation culture shown and the entrepreneurs and startup founders they interviewed. One of them was Andreas von Bechtolsheim, one of the founders of SUN Microsystems, an early investor into Google and now working on his new company, Arista Networks.

Sun-100-frontI can still remember how Andy was interviewed in the documentary: an enthusiastic guy with shining, smart eyes explaining that SUN was an acronym for Stanford University Network and that they had set out to build a powerful, networked workstation based on the UNIX operating system that would soon outpace the existing computers architectures both by computing power and by low price! For years this documentary has been the basis for my romantic dreams about once working in the Silicon Valley myself, which actually came true in 1996.

Well, what I hadn’t ever dreamed of was actually meeting Andy Bechtolsheim personally! How should I? But believe it or not, I met him yesterday for one and a half hours face to face. A Silicon Valley icon. Energetic as ever, his eyes alert and witty, and being so fast when talking about any topic we happened to get to, that I could barely follow… We discussed how cloud changes HW design, how the cloud is now becoming good enough for everyone/everything if even United States’ agencies use it, how the PaaS and IaaS market might grow to roughly 24B$ by 2020 getting 10 times it’s current size and how this will thus disrupt the markets of a number of big traditional IT companies, and how enterprise software is making its way into the Cloud as well. It was unbelievable to see how fast Andy could elaborate on all those topics, hard to keep pace with him as he went along the flow of ideas and facts… For sure Andy is one of the most impressive people I have met.

These are some of the surreal moments in life, I’d say… 😉

Since today, May 24th, 2013, SAP HANA Cloud provides support for Java EE 6 WebProfile capabilities not only for trial accounts (out since Nov 2012), but also in accounts for productive usage!

What is Java EE 6 Web Profile?
Java EE 6 Web Profile is a subset of the Java Platform, Enterprise Edition specifically targeted at web applications. This makes it a perfect fit for usage scenarious in the Cloud, which are typically lightweight. You can find more details on the Java EE 6 Web Profile here.

What does it mean for SAP customers and partners?
SAP customers and partners can build on these Java EE 6 Web Profile standards productively by using SAP HANA Cloud SDK for Java EE 6 Web Profile. Applications which need only basic Java EE web technology support can continue to work with SAP HANA Cloud SDK for Java Web, a lightweight SDK profile which supports a subset of Java EE technologies. The table below summarizes the differences:

Java EE 6 Web Profile

*) Java Mail is not part of Java EE 6 Web Profile specification (ref. JSR-316) but it is supported on SAP HANA Cloud

What does it mean for application developers?
With SAP HANA Cloud SDK for Java EE 6 Web Profile, you can:

  • Make productive use of a set of integrated Java EE technologies in your applications and thus realize sophisticated business logic which is based on open Java EE standards.
  • Utilize SAP HANA Cloud services in a standard Java EE environment – using JNDI or @Resource annotation thus making the source code easy to read and maintain.
  • Clean up your applications from some less digestible XML configurations required earlier by using standard Java EE 6 annotations in the source code.
  • Use the JPA provider of your preference rather than being required to take the one provided with the platform itself.

How can you use Java EE 6 Web Profile productively?
If you already have a productive account for SAP HANA Cloud Platform, then all you need to do is to update your Eclipse IDE to use the SAP HANA Cloud SDK for Java EE 6 Web Profile – you can either install it from scratch or update your existing SDK. That’s done with a few clicks within minutes. Then you can develop applications using the Java EE 6 Web Profile technologies listed above, deploy and run the application in you productive SAP HANA Cloud Platform account.

That’s it – enjoy!

When we were discussing the main themes and directions for our next NetWeaver release at SAP, release 7.4 which we released last Friday to the public, roughly a year ago, it became pretty obvious, that the former NetWeaver solution as a self-contained technology platform was more and more dominated by

  • our extensions into the realms of In-Memory Database computing, manifested in our SAP HANA realtime data platform, …
  • the topic of Cloud computing, represented in particular through “Neo”, or SAP NetWeaver Cloud which evolved into SAP HANA Cloud Platform in the meantime, and last but not least …
  • the topic of mobile consumption and User Experience on top of existing backend system functionality.

SAP NetWeaver 7.4 end-to-end scenariosI have written about the strategic direction of SAP NetWeaver in one of my prior blog posts on this site and you might want to check that one out as well.

For our customers and their more than 70.000 productive NetWeaver systems running, it is essential to see as smooth an evolution of the core technology platform as possible, to not disrupt their existing and established core processes, as it is crucial for them to extend their solutions quickly and efficiently in the areas surrounding their core processes to remain competitive or stay ahead of their competitors in the market.

While SAP NetWeaver was of course continuing to be the well-known set of application infrastructure and middleware products you knew from the former NetWeaver releases, it was constantly growing in new areas as well: either by dedicated products like SAP NetWeaver Identity Management or SAP NetWeaver Single Sign-on, or by bringing new capabilities in by putting SAP HANA underneath the application servers, bringing in Platform-as-a-Service capabilities via our SAP HANA Cloud Platform or by provisioning, for example, core ERP processes of productive SAP Business Suite installations to the end-user via mobile devices using SAP Mobile Platform Cloud Edition, SAP HANA Cloud Platform Gateway and SAPUI5.

What would then have been more natural than putting the end-to-end scenario perspective into the focus of our activities around developer experience then? Wasn’t that, what developers would be doing with our product offering in the larger SAP NetWeaver portfolio as it developed into the future? Why let them figure it out on their own how to put the bits and pieces to work for their scenario? Why not provide all that information in the first place rather than just product documentation? Great idea. Lots of work. But we made it.

Given that I am very pleased to announce today is the availability of a set of complete, detailed end-to-end development tutorials for typical scenarios we have been seeing with customers. All of the scenarios are available on the SAP Community Network in the Developer Center. They come with extensive, step-by-step tutorial documentation explaining how to put the various technologies and products at work for your scenario. They come with ready-to-run source code provided in the SAP repository of GitHub that you can study, run and deploy yourself, or copy and modify for your own purposes, explaining in detail how to link the various technologies together. Plus we have set up a backend system in the cloud on top of SAP HANA that you can use as a “trial” backend to start your own experiments with the samples we have provided, based on our Enterprise Sales and Procurement Model (ESPM).

This is the first four scenarios we’ve provided:

  • Develop a SAP HANA Cloud-based Web application with SAPUI5 & JPA persistence (Link)
  • Develop a SAP HANA Cloud-based mobile Web application with back-end connectivity to an SAP Business Suite system running on-premise (R/W persistence) (Link)
  • Develop an on-premise business application on SAP NetWeaver Application Server for ABAP 7.4 with SAPUI5 and SAP HANA (Link)
  • Extend a SAP HANA Cloud-based Web application using both an on-premise backend application and extend it with data stored in the SAP HANA Cloud (Link)

If you’re not clear what all of this is about, check out the introduction video to give you an idea what wealth of information and running code you are getting with those end-to-end scenarios.

Yes, there needs even more to come. But if you’re a developer, it’s definitely time to get your hands dirty!

SAPUI5 for tablet, smartphone and desktopWow! SAP has today released the next (compatible, of course) version of SAPUI5, our HTML5 controls library, that SAP is using as the standard User Interface Control library in all their future applications that need a “consumer grade” User Experience, whether it is on desktop, tablet or smartphone! It’s the basis for SAP’s User Experience strategy. Now we have released version 1.12 officially and it is ready for download on the SAP Community Network Development Center. If you want a copy, here we go:

Now why am I so excited about this new version? Well, that’s easy:

First, SAPUI5 per se is an absolutely cool and great UI framework. It’s based on open source and open standards like JQuery, HTML5, JavaScript, CSS, LESS and others, it’s extensible (“if we don’t have something in stock, add an open source or 3rd party control) as a core framework and has been built from ground up to best support modern browsers like Google Chrome, Apple Safari, Firefox and Microsoft IE 9 and 10 (for details, check this out). It is independent of the backend system, whether it is SAP Application Server ABAP, or SAP Application Server Java, or HANA Cloud Platform — it just doesn’t matter. We’ve effectively decoupled the lifecycle of the UI, which changes often, from the backend system release, which changes more seldom. It is optimized to consume REST/OData services as exposed by e.g. SAP Netweaver Gateway, SAP HANA Cloud Gateway or SAP HANA itself. So you can connect it basically to any SAP system!

But with the newest version we’ve done the next major step: We are no providing two “flavors” of SAPUI5 based on the same programming model and tools:

  1. The full-blown desktop version with a vast set of UI controls to easily and quickly build state-of-the-art Web UIs
  2. The tailor-made mobile version that supports not only Apple iOS, Google Android, RIM BlackBerry and Microsoft Windows Phone 8 for both tablet and smartphone form factors, but also supports to run the tablet versions on desktop browsers (even for “old” IE8 with a few degradations) — a capability that is absolutely unique in the market!

If you want to see SAPUI5 v.1.12 in action and what SAP has built with it, check out SAP Fiori, a collection of consumer-grade productivity applications for tablet, smartphone and desktop as announced at SapphireNow 2013 in Orlando.

The more detailed list of new features added with V1.12 reads nicely as well:

  • Components: One can bundle UI5 related objects like modules, views, controllers, etc. in components
  • New view type: Declarative HTML, this is also included in SAPUI5 Eclipse tools
  • New desktop controls like
    • Form, ResponsiveLayout, Autocomplete, Collection Inspector, FormattedTextView
    • Notetaker, DateRangeSlider, SplitButton
  • Best practices mobile demo application
  • All mobile (sap.m) controls which are not experimental support Blackberry 10
  • New mobile controls like
    • SplitApp, PullToRefresh, MessageToast, MessageBox, ActionSheet, InputDateTime
  • New experimental mobile controls like
    • TileContainer, TabularList, Shell, Accept/Reject Switch, GrowingList, IconTabBar, ActionSheet
    • DateTimeInput, Link, ObjectHeader, TextArea, URLHelper
    • Calendar, ProgressIndicator, TabContainer
  • New mobile features
  • Configurable/themable background images for App, SplitApp, Shell (experimental)
    • Swipe-for-action in Lists
    • Mobile library comes with new experimental Blue Crystal theme
    • Mobile library with Blue Crystal theme runs on smart phones, tablets and desktops. This is only an experimental feature
    • Charts in sap.viz library
      • Basic touch support
      • New charts: Dual Bar, Dual Line, Dual Combination, Dual Column, Dual Stacked Bar
    • New Icon fonts / pool
    • sap.ui.Device: API for device and feature detection and media query support
    • Calculated fields in databinding, i.e. bind control properties to more than one data property

And our new WYSIWYG, browser-based UI creation tool with dozens of pre-designed templates to start with, SAP AppDesigner, is soon to be released as well…

I can only recommend you to download this latest release as a free trial from SCN Developer Center and check it out! There’s tons of documentation, tutorials, sample code snippets and demo applications

Dear SAPUI5 team! You really rock! Thanks! 🙂

With the recent announcement of the SAP Hana Enterprise Cloud, a number of questions have been circulating about how this offering relates to SAP HANA Cloud Platform, SAP NetWeaver Cloud Platform, “NEO” etc.. Confused? So let me try to put things straight, it’s actually pretty simple:

What is SAP HANA Enterprise Cloud?

The SAP HANA Enterprise Cloud offering is a comprehensive cloud infrastructure combined with managed services to allow customers to run their SAP HANA applications, including SAP Business Suite powered by SAP HANA and SAP NetWeaver Business Warehouse powered by SAP HANA, in a managed virtual private cloud environment. We prefer to refer to this as an Enterprise Cloud.

What is the SAP HANA Cloud Platform?

It is (and remains to be) SAP’s only public Developer Platform-As-A-Service (PaaS) offering that allows SAP partners, SAP customers and SAP development itself to build, deploy and operate applications in an open and standards-based Cloud environment. Building these applications is made easy by our offering of a number of shared application services and in particular the power of SAP HANA in a service-based manner. The SAP HANA Cloud Platform is hence tailored towards the huge SAP developer community: It provides both Java and Java VM-based language environments like Java itself, (j)Ruby, Scala, Python, Clojure or Groovy as well as HANA native development capabilities like e.g. SQLScript or River Definition Language.

SAP operates this infrastructure, partners and customers can focus on their applications without having to worry about the operations of the underlying technology stack.

While in general allowing to build a wide variety of application types on top, the platform is particularly optimized for two major use cases:

  1. Serving as an open extension platform for
  2. Building completely new, powerful and high-performance applications on SAP HANA

Examples are “edge” applications extending core functionality in the SuccessFactors Employee Central offering, or extending the reach of classical SAP Business Suite applications like Human Capital Management (HCM) employee self-services with a consumer-grade user experience via mobile devices using HTML5 (e.g. via SAP UI5) or native mobile device experiences.

SAP NetWeaver Cloud Platform is the retired name for a subset of HANA Cloud Platform, which has meanwhile smoothly evolved into something even bigger. It provides the SAP HANA Cloud Platform with its core operations framework, the core services like Identity Management, Single Sign On, Cloud/On-Premise Connectivity, Persistency, Metering and Monitoring, integration into the SAP Store for subscription and billing purposes, etc..

NEO” has been the SAP internal project name for SAP NetWeaver Cloud platform before it was originally released last year and — as such nicknames tend to do — has been more sticky with people than the marketing department has been hoping for 😉

How do HANA Enterprise Cloud and HANA Cloud Platform fit together?

As outlined above, SAP HANA Enterprise Cloud is focusing on providing SAP solutions powered by HANA as managed services in an enterprise-grade, virtual private cloud environment. SAP HANA Cloud Platform can be used to extend these solutions via our public cloud Platform-As-A-Service offering, as one can already do with SAP solutions “classically” operated on-premise or SuccessFactors solutions offered in a cloud environment itself.

Both SAP HANA Enterprise Cloud and SAP HANA Cloud Platform are running collocated in the same certified SAP Data Center sites and hence allow to be efficiently combined and put to action for dedicated scenarios. In a way, SAP HANA Cloud Platform is available with SAP HANA Enterprise Cloud, or it is contained in it, but somehow these statements appear to be a bit academic to me. What is really important is that these two offerings fit and work together: One does not replace the other, but each of them solves a specific problem of our customer and partner ecosystem. They compliment each other: All capabilities offered by SAP HANA Cloud Platform can be put to work with solutions provided by SAP HANA Enterprise Cloud.

Hope that helps to clarify a bit.

P.S.: Make sure to checkout out Aiaz Kazi’s blog post as well.

Today is a big day for us! We have made the next release of SAP NetWeaver generally available (GA) to the public: SAP NetWeaver 7.4!

I have outlined the direction of our activities around our technology platform which is productively used in more than 70.000 system deployments world-wide in one of my previous blog posts. SAP NetWeaver 7.4 is now the next step of this roadmap delivered to our partner and customer ecosystem.

SAP NetWeaver 7.4, now being the new NetWeaver go-to-release for all existing NetWeaver customers, comprises new versions of the application hubs like SAP NetWeaver Business Warehouse, SAP NetWeaver Portal, SAP NetWeaver Process Orchestration and SAP NetWeaver Gateway, the Application Servers ABAP and Java, as well as Lifecycle Management, SAP NetWeaver Identity Management and Single Sign-On as well as new UI capabilities and services, in particular “SAPUI5“.

SAP NetWeaverSAP NetWeaver 7.4 is a “non-disruptive evolution” that extends the “classical” NetWeaver into the “dimensions” of HANA, Cloud and Mobile. It continues to support all databases but is now optimized to optimally support SAP HANA. With ABAP 7.4 optimized for SAP HANA it is the foundation for SAP Business Suite powered by SAP HANA and SAP Business Information Warehouse powered by SAP HANA. With this it plays also an important role in our new SAP HANA Enterprise Cloud offering. In addition, also the SAP NetWeaver Java-based Hub solutions will run on SAP HANA.

During the development phase we put a strong focus on a number of specific cross scenarios that substantially improve the development experience, lower the total cost of development and operations and best support hybrid on-premise/Cloud scenarios.

The most important SAP NetWeaver 7.4 cross scenarios include:

  • Seamless end-to-end development experience across components based on the Eclipse Development Environment including running sample scenarios provided for trial access in the Cloud, complemented by documentation, tutorials and working code. You might want to check my related blog post.
  • Easy deployment to Virtual Private Clouds like Amazon Web Services or (soon) HANA Enterprise Cloud with the SAP Cloud Appliance Library
  • Further improved support of Business Continuity to minimize the business downtime in customer landscapes
  • Optimal support for hybrid application scenarios (On-premise/Cloud) with SAP HANA Cloud Integration as already used by SuccessFactors to integrate with SAP Business Suite
  • Easy creation of Mobile applications with SAP HANA Cloud using SAPUI5, SAP NetWeaver Gateway and SAP HANA Cloud Gateway and SAP Mobile Platform Cloud Edition
  • One Identity and Access Management with NetWeaver Identity Managament and Single-Sign On, spanning federation of user data from on-premise to cloud and allowing seamless Single Sign-On capabilities

You might want to check out the new SAP NetWeaver 7.4 “landing page” on the SAP Community Network to get in-depth details about what’s new and exciting in SAP NetWeaver 7.4.

That much for today…

Office Space for Teams (OS4T)

Inspired by a comment to one of my prior posts (You know that story of the Russian cosmonaut?), a comment about noise and getting into love with it, I thought it may be worth sharing some of our experience with building (office) space for building teams.

When we moved large-scale into Lean and Agile Software Development methodologies five years ago, the role and work of “the [cross-functional Scrum] team” got more and more important and we started to consider office space concepts that would better fit the new working model than our traditional 3-4 people offices that we had in some of our development locations (e.g. in the headquarter offices).

Colleagues were in search for collaboration space, needed spots for daily Scrum stand-up meetings and their Scrum boards, needed meetings rooms for the takt-start planning and takt-end review and retrospective meetings (all at the same time, of course). Also, we wanted to be able to move individuals easily and quickly around, if e.g. teams were changed or a UX designer was supposed to join a team, and we didn’t want to always wait for weeks to get an official move approved and implemented by facilities or contractors… “Grab your laptop and make yourself comfortable at your new spot” was the goal…

Team Room Pilot ConceptAs a first try, we had experimented with 3 “team rooms” which had been set up by tearing 2 walls down and making 3 normal offices into a bigger team room. While the pilot teams that moved in liked the space after some adjustments for their team related work, it quickly became clear that a) they had only accepted the room because each one of them still had their original desk in their prior office room and b) the team room was “an island” that was missing support infrastructure around: ad-hoc meeting rooms the team could retreat into to not disturb the others, “phone cells” for phone conversations that were disturbing the others or private in nature. So we figured out that we need more than “team room” islands in the classical office environment, but a space for teams that has been designed for that purpose from the ground up.

That’s how we started the initiative called “Office Space for Teams” (OS4T), a collaboration of Facility Management, our central Lean unit and “the business”, i.e. parts of my R&D unit. The goal was to pilot concepts for office space particularly tailored at teams and their need for communication and collaboration, supporting innovation and creativity.

There’s meanwhile a short video about it on YouTube that you might want to check out (3 minutes) to get an impression yourself:

We quickly figured out that in a “Lean” environment, it would be stupid to not involve the main stakeholder into the whole design exercise: the Scrum teams themselves. So we ended with having a joint team from the three units above, plus external architects, plus representatives from the development teams themselves that gave input and guidance to the actual design the architects and interior designers came up with.

The declared goal was to emphasize “networking over nesting”, i.e. priority 1 was to provide teams with an environment that would foster communication and collaboration supporting innovation and and that would not make the individual’s wish for “nesting” the main goal. “Nesting” meaning: “let me alone, I want my private spot where noone disturbs me and I can ‘nest’ in”.

The area affected was two “H”-shaped wings of our building, seating around 280 colleagues before the remodeling. The restructuring of the old smaller office rooms, meetings rooms, coffee corner into a coherent overall concept, resulted in more than 30% additional workspaces, places where people could sit and work, simply due to the fact that a lot of space was “wasted” in the past with pathways to connect the offices. So the new design made better use of otherwise “dead” space.

Office Space for Teams -- Floor planning

I don’t want to bore you with the full story and all the nitty-gitty details — this goes beyond a blog post I fear and the video above may already give you a good sense of what Office Space for Teams is about — but share a few of the insights and learnings that we have made over the past months while “living” in the new space (I myself as well):

1. Open space for helping opening minds
Not exactly Office Space for TeamsIf you want to foster creativity and innovation — and software development is a highly creative undertaking — provide the team with light, color, diversified and a haptic rich environment.
It helps getting into a creative and open state of mind. Sitting alone in a closed room, grey walls around you, a neon light buzzing at the ceiling and a steel door keeping everyone else out, is for sure not going to help make yourself more creative. Just to paint some extremes…

2. Flexibility is key
One of our goals was to make changing teams and “who sits where” easily changeable. One can think about moving tables — even though one has to acknowledge that there are health and safety regulations in place that forbid to place tables or workstations anywhere, have power lines crawling all over the floor etc.. But one can standardize on the workplace equipment, e.g. provide everyone with a (powerful) laptop and mobile rather than a workstation and a landline phone, have people use containers with rolls rather than fixed cupboards etc.. So that in practice they can move their own stuff within 5 minutes rather than waiting for 4 weeks for a contract mover to carry their boxes and IT to re-wire their workstation… So far, from what we’ve seen, things are flexible enough in our new office space and there wasn’t a strong demand to completely rearrange everything from ground up. We have changed team mixes a few times and people have been moving around quickly and easily. So it seems that one worked out.

3. Not all teams like such a collaboration environment
Open Space for Teams -- Always open?It seems that in particular teams, that rather are groups of people that work more or less independent from each other, consider a less “collaborative” environment more preferable as it is less distracting for them. If you’re in a team that is heavily interacting, e.g. because you are working in exploratory mode on a brand-new product idea, then the situation is very different. Feedback from such teams has been very positive. Which leads to the next finding:

4. Believe it or not, but people are different
No matter how well you design the workspace, people — and teams — are different. What works well for one, can be a pain in the neck for the other. So it seems advisable to provide people with enough “variation” of workplaces: some Design Thinking rooms for whole teams when in creative mode. Some more separated spots where individuals can work if they need concentration and don’t want to be disturbed. One developer wants to work rather isolated for a while, while others prefer to be more part of the group etc.. The only thing limiting what one could provide is normally space constraints. Or the fact that you won’t accomodate everyone’s perfect preference and still keep a team together locally somehow. Or finally the nasty constraint called “budget” — you cannot foresee everything and planning for the extreme case means usually “over-provisioning”. And this isn’t an option in most cases. So there’s always certain trade-offs to accept. And some learnings to be made.

5. People will need time to “settle down” in the new space
Whether you come from a completely open “cubicle space” environment or from a classical “two or three people in a room” one, you will need time to adjust yourself to the new setting. Also, people need to figure out how to use the space in the best way. We have one meeting room with bean-bag like seating, no table, just a projector at the ceiling and some whiteboard wall. Originally, the feedback from the team was: we can’t use that room. Later, when we wanted to actually change the room into a Design Thinking room, the same team came back and objected and wanted to keep the room as it was: because they had figured out what meetings were best done in that kind of setting (and liked it that way). And for other purposes they simply chose a different room.

6. Beware of the “library effect”
Office Space for Teams -- Team working areaBeing part of conversations is great. But only if it concerns your work. So while teams like the fact that you are easily informed about what’s going on in your team by “listening in” or being able to easily contribute, if the communication “flows over” from some neighboring team that is unrelated then it’s considered “noise”. So better make sure that teams are acoustically separated from each other. Otherwise you will quickly end up in what we call the “library atmosphere”: everybody is so concerned about disturbing someone else with their talk that no one dares to make any noise at all any more. The result is an artificially silent space: No one wants to speak because you feel everybody else in the room can understand every single word.
So the more open a space is, the better your sound design needs to be. Concrete floors and bare ceilings, as stylish this may be as an “industrial look”, are probably not a good idea while carpets, sound absorbing ceilings and “sound breakers” in the room can make a big difference. Some glass walls (or real walls) and sound-proof doors are a great idea as well from time to time. Not everything has to be completely “open”.
As a result, we have put glass walls around the “team living rooms” that were originally openly placed within the teams regular workplaces. The effect is that these spaces now get used for various purposes by the team — informal meetings, face-to-face discussion, reading, relaxing with a coffee after lunch… The glass walls shield sounds, but keep the open and light atmosphere overall.

7. Fun is a serious thing in Germany
Open Space for Teams -- Serious fun in the Pool Billiard roomSo you have to plan for those things very thoroughly as well 😉 We turned some former server rooms into a pool billiard and a kicker room. Who works seriously needs to have some serious fun from time to time…

We have made several surveys with people after we moved in: If asked whether they want to rather stay in the new office space or move back into the old office layout, roughly 2/3 prefer the new one over the old one. This is after 15 months “living” here roughly. This result was showing up after we had done an intensive “care-taking” phase immediately after moving in, collected feedback from the teams and adjusted dozens of specific details here and there based on input we had received. We now consider the concept a success overall, with admittedly the potential for further improvements as mentioned above. There’s always things to improve…

P04a-HDR-k

So that’s my personal experiences with our Office Space for Teams project, without the claim of completeness or final truth. I love to work in the new office space. But that, of course, is personal preference and taste.

Harald with black socks!P.S.: Uh, I forgot, we heard some concerns about “private space” in an open office environment. Developers (sometimes even managers) are a creative species. Nature always finds it’s way… 😉

I’ve written about it before, but in late 2008, we started a major transformation of our SAP NetWeaver development approach, processes and organization: We made a bold move with my world-wide distributed, 2000 people organization to adopt Lean and Agile Software development methodologies in a large-scale, systematic and consistent manner. The transformation was a major project and I have blogged about it on the SAP Community Network before (see my blog posts Square OneGood Riddance and Different people). The transformation was a major effort over several years and is still ongoing today — Lean and Agile are a journey, a mindset, not a one time act of implementation. In the meantime, we have added additional methodologies, e.g. Design Thinking, into our set of tools and they actually fit very well with Lean and Agile.

When we started the whole transformation, we often got critical remarks from people in our own organization who were concerned that Lean was a methodology originating in production environments — Lean was invented by Toyota in the 1940s already — and was not a fit for Software Development. That’s when I started to think about how to convince people that Lean (and Agile) was more than something for the automotive industry. Even in retrospective and after having had hundreds of individual talks and discussions around Lean, I like my original storyline around Lean Software Development back then. And I thought it might be worth sharing… So here’s my “dog and pony show” presentation why Lean is relevant for any larger Software Development organization:

Lean Software Development -- We're not building cars -- luckily Lean Production goes back to Toyota.
Taiichi Ohno introduced it first in 1940.
It was originally targeted at manufactoring.
A lot of criticism we hear about Lean in Software Development seems to come from the wrong perception that we would believe we can apply this 1:1 to our business.
But we know we are not building cars – luckily!
Lean Software Development -- Software Development is a creative process We are in Software Development which is non-deterministic by its nature.
It’s much more like animation movie making or modern architecture – you need to get the craftsmanship right, but more important to success is the creative and innovative character of what you are doing.
It is a creative process, it’s an information creation process, learning is part of the journey and hence change is inherent to Software development.
So rather than ignoring change, one better sets himself up to cope with it right from the start.
Lean Software Development -- Eliminate Waste & Maximize Customer Value Nevertheless, what is common between car manufacturers like Toyota and us in Software Development is the strong desire to sustainably and profitably stay in business.
In essence, it means eliminating all the waste that keeps you from maximizing customer value.
Lean Software Development -- The core concepts of Lean Software Development Luckily, we can look outside and see that a lof of people and companies in the same business as we have thought about and made practical experience how Lean Software Development can work.
Just to name some examples: IBM has e.g. transformed their DB2 business, Salesforce.com has changed an 500 employee organization to an “agile development model” in recent years as well… And Microsoft has radically changed their way of developing e.g. their OS platform and development tools following lean concepts and agile principles.
Mary and Tom Poppendieck have condensed their findings into writing and the following slides will explain in a bit more detail what the 7 core principles of Lean Software Development are.
Lean Software Development -- Think Different The first thing to keep in mind is the fact that “Lean” is not a one-time activity, some procedure to implement and then you are done.
It is about mindset and about sometimes surprising or seemingly counterintuitive thinking.
It is for sure about continuous reflection on how you are approaching things.
The foundation of lean is about continuous improvement and respect for people.
Lean Software Development -- Think Less is More -- Eliminate Waste Principle #1 is to eliminate waste – and without going into details, all Lean Production “waste types” translate naturally into software development process “waste types” as well…
Lean Software Development -- Think Three Sixty Kickflip -- Amplify Learning The second core principle is about learning as much and as early as possible and about correcting what you are doing.
Like training to ride a skateboard in a half- or full-pipe: repeat often, learn quickly, adapt in the next cycle.
Obviously, this principle gets manifested in fixed takt cycles, shipping working software early and often, involving stakeholders and customers from the start in each takt evaluating and giving feedback about the software, doing Scrum reviews and retrospectives to thrive for perfection in execution, looking at software development from an end-to-end perspective, etc.
Lean Software Development -- Think Marriage -- Decide as late as possible Fooling yourself to believe you can predict the future or making decision based on premature information at hand, can be very costly to revert if you have to change plans afterwards.
So core principle #3 is about making decisions as late as possible – but not later!
One example is to tackle problems with a set-based approach, trying out more than a single solution in parallel, only later deciding on the best option. Or doing early prototyping and first getting customer/stakeholder feedback…
Lean Software Development -- Think Pizza -- Deliver as fast as possible Core Principle #4: Deliver as fast as possible – both internal and external.
It’s the-fastest-to-market who wins, not the biggest!
It helps to avoid “inventory” on the shelf, gives you feedback early and allows you to put the right things into the next (short) development cycle – maximizing customer value!
Lean Software Development -- Think Rugby -- Empower The Team Most challenging is “think different” probably for management – which is why we need “lean freaks” in management.
It is about the insight that you get the best results, if you empower the teams, the colleagues who know best how to get things done, how to approach a certain goal. It is about respect for people.
It is about getting rid of “process police”: you manage things, and you release people.
Lean Software Development -- Think Brain Surgery -- Build Quality In If you want to deliver fast and are dependent on fast feedback, if you want to maximize customer value, then quality cannot be an afterthought.
You have to build quality into the product and the process simultaneously.
And quality is more than defect-free software! It is about change-friendly code and architecture, about usability, about flexibility – it is about the integrity of the whole product.
Lean Software Development -- Think House of Cards -- See the Whole Finally, think from a customer perspective – think from the delivery side.
Don’t just optimize one area, but strive for making the whole a success.
Lean Software Development -- The 7 Principles To become “lean”, all of the 7 core principles have to be considered jointly, not “pick some, ignore the others”…
That’s why Lean and Agile make perfect sense in software development as well. Dear Automotive Industry — no offense meant! 😉