MODULE 3 ia 2 Flashcards
. Illustrate the principle that guide process.
- Be Agile: Keep processes simple, work products concise, and make local decisions
whenever possible to save time and resources. Agile principles help teams adapt quickly
to changing project requirements. - Focus on Quality: Ensure every task produces high-quality results by emphasizing testing,
reviews, and feedback at every stage of development. High-quality outputs reduce rework
later. - Be Adaptable: Adjust your approach to fit project needs, constraints, and people.
Flexibility ensures the process remains efficient and relevant even in challenging
situations. - Build a Strong Team: Create a self-organizing team based on trust and respect. A
motivated team with clear roles and collaboration drives successful project outcomes. - Improve Communication: Set up clear mechanisms for sharing information and
coordinating efforts. Miscommunication can lead to errors and delays, so regular updates
and meetings are essential. - Manage Change: Establish formal or informal methods to handle changes effectively. A
clear change management process ensures that updates are controlled and documented
properly. - Assess Risks: Identify potential problems early and create contingency plans. Proactively
addressing risks helps avoid unexpected setbacks during the project lifecycle. - Create Valuable Work Products: Produce clear, unambiguous outputs that add value and
help the next team in the process. Work products should be practical, easy to understand,
and aligned with project goals.
- Illustrate the planning principles
- Understand the Scope: Clearly define the project’s scope to establish a clear direction
and destination for the software team. - Involve Stakeholders: Engage stakeholders in the planning process to set priorities,
timelines, and project constraints. - Recognize Planning is Iterative: Plans should be flexible and updated regularly based
on feedback and changes as the project progresses. - Estimate Based on Current Knowledge: Provide estimates based on the team’s current
understanding of the work. Vague information leads to unreliable estimates. - Consider Risk: Identify high-risk factors and plan for contingencies. Adjust the project
plan to accommodate potential risks. - Be Realistic: Account for human limitations, communication issues, mistakes, and
inevitable changes when making the project plan. - Adjust Granularity: Define the level of detail in the plan, with more detailed tasks for
short-term actions and broader tasks for long-term planning. - Ensure Quality: Specify methods to ensure quality, such as scheduling technical
reviews or implementing pair programming during development. - Accommodate Change: Establish a process for handling changes in requirements or
scope, including how changes are assessed and implemented. - Track and Adjust the Plan Frequently: Monitor progress daily and make necessary
adjustments to stay on schedule and address any issues.
- Describe the modelling principles
- The primary goal of the software team is to build software, not create models: Focus on
getting software to the customer quickly. Only create models that help in building the software
efficiently. - Travel light—don’t create more models than you need: Avoid creating unnecessary
models. Every model requires maintenance, so create only what is needed for faster software
construction. - Strive to produce the simplest model that will describe the problem or the software: Keep
models simple to ensure the software is also simple. Simple models are easier to integrate,
test, and maintain. - Build models in a way that makes them amenable to change: Build models with change in
mind. Ensure that models, especially requirements, are complete enough to avoid missing key
functions. - Be able to state an explicit purpose for each model that is created: Justify the purpose of
every model. Only create models that serve a clear and necessary purpose for the software
development. - Adapt the models you develop to the system at hand: Tailor the models to the specific
system. Different applications may require different modeling techniques based on their
nature. - Try to build useful models, but forget about building perfect models: Build models that
are useful, not perfect. Avoid excessive time on model perfection when it doesn’t contribute
significantly to the software’s development. - Don’t become dogmatic about the syntax of the model. If it communicates content
successfully, representation is secondary: The model’s primary goal is clear communication,
not strict adherence to syntax. As long as it communicates well, minor syntax errors can be
overlooked. - If your instincts tell you a model isn’t right even though it seems okay on paper, you
probably have reason to be concerned: If something feels wrong with a model, even if it
seems fine, trust your instincts and review it further to avoid potential issues. - Get feedback as soon as you can: Review models with the team early to gain feedback.
This helps correct mistakes and refine the model by adding missing features or clarifications.
- Explain in detail about deployment principles
Principle 1: Manage Customer Expectations
It’s important to align customer expectations with what the team can deliver. Over-promising
can lead to disappointment and negative feedback, harming morale. Naomi Karten advises
being careful with communication to avoid conflicting messages and ensure consistent
delivery.
Principle 2: Assemble and Test a Complete Delivery Package
Ensure the complete software package, including executable files, data, documentation, and
installation scripts, is thoroughly tested with real users. Test the software across various
hardware, operating systems, peripherals, and network setups to ensure compatibility and
functionality.
Principle 3: Establish a Support Regime Before Delivery
Plan and prepare support systems, including materials and record-keeping mechanisms,
before software delivery. Ensure that users can access timely and accurate help, as inadequate
or non-existent support will lead to immediate dissatisfaction.
Principle 4: Provide Instructional Materials to End Users
Along with the software, the team must deliver necessary training aids, troubleshooting
guidelines, and any relevant information about updates or changes in the software. These
materials help users understand and navigate the software effectively.
Principle 5: Fix Bugs First, Deliver Later
It’s better to delay the release of software to fix bugs rather than delivering a low-quality
product with the promise of future fixes. Customers will remember the issues caused by poor
quality long after the product is delivered.