Models and Standards for Software (yes software)

In my last post I talked a little about the introduction of software quality and some basic concepts and descriptions. This time we will talk more about specific standards and models used in the industry.

CMMI (Capability Maturity Model Integration), is a model that describes the best practices for a company to improve their processes. It was created thanks to the fast increment of popularity in software development, in the beginning this process was only used in defense programs. The government financed a two year program where more than 200 hundred experts in the area gathered and created the most known model nowadays.

CMMI helps companies to have better communication inside the organization because everyone use the same language. It helps to improve clients satisfaction and companies can create more efficient projects with better quality. CMMI works with different maturity levels, each layer helps our project to achieve continuous improvement and better performance. According to the official CMMI web site the five maturity levels are the following:

Maturity Level 0: Incomplete
Maturity Level 1: Initial
Maturity Level 2: Managed
Maturity Level 3: Defined
Maturity Level 4: Quantitatively Managed
Maturity Level 5: Optimizing

Next we will talk about TSP/PSP which are a set of practices to allow software developers and programmers to administrate their time and be more efficient. Team Software Process (TSP) is a process that helps to create and improve team work, it allows teams to establish objectives, create plan works, give feedback of completed objective and finally delivered efficient, reliable and quality software. It focuses mainly in two primary aspects, creating a good team and managing this team in order to allow a better performance. PSP (Personal Software Process) is just the antecesor of TSP and it was more focused in improving the personal aspect of every developer, TSP is more team orientated as we can see.

PSP-TSP-CMM

Next we have ISO/IEC 15504 (Software Process Improvement Capability Determination), is a model that allows us to evaluate the capacity of our process of software development. Using this model helps us to create a better and more efficient project.

The international ISO 15504 measures 9 attributes in order to qualify the specific processes we want to improve. Those 9 attributes are the following and can be rated with 4 different points depending on the level of achievement (0-15%), (15%-50%), (50%-85%), (85%, 100%)

  • Process performance
  • Performance management
  • Work product management
  • Process definition
  • Process deployment
  • Process measurement
  • Process control
  • Process innovation
  • Process optimization

As we can see each attribute is directly related with different part of the cycle of software development therefore ISO 15504 is a model that helps to improve all this processes, leading to a better software with more quality.

ISO 15504 provides 5 different maturity levels that are abstracted from CMM, the predecesor of CMMI, those levels are the following:

  • Level 0: The process is incomplete;
  • Level 1 – The process is done.
  • Level 2: The process is manage.
  • Level 3: The process is establish.
  • Level 4: The process is predictable.
  • Nivel 5: The process is optimized.

Finally we have MoProSoft model to improve software, this is a specific model used in Mexico and was developed by the UNAM (Universidad Nacional Autónoma de México) and the Secretaria de Economía de México in the year 2001, it was created because non of the existing models could full-fill the national requirements. MoProSoft includes 7 lines of strategy in order to achieve an improvement of software development. The last one is designed to full-fill international capacities and the other six are the following ones.

Software quality 101

Quality standards are implemented or used in many areas for example in food chains, cloth or car industries, this allows different products or services to maintain certain qualities and specifications. Imagine you want to buy a car and you decide to buy the one you see in a specific exhibition, they will make another exactly the same just for you. The time has come and you go to see your new car but is not what you expected. The color is opaque, it feels slower and its not like the other even though you bought the same model, color and specifications. Thats why quality controls exist to ensure the standards and conditions that a product or service must meet in order to be delivered.

Diagram of software quality

Software industry is not the exception we must have strict regulations and standards of quality in order to develop the best software we can. Depending on the area it will be used it can cause severe damage or consequences. For example imagine a program used in a radiology device malfunctioning and exposing patients to more radiation than they should be. Or a problem in software used in air traffic control, leading to a crash. Now-days we depend on software to live our daily lives so its important to have a regulation to determine the characteristics and specifications software must have.

According to asq.org software quality focus mainly in the following 8 attributes:

  1. Functional suitability (Functional completeness)
  2. Reliability (Availability)
  3. Operability (Learnability)
  4. Performance efficiency (Resource use)
  5. Security (Integrity)
  6. Compatibility (Interoperability)
  7. Maintainability (Modularity)
  8. Transferability (Adaptability)

