Software that fits is the ethos of Skyscraper Software. This site explains the ideas behind the concept of creating software that fits.

One of the main goals of everything we do at Skyscraper Software is to delight our customers. By following the principles of lean software development we try to achieve this goal.
Our customers can be businesses or people. The goal is the same, the result must also be the same: software that fits. In the next sections below we explain our overall process of lean software development, impact mapping and acceptance test driven development (ATDD), and how it helps us create software that fits.

lean software development


LEAN SOFTWARE DEVELOPMENT

To describe lean software development on one page is almost impossible, so we've focussed on what we think are the most important features of lean software development.
If you want to know more about our other lean development ideas, or you want to discuss something just get in touch with us.

DELIGHTED CUSTOMERS

To be able to get delighted customers and excellent software products, you've got to understand the business and have a very good understanding of technology.
For a product to be developed successfully, during the development information has to flow. The quality of the information flow between the customer and the development team, and among the team members determines the success of the product development. And in the end if the customer is delighted.


PEOPLE

At Skyscraper Software we always focus on people, not on systems. Be it employees, customers or suppliers, always respect people.
Excellent software products are developed by people with expert technical knowledge in many areas. Technical experts are first of all member of a team and second they are specialist in a certain area.


KNOWLEDGE

We always focus on maintaining and creating knowledge within our organization. Technical excellence is something we always strive for.
And also, developing a product is all about learning. So if we defer decisions, we can learn more. Which comes down to just-in-time commitment and decision-making.


DELIVER FAST

Deliver fast is not about haste. It's about being able to respons to customer's needs, in a reliable manner and again and again.
To able to deliver fast, and at excellent quality, processes need to be continuously improved. In doing so, we must guarantee that quality is build into our products.


more on lean software development

get in touch

impact mapping

IMPACT MAPPING

This section describes how we start our product development process, with impact mapping.

IMPACT MAPPING

An impact map can best be defined as a mind map which visualises scope. And also very important the assumptions it is based on. It is a mind map which is created during a discussion which is centered around four questions: why? who? how? what?

  • The answer to the why question, defines the goal. Why are we doing this?
  • The who question answers for which actors we're doing this.
  • The how question is all about determining the impacts we're trying to create.
  • The final question, the what, is about the deliverables, features and other activities.


WORKSHOPS

To start the impact mapping we usually organize a workshop, where we'll try and answer the four questions. This workshop can take half a day, or a couple of days to complete.
It is important that technical experts and business people are present at the workshop. This is the starting point of the whole product development, so it is esential that everything is clear for everybody involved in the development.
In this workshop we try to define the real goals and create the impact map, complete with among other things budget, measurements and priorities.


MINIMAL VIABLE PRODUCT

When we've identified the most important needs or features, we're going to get started on the development of the minimal viable product. Making sure the customer can use most important features the software product as fast as possible. This is where the build, measure, learn cycle starts, so that we can verify our assumptions early on and move forward from there.


ACCEPTANCE TEST-DRIVEN DEVELOPMENT

ATDD is the development methodology or process we use to implement features into a software product. It is important that developers and testers understand the customer’s needs prior to implementation, and ATTD helps them with this.

ACCEPTANCE TESTS

The whole process starts off with analyzing the features and requirements, before a single line of code is written. The developers create acceptance tests are then created and use them to implement the business goals of the system. Before code is written, the developers move on to the test driven development part of ATDD. Unit tests (see later on) are created and in the end code is produced. When all unit tests concerning the acceptances test, or feature, are ok and implemented the requirements should be met
When the acceptance test is failing it means that requirements are not met. As soon as an acceptance tests is ok, the requirement is met. And we can move on to the next test or feature.


UNIT TESTS

Unit tests are part of the test driven development process, which starts after an acceptance test is created. Here also, tests are written befofe any code is created which means tests will always fail at beginning. Then just engough code is written to make the tests pass and the developer moves on to the next unit test. Or if there are none, the next acceptance test or feature.
This way developers can use unit test among other things to create easy-to-maintain code.


There is a lot more to ATDD as explained above. Want to know more, just get in touch