Creating awesome apps in less than 4 days with SAP Build : Sprint1 Intensive Prototyping phase
The purpose of this blog is to give readers a glimpse into the day-to-day challenges, progress, and transformation achieved by joint Partner-SAP teams during the intensive prototyping phase of a Sprint1, a program consisting of a series of events created and managed by the SAP Co-Innovation Lab (COIL) with a virtual SAP multidisciplinary team.
My name is Joey Bronner, I’ve been a developer at SAP and a software architect at COIL for several years and I’m going to illustrate this phase using a recently completed Sprint1 event with an SAP partner: Sapphire, headquartered in the UK. Btw, in the rest of this blog “Sapphire” refers to the partner and not the SAP annual convention of the same name.
Before continuing my blog, I must also mention two things about the event we ran at Sapphire:
- It was a special kind of Sprint1 event, which we call Hack4One, because of a single partner. In fact, COIL offers partners who want to take it to the Next Level SAP the opportunity to have an exclusive event.
- The focus topic of the event was: low-code app development and automation, and Sapphire could perfectly count on SAP Build with its three pillars: Apps, Process Automation, and WorkZone to create its own apps for the use cases they submitted.
1/ Beyond the intensive prototyping week, Sprint1/Hack4One as a whole
Some of you may be wondering how we got into the intensive prototyping phase, and I can confirm that we followed the Sprint1 approach by first going through an Inspiration phase and an Elaboration phase. More details about the Sprint1 program can be found on sap.com.
During Inspiration workshops, participants were shown case studies from the business need to the creation in details of the corresponding app with SAP Build. Then they were invited by Hack4One coaches to backlog their own experience through various implementations in order to identify candidate use cases for an app.
During the Elaboration workshops teams defined use cases ideas in more details, for instance ins/outs, backend systems involved, personas, journeys, … to prepare for the future apps. Some scopes were a bit ambitious for 4 days of prototyping, others could be a bit more advanced. Coaches challenged teams with a little more technology or fun on top of the adjustment made 🙂
Sapphires participants also had access to a SAP Build training and certification curriculum a few weeks before Hack4One. Renaud Petit, a member of the extended team, kindly gave a few days before the prototyping week a hands-on enablement specifically on SAP Build for SAP Business One which was very useful for the use cases involving this SAP solution.
✍️ You got it! Sprint1 is not about hackathons but a real co-innovation program.
🏁 Ready, set, go!
2/ Coaching (4 days to go!)
So here we are with the 6 awesome Teams and their 6 awesome use cases on the starting line:
- Quick Stock Count
- Manage Exchange Rate
- Bin to Bin Movement
- Resource Management Co-Pilot for Pro Services
Through their code names, you can imagine use cases came directly from the real world, some of them seemingly simple at first glance but all of them having an immediate added value for SAP customers, be it all industries for some, or specific industries like Professional Services for others. Some targeted the SAP Business One ecoystem, while others will be soon ready to RISE with SAP on S/4Hana Public Cloud.
✍️ Be patient, Sapphire will disclose more use case details soon.
Now that we had 6 great use cases it was time for each team to work out a plan for the next 4 days, combining roles with business understanding on one side with the ones with some technical expertise on the other side for building the first version of the 6 future solutions.
✍️ Let’s face reality! No matter how perfect the 4 days-plan is, teams very often go through different stages, from euphoria 🕺, to skepticism 🤔, to frustration 😫 and then to happiness ✌️ at seeing progress and results!
Remember that failure is often a necessary part of the innovation process, and it is through our mistakes that we often learn the most.
By staying positive and open to the advice and alternatives proposed by the coaches, teams overcame the challenges of each stage and emerged stronger and more resilient than ever before. As always, the Hack4One team was there to help the teams come through the different stages.
So, let’s now dig into each of these stages illustrated with excerpts, day after day.
Monday, day 1 (Euphoria)
By the end of Day 1 each team presented to the coaches the plan and architecture that they prepared for their use case, based on their SAP Build knowledge.
The presentation of the plans included, as is often the case, questions and comments such as the following:
“We believe we could build the app in SAP Build Apps but also in SAP Build process Automation. Is that correct? Which one should we go for? Should we combine the two? What are Pros and Cons? Are there Implications? Restrictions.”
“Not sure the back-end APIs are good enough to build this. Should we rather go for a recorded agent?”
“You are right, it would be great to build these additional features in SAP Build Workzone but we never did it before. Is that realistic in the next 3 days?”
✍️ Experienced consultants are used to evaluating different alternatives in order to make recommendations to customers or choices for the implementations. This is their daily work. But training courses, even with practical exercises, do not always give participants detailed reasons why this or that tool was selected to reproduce each training exercise.
It was time for the Sapphire teams to do their own experimenting by building their own use cases. Certainly, the Sapphire teams had already learned a lot about each pillar of SAP Build in a very short time before the event. But nothing beats the experience gained by using solutions to build concrete examples. This is the only way to assess various alternatives and realistically estimate the workload and time needed to do it.
✍️ During a Sprint1, the coaches do not provide THE respective solution to each team but elements allowing them to make their own diagnosis and recommendations …to themselves. coaches, are available to make the impossible possible, but also to channel energies.
The Sapphire teams thus ended Day 1 euphoric but nevertheless a little in their thoughts.
Tuesday, day 2 (Skepticism)
On Tuesday, the teams typically entered a phase of skepticism, as they were facing some technical issues in implementing some of their most ambitious planned features.
✍️ This is the “dramatic” moment when theory is challenged by practice, when things that always work in the training exercises turn out for some reasons to behave totally different for one’s own use case.
The Sapphire teams were no exception here.
To facilitate joint work and avoid teams getting stuck on one or another problem, every morning Day 2 to Day 4 started – like on any Sprint1 event – with a quick 15’ scrum meeting between each team and the coaches. Three questions were asked by the coaches:
- How far are you?
- Any issues & questions?
- Plan for today?
All questions or challenge that could not be answered immediately turned into a concerted meeting between the team and the coaches to dig into the problem, discuss and explain alternatives, …
EXCERPT #1 to illustrate a challenge encountered by a team: Bot & Custom JS Script. From never coded yet to producing something now
❓ Question from blog author to one of the team members to recap from the event: You had two options for calling an API to get exchange rates. Can you explain the two different options and any challenges that came with them?
✅ Solutions to this : Not a single 1, but 2!
#1. SAP Build Apps
#2. SAP Build Process Automation
To do this with SAP Process Automation, you can use the standard SAP Exchange rate upload template in Microsoft Excel by going to Data Type > Currencies. Update the necessary field for the BOT to import the exchange rate. The process flow was created using SAP BTP, which was recorded off-screen.
In short, these two solutions would make a big difference eliminating errors while maintaining the exchange rate or creating records in a timely manner where business transaction postings are never affected.
✍️ The coaches’ door is always open, and teams can request an adhoc meeting at any time. Between two meetings the Hack4One team uses every minute to review issues, answer questions/requests from the teams in their dedicated communication channel with us, doublecheck by itself alternatives for a particular request before proposing it to one team, reach out to further SAP experts around the globe for more options, search for the proper tutorial or resource materials for one team, build a sample code for another, … …or just manages the event. Days are very busy for the coaches too.
By the end of Day 2 Sapphire teams received a great amount of coaching and support. They were able to overcome their ongoing challenges and continued making progress towards their goals. However, the skepticism had not yet completely disappeared when leaving the office.
Wednesday, day 3 (Frustration)
Although most of the teams had thoroughly validated and partially tested their approach by Tuesday eve, new challenges popped up the day after such as posting data to API.
✍️ D3 is usually a bit of a frustration day for the teams, as some unexpected problems occur while implementing certain features, when their members thought they could see the end of the tunnel.
EXCERPT #2 to illustrate a challenge encountered by a team: Oh wait, what’s this CSRFToken?
❓ Question from blog author to one of the team members to recap from the event: Since this was the first time utilizing the tool fully, what were your most challenging points you encountered?
💬 R: “Because our app required barcode scanning, the web preview was out of the question; instead, we had to rely on the “mobile preview” Build apps. All API calls had to use “Basic authentication” because the mobile preview does not currently support BTP authentication. While this wasn’t a major problem for read APIs, we ran into trouble when it came to POST APIs that required CSRF tokens until the “Build community” came to our rescue.” said Indumathi Thirunavukkarasu from Bin to Bin Team.
✅ Solution: The solution was to add the CSRFToken as an HTTP header in the REST API configuration. Set the Label and Key to “CSRFToken”, set Value type to “Text”, set Is static to off or false, and Is optional to on or true. That should then add the CSRFToken to the inputs on the Create record flow function. Making the header “Not static” makes it available for a formula or variable binding in the flow function configuration.
🔗 Detailed solution in the SAP Community Group (Passing HTTP Header to CREATE RECORD flow function)
👍 Thanks to Joe Binkley for helping us find a workaround for the team.
Thursday, day 4 (Stress & Solution finding)
On Thursday almost all challenges had now been identified by the teams and the respective technical solutions were within reach. But one could feel a tense atmosphere.
✍️ On last day before the demo jam, teams generally enter a phase of stress and solution finding. This alternates with satisfaction throughout the day in the form of cycles as solutions are found.
But the clock was ticking! And everything had to be realized, assembled, tested, fined tune. Not mentioning the IU had to be polished too! The day was going to be long, very long.
And as if that wasn’t enough, teams still had to prepare the demo on next day…
✍️ Sprint1 Demos last 6 minutes. No questions or interruptions are allowed. It’s both very long and very short. And the coaches don’t like slides.
The Hack4One team said there should be a strict minimum of slides: 1x for app positioning at the beginning, 1x for value added for customers at the end. That’s it!
✍️ For sure the best demo is the self-explanatory one. However, sometimes the best solutions become the worst demos. And prototypes with the biggest achievements at times become boring, overloaded or confusing to the audience. Tons of screens, ton of data, too fast …and the public get lost. Not so easy.
As is often the case during Sprint1 events, the Sapphire teams, made up mostly of functional or functional-technical consultants, were not sales pitch specialists or presales profiles either.
✍️ Live my life… Changing roles is also a very beneficial experience acquired during Sprint1 events. We’ll see later that in this exercise, which takes the participants out of their comfort zone, they often do well, even very well.
During the preparation of the demos, some questions often came up:
“How can we make sure that the audience understands immediately what this is all about?”
“What should we do if our app suddenly stops behaving as thoroughly tested? What about the final demo step not totally stable yet?”
Here again Hack4One coaches provided advice to each team. Until late in the night for some of them. In the end, the combination of all these elements contribute to creating a more immersive and memorable experience for the audience, ultimately increasing the chances of success for the pitch.
✍️ One of the strategies the Hack4One team often recommends to teams is to make a lasting impression on the jury by preparing a pitch that includes a well-designed performance on stage with team members playing the actual journey of their solution personas. By doing so, the pitch can become more engaging and captivating for the stakeholders in the audience.
For sure the best advice from the coaches to the teams was: make the demo fun! No audience can watch static and monotonous demos for hours…
3/ Demo Day !
Friday, day 5 (Tired but and happy)
On Friday morning, most teams arrived 2 hours before the beginning of the demo jam (!!) although most of them probably reached home very late on the night before.
All were focused. Some rehearsing their pitch in a corner of the room, others testing one last time. Most of them with dark circles under their eyes. All smiling.
Konstantin – as “Bob” the warehouse operator – & Kerry – as the warehouse supervisor – performing the Bin-to-Bin stock transfer in S/4 with QR code scan, voice-to-text quality notifications, and so on, on a new Mobile app built in 3 days!
✍️ The day before the demo jam, while the teams, some in full stress, others in all serenity, finish their app and finalize their pitch for the next day, the Hack4One team often has an idea on the level of preparation of some and others. Years back we sometimes had some concerns about a few teams. Will they make it? Will they manage to present something meaningful? Meanwhile we are not so surprised anymore to see how some teams make a big push in the last stretch, the last night, and manage to reverse the trend in a jolt of determination.
All the Sapphire teams put in a huge effort, sometimes late at night, to finish their apps even when there was a lot of work left to do for some of them. One team did not only delivered an app with the API-based approach they had initially opted for but also surprised us by constructing a second app over night with the same result; But using the alternative recorded agent-based technique. Very strong!
✍️ Obviously, all the work done by the teams with the coaches during the 4 weeks of Hack4One paid off!
👏 So, let’s give a huge round of applause and big thanks to the doers, the men and women behind the scenes: Diamil Dos Santos, Malika Sanoune, Onur Yildiz, Kurt Walters, Gerardo Cristian González, Jaramillo Pierre Canali, Jayash Joshi, Janaki Kandasamy, Szabolcs Bazso, Konstantin Shirokov, Indumathi Thirunavukkarasu, Kerry Dixon, Burhan Turgut, Richard Bourne.
4/ Key Takeaways
Sprint1 / Hack4One is a co-innovation program.
To use an analogy, the mechanic who makes the diagnosis may not be the best expert of all possible component(s) – which one(s) of them is the question – at the origin of an unusual noise, smell or vibration and therefore of an imminent breakdown. But he/she is able to immerse him/herself in the specific situation, the business and industry characteristics involved, the environmental conditions of a particular usage. And he/she has the experience to investigate and weigh the potential causes and then refer to the specialist of the suspect organ in order to jointly recommend a solution. Just like an experienced consultant.
The Sprint1 / Hack4One team is a multi-disciplinary virtual team composed of “mechanics”, some for the diagnosis / validation of the use case, others with specific solution, line of business, industry, or market segment expertise, you name it. This to best address each use case requirements in a tailored manner and provide guidance to partners to deliver excellent solutions for SAP customers.
In fact, there is a big step between being trained on a solution with rich features and having the expertise to choose the most appropriate one(s) to fulfill concrete requirements. Nothing better for a consultant or a developer to gain the necessary experience than to put his hands on a concrete case from his/her everyday life. All the way to debugging with coaches together, if needed. The best way to learn is to do!
Some Sapphire teams had the opportunity to seriously experiment with our approach. One of the participants – he will recognize himself – told us the night before the demo (!?) : “if I had well measured from Day 1 the advantages of the technical alternative B, I would not have done it with the alternative A”. True. But on D1 he didn’t fully grasp the advantages of alternative B. (and would probably have done the experiment later in a riskier setting). In the end he surprised the whole of us at the demo jam with both alternatives implemented in two separate apps: the A implemented in three days and the B in a few hours over night. Chapeau!
To wrap up on a note about the present Hack4One focus topic: Low code applications development and automation with SAP Build. Sapphire participants were mostly functional or functional-technical consultants. So, the ideal profiles for such a solution. In general, they did very well and many of them were even surprised by what they were able to construct by themselves given their limited or no technical experience. So, the transformation is underway. At the same time Sapphire was also able to measure the importance of still having some technical profiles on board, on the one hand for the administration and integration of the different systems involved or the configuration of APIs in backends, on the other hand for a knowledge of the basics of apps development in general.
In conclusion, I would like to say THANK YOU to everyone who helped make this event a huge success. The demo jam was not the end of the journey but the beginning of a much bigger one. Let’s go for it!
Made it! All teams did a great job. Stakeholders’ jaw fell on the floor. Teams received a well-deserved reward with a bottle of wine and a dinner at the top of the Shard Tower. (Team Bin-to-Bin here with Miliau)
Was this blog helpful? Want to get a glimpse in Sprint1’s Inspiration and Elaboration phases too? Write a comment. Thank you!
5/ External links
- Sapphire post on LinkedIn
- SAP PA post on LinkedIn
- Solving real business problems in days with Low Code!
- Sprint1 Calendar
- BTP Destinations and SAP Build Apps to integrate SAP C4C & S/4HANA
Thanks for reading!
👋 See you in the cockpit.
Read the “Prototyping Week” blog summary with our partner Sapphire in London, and immerse yourself in a week-long experience of prototyping and innovation.
Could we get a glimpse at the resulting application(s) ? Would it be possible to share those apps on GitHub ?
Unfortunately the apps produced are not open source... but you may hear from some of them in the coming weeks as they are well aligned with some customer needs.