This 8 attributes focus on delivering a quality software with all the right specifications and standards. As we can see most of them involves more that just good coding or using the best programming practices, it also involves all the software development process from setting the focus of the project to the work plan and tests. Thats why we must have a quality process working in
parallel with our main objectives. We must register all the risks we are taking in the project and think more about the long term of our programs. Also we must implement unit tests, reviews and feedback of every objective completed of our project.

According to the QA PLATFORMS the most used international testing standards in software development industry are the following five:

  • ISO/IEC 29119-1: Deals with concepts and definitions of software (published: Sept 13).
  • ISO/IEC 29119-2: Deals with test processes in a product (published: Sept 13).
  • The ISO/IEC 29119-3: Deals with test documentation of the product (published: Sept 13).
  • ISO/IEC 29119-4: Deals with testing techniques and strategies (published: 2014).
  • ISO/IEC 29119-5: Deals with keyword-based software testing (published: 2015).

All this standards come with specific requirements we must meet in order to achieve this certification. Following this guidelines will help to prevent weaknesses in the process of developing software. Also it ensures our projects have al the specifications and attributes needed to work the best way posible. Thats why standards are important in the cycle of software development.

I am rich

giphy

In this chapter we finally see some of the projects finishing and before the imposible deadline imposed by Minister Belok. NNL was back and he asked Webster to see him with some urgency. Webster was a little nervous this could mean good or bad news. In the end it was a grateful surprise to Webster. Morovia was going public and the starting price for a share would be around 14 and 22 dollars. In the beginning Webster wasnt surprise until NNL remember him about the shares he earned when he signed for the job. So Webster is now rich. NNL asked  him if he wants to keep working in his job, because they had to renovate the contract because of politics. After thinking a little bit Webster declines the job and he points a person to be his succesor.

We learned that NNL name is Bill maybe related to Bill Gates the owner of Microsoft and xbox. He talks with Webster about finding a new country, maybe the United States, He thanked about Bulgaria, but someone has already bought it.

In the end of the chapter Minister Belok calls Webster by phone. He want to rent most of the building were Webster staff is working and move them to a smaller space. Minister Belok wants adopt a new business strategy called Lean and Mean, this formula is developed in failing companies and goes the opposite direction of Prosperous and Caring. So Webster hangs up, this is the first time we see him facing Minister Belok.

We can see Webster changing and learning about his experiences in Morovia and this chapter is a reflect of that. We see him more self-confident and with more guts.

tenor

 

 

New NNL

gThis is the last chapter of the book, in the end everything works well for Webster. Finally its time to leave Morovia.  He managed to finish a few projects and the others are in the right track. Everything is set to his successor.

After a big party we se Webster in his room.  He was thinking about his journal until someone knocked at the door.  Alonso Davici one of the managers was working with the press and he wanted to interview Webster.  Morovia was going to publish a new Journal called Aidrivoli Software Magazine and they wanted to feature Webster in the first issue.  After a few questions Alonso asks Webster if he wrote anything related to what he had learned, this would help so much with the journal. After looking at his journal Webster decides to give ti to Alonso, this surprised me a lot because Lahksa gave him than journal and it represented all what he had faced and learned during his time in Morovia.

S2e11_journal_1

The next day before getting on the plane he was thinking about Lahksa he hadnt seen her for a while. She didnt show up to say goodbye. After a few hours he arrives to Bulgaria. And Someone bought the country just like Morovia, they also had  a NNL called BNNL. A car arrives and takes Webster to see the National Leader. After he arrives Lahksa surprises him. And we learn that Webster is the new BNNL his team and lahksa gather all the money and shares they had and they bought Bulgaria. Webster also propose marriage to her.

Who knows what new adventures will face Webster.

65e3b5d84bb746a23cd2d8ecb64da34d

She is back

project-manager-1030x579

In this two chapters we meet a new character, Mr. Winnipeg  who is a famous writer who has a lot of books under his name. He ended up in Morovia the same way as Webtster. Lahksa puts something in his drink and he woke up in an airplane landing  in Morovia. Mr Winnipeg helps Webster in two huge problems. The first problem is Webster angry manager in on of his projects. He solves the problem in a strange way. He demotes the manager and offers him to work in a different area. In the beginning I didnt understand this, but then I realize he was scared and I discovered this not because I read it but because I have been in that same position. Fighting to finish a product and being afraid of letting down your team, the guy in charge of all the project and most important yourself, this is pretty scary. So we tend to hide this emotions with anger, because anger is acceptable in a working environment.

The other problem Mr Winnipeg helps to solve is problems with long meeting where people dont get to an agreement and lose time sitting in a place where they are not needed. So he comes with a series of rules and standards in order to boost the efficiency of the meeting for example having an agenda and jus asking the essential personal to assist to those meetings.

download

In the next chapter wee se Lahksa returning from his long trip with NNL. She is one of my favorite characters so I really liked seeing she come back and being part of the main history again. And she helps Webster with the biggest problem he has faced in all the book, Minister Belok. Who will be in the United States for about a year receiving a treatment for Herpes. It sounds weird but Lahksa put a powder in his drink and voila he has herper. In this chapter we also see Webster facing Minister Belok when he talk to him by phone and Webster just hang up the phone.  In the end Webster disolves all teams A and assign the people to smaller teams in order to reduce the time needed to finish the projects.  Maybe he will accomplish to finish some project in the deadline after all.

The most important part of software development

source

I dint like this chapter so much because its not related to the main story, we just see Webster, Kenoros and Belinda talking about Kenoros grade of each project. This grade is bases on the amount of time dedicated to the designing of the project.  When we talk about design we refer to dividing the project into parts or modules not talking about UI, color, fonts, etc. We see lower grades in projects with more people. Trying to find an explanation Webster asks to Kenoros about this situation.

We learn that projects with a lot of people tend to write a political document and call it design. We just needs a few people for designing the project, you cant put most of the team in stan by until designing team finishes their job. Thats why this stage is skipped in large teams. But thats a big mistake, this is one of the most critical parts in creating software, its like the foundations and steps we need to follow in order to complete our job.

galshir

Belinda once again saves the day an explains how we need to divide the project in the design stage and what advices we can follow. First of all we need to divide the project in chunks of almost the same size this way we have a proportional distribution of all the work needed. Also this chunks must make sense and wee need to order them in a the correct way. We can divide big groups into smaller ones and assign a chunk to each small team. But all teams must know what the others have done and what are they woking on. This way we dont lose time explaining everything to each team.

In the end we cant skip designing. A good design can save a lot of time.

Errors Errors Errors

tenor (1)

In these chapter we see Webster meeting a new character which in my opinion is one of the most interesting persons in the book. Maestro Diyeniar who is an expert resolving conflict, he used to be a teacher in kindergarten, so he had to deal with a lot of stressful situations and conflicts thats why they call him Maestro.

Along these three chapter Webster main focus is in understanding conflict and how to deal with it. We come across different reflections, but the most important thing is mediation. Mediation is easier than negotiation, because everyone wants to preserve their win conditions. Thats why people must understand they are on the same side and the conflict is in the other side.

A month has passed and we see staff members have different opinions about Diyeniar, some think he talks too much but others really like to be around him. Diyeniar have histories and songs for days. Webster main concern is that people are wasting hours in lunch time listening to him. So he arranged time to eat with him. Webster is shocked about how much histories Diyeniar know, I mean after two hours of telling histories Diyeniar forgets about eating his swandich and Webster had to tell a story of his own to let him eat. In the end of the chapter we see Webster trying to solve a problem between two members of a team. He fails, so we learn that we need a mediator with the same power as both parts with no specific interests.

200

In the interlude Webster feels guilty because of all the lies he has been telling to Minister Belok, Belinda has one of the best idead so far. Close all projects and give a 3 day full vacation to all team and staff members, Webster included. We see Webster going in a trip to Maestro Diyenar grandfathers hotel. During the trip Webster have a small breakdown, and he stops in the side of the road. After a picnic and a nap he realizes something is wrong in the projects, something can be improved, and he will not give until he finds out what can be done.

Summer Game Time

ZXgaUfW

In this chapter we have news of Lahksa she has been in traveling for 7 or 8 chapters.  She sends Webster team a document with al the Specifications from the FAA NASPlan which is a project similar to the one Webster needs to finish for the olympic games. But we have a problem NASPlan project was a totally failure, thats not all one of the managers from Websters teams is angry and is getting loud and abusive with his team. So Webster is thinking on how to talk with this manager and see if he can help. Belinda also tells Webtser how working in stressful situations serves as opportunities to learn. So they decide to create a team with experience in similar projects to work in air traffic control project.

Next day after the team have read the documentation they realized its poorly written, they cant obtain useful information from this paper because of this. But everyone thinks the documentation is useful and the problem is they cant understand the problem because of the difficulty of the final product.

tenor

In this chapter I realize Belinda is one of the most or the most wise of all the characters, she always have an answer for everything and no matter the situation she remains calm, I think its because she suffered from a burnout. She realized that nobody understood the documentation but everyone said they did because of fear. Nobody wants to admit the other its more intelligent and they understand the documentation but we dont. Documentation must have all details needed in order to understand the inputs and outputs of the project this way the user knows how it works.

Olympic Games in Korsjak

In this chapter we see Webster talking to Minister Belok again, yeah Minister Belok who is always trying to put difficulties in Webster projects and thinks Webster needs to push the teams even more. This time Belok is complaining about overtime hours, he thinks people are not working enough, they need to work more hours and increase monthly overtime hours. And thats not all, also Olympic games will be hosted in Korsjak in 2000, so they need to build a new air traffic control system, that can support three thousand landings and three thousand takeoffs. Webster is in a big problem he doesnt have any experience working in this type of projects.

giphy

Webster team starts to talk about how to deal with the new air traffic control and also the overtime hours. So they dig around information of past projects so they can see the relation between overtime hours and the time required to finish a project. We see something different from what everyone was thinking, overtime hours dont decrease the time needed to finish a project, this is shocking because it sounds logical if we work more ours we finish before. The reality its different we learn this when Webster and his team ask the oracle, the oracle responds with my favorite quote of the book so far “People under pressure dont think faster”. It makes more sense now it doesnt matter if we put more pressure or we make people work more overtime theres a limit in what people can do and how fast they can work. Pressure is not a good option to improve the efficiency of a team.

giphy (1)

 

Webster meets the “first programmer”

giphy

In this two chapters we meet a new different department that will consume more time and make the deadlines more difficult. We meet the audit group which are in charge of certificate all team projects to level three or more. Teams must follow certain rules or specifications. For example using a suitable documentation model. Audit group will go from building number one to number seven which is a problem for Webster, they will discover his secret teams and experiment. And thats not the only problem Webster have.

One of the project managers from the teams was following a different pattern for the documentation that the one required for level two. So that specific team was in level one. The reason behind this was very unique. The project manager found a shortcut where he could save some time in the step most programmers hate, the documentation. Webster needs to find a solution quick or the audition will consume months in order to take effect. We learn that not because you add an improvement to a project it means it will reduce the time needed. Improvements need time to take effect and sometimes its not worth it.

200_d

In the next chapter we meet the two persons in charge of the audit group, Webster goes to talk with them because he need a big favor. He needs them to pretend all groups are now in level 4 going to level 5 and ignore Webster secret teams. Webster finds out why people follow him and follows his orders. Webster care for his teams and work the best he can. Webster talks with Dr. Mennoti who he thinks is the boss of the audit group. Dr. Mennoti is a really nice guy who understands what Webster was talking about. Mennoti agrees to let Webster talk with his boss with the condition that Webserts old assistance started working in the institute Webster agrees and in the end Webster meets the president of the Institute Aristotle Kenoros.

Websters convince Kenoros to give him a letter that that he can give to Minister Belok. But in exchange Webster must give Kenoros a job, Kenoros hates his current job, he thinks its boring and it has no action. Surprisingly he is really good at coding, debugging and activities related to computer systems. Kenoros tells Webster he can susbtract time in the debugging stage, they can achieve this by designing systems in deeper way. This way teams will make less mistakes and cause less bugs.