The Software Life Cycle

A framework is a Standard way to build and deploy applications. The Software Process Framework is a foundation of complete software engineering process. A generic process framework encompasses  five activities which are given below one by one:

Communication: Understand stakeholder intent and requirements.

Always prepare for meetings.  If the project domain is unfamiliar, do some research on the topic and provide the findings to other members of the team so everyone understands the topics discussed. Appoint a person in charge of every meeting, prior to each meeting. Face-to-face meetings work better, but sometimes not always an option. Take notes, meeting minutes, and document decisions. Distribute notes and decisions to attendees. Upload the documents to a share network resource, in case you need to review prior decisions and notes. Always stay focused throughout the meeting; modularize the discussion. Once something is agreed to, move on; move on even if not agreement, or no clarity (table item). Listen to the needs of the client, do not start to form answers until they are finished. Thus,  there is less of a change you might miss an important detail. Use professional body language: do not roll your eyes nor shake your head.

Planning

Project management software can be used during the lifespan of the project to monitor work on each module, forecasting the development time, estimate required human and technical resource hours, and calculating a critical path for the project. Over planning wasted time, and under planning creates chaos. Work with the stakeholder to understand what is and is not in the scope of project.  Involved stakeholders in discussions, when appropriate. They will help to set priorities, deadlines, which keeps the project on time and on budget. Iterate on the planning, don’t try to do everything at once. Break down tasks into small tasks and have plan how to complete each one. Incorporate risk management throughout each phase of the project; consider what risks are possible as you plan and be realistic.

Managing the quality of a software project and its development processes must meet the requirements and satisfy the user’s experience. Define how you will achieve quality and accommodate change. Track the project of each iteration of the project often;  make adjustments each time plan reviewed. Don’t leave team members out of planning.

Modeling

Adapt models from another project to this one, making needed changes. Explain why you are building each model and build a useful model, not perfect model. Thus, the built model so they can be changed. Do not create models that are not needed, this may waste time and take the project out of scope. When presenting a model ask for feedback on the model by all team members. Encourage team members to share feeling about the state of the model. Ask them what they like and what they do not like.  Using structure charts during the implementation of a system will show users the program modules and the relationships among them. Structure charts consist of rectangle that represent the program modules, with arrows and other symbols that provide additional information. This helps when the analysts and programmers understand the purpose of each module during the designing and testing each module before being run on the entire system.

Construction

Programmer can use the principles of software engineering to manage and improve the quality of the finished system. Working from a specific design, a program will use the purposed programming language to transform the program logic into a program module which the rest of the group can work on simultaneously. To simplify the integration of system components and reduce code development time an integrated development environment (IDE) will make programming easier. Coding each program must be tested to make sure it will function correctly, after the programs will be tested in groups, and finally running the entire system.

Before you write first line of code, make sure you understand problem to be solved and the design principles. Choose the best programming language for this problem, then select programming environment. Select data structures to match design and keep conditional logic simple and minimal. Follow coding standards at your site for variable names, this will help ensure the code can be easily maintained in the future. Write self-documenting code to help yourself and other developments. Create unit tests to help reduce bug and problems in the software. Create nested loops so they can be easily tested. A successful test is one that discovers a bug.

Deployment

Once delivered to the client see if the client can provide feedback on how the application is work. Using the basis of the clients feedback we modify the products for supply better product. To ensure a successful deployment, if possible, try to use a staged deployment model:

#1- Development: A local developer’s workstation.

#1 – Testing: An integration environment where developers merge changes to test that they work together to create a working application. Unit testing will need to be performed on an individual program or modules. This will help to identify and remove execution errors that could cause the program to terminate abnormally, and logic errors that could have been missed during the desk checking. Integration testing will need to occur on two or more programs that might depend on each other.

#3 – Staging: This is where tested changes are run against a production-equivalent environment with data to ensure the application will work properly

#4 – Production – The live production environment.

If an environment of stage is not kept up to date this can lead to out of data testing and possible incorrect environment factors causing promoting a model or application to fail, thus causing rollback  in development.

Why Projects Fail

Executive Management, project Managers, and Team Members are the three sets of players for every project.  Project Management Institute, Inc. identifies four reasons why projects fail: lack of visibility, unclear objectives, resource workload, and gaps in communication.

Visibility into a project entails identifying tasks, reports, and schedules posted in real-time.  Many projects fail because key players are not informed of progress and updates thus leading to confusion.  Unclear objectives entail setting realistic goals and strategies.  Many projects fail because a lack of vision leads to chaos.  Resource workload entails the execution of a reasonable workload.  Overworked employees get burned out and ultimately quit.  Gaps in communication leaves key players uninformed.

Good practices should be communicated with the onset of every new project.  Executive Management must demonstrate effective leadership.  Project Managers must communicate to management and team members.  Team members must receive proper communication so they can effectively perform their job. Project Managers have been known to be overconfident in their abilities.  Overconfidence in meeting budgets, schedules, and project objectives can compromise the project and/or lead to disaster.  If new evidence presents itself along the way, do not ignore it.  Knowing when new evidence needs to be considered to re-evaluate a project could be crucial to success.

Due to eminent failure and unrecoverable costs, knowing when to pull the plug on a project may be a necessary evil.  While objectives need to be prioritized, it is important to understand that priorities and objectives change.  Projects require constant monitoring.  While these four points don’t explain everything that could go wrong, it serves as a reminder for all of us to consider.

John Brown, Abolitionist

Deeply rooted in Christianity, Abolitionists generally promoted nonviolence in their pursuit to end slavery. After the passage of the Fugitive Slave Law in 1850, some turned to civil disobedience to invoke awareness and social change.

A middle-aged Abolitionist named John Brown was quite certain slavery would never end without bloodshed that it prompted him to stage two infamous antislavery crusades, the Pottawatomie Massacre and the standoff at Harper’s Ferry.

John Brown’s actions caused great panic and fear throughout the South, it elevated him to martyrdom via antislavery sympathizers as Brown gave the ultimate sacrifice, and intolerance to our leaders. Whether a terrorist on a suicidal mission or a religious fanatic on a mission from God, John Brown was captured and found guilty of treason. Whatever slavery may be to our Republic, it did not excuse anyone to commit violence, murder, and most importantly, treason. John Brown’s actions further intensified tensions between the North and the South.

American Civil War: Fugitive Slave Law

I am currently taking a history course, HIST 335-50 Rebirth of Freedom: The Civil War and Reconstruction, at Metropolitan State University. We are learning more of the political, social, and cultural conflicts over the institution of slavery and how it assisted in the outbreak of Civil War. I find the study of American history fascinating, especially when I see how far we’ve progressed in human rights in regards to race, gender, and religion. Yet, there still is much more work to be done. This first post is about Fugitive Slave Law, I hope you enjoy it!

Southern farmers of the nineteenth century achieved agricultural superiority in fertile land, ideal climate, and the purchase of slave labor imported from Africa. They grew and harvested a variety of crops, mainly cotton, that resulted in a unique culture with enormous wealth and prosperity. This unique culture was so dependent upon agriculture for its survival that it sought ways to protect its interest, from advancements in machinery to the management of its slave labor force.

The life and treatment of slaves varied greatly throughout the South, forcing many slaves to run away from their homes. Owners utilized a variety of means to recuperate their “escaped” property, including cash rewards and the Congressional passage of the Fugitive Slave Law in 1850.

The American Constitution bestowed upon its citizens the right to own property, but to own a human being was controversial and viewed by many Northerners and Abolitionists as an extreme violation of basic human rights, furthering ideological disparity between America’s North and South